How to use system/*
[1/5] from: jasonic:cunliffe:verizon at: 26-Dec-2001 10:38
My curiosity inspired by the recent stylize/deep thread, I started poking around in scripts and at the console with Romano and Paul's examples. I decided to investigate more fully: write %vid-dump.r read system/view/vid/vid-styles ok.. ..impressive: Can anyone please suggest ways to approach this? thanks ./Jason
[2/5] from: brett::codeconscious::com at: 28-Dec-2001 8:00
> write %vid-dump.r read system/view/vid/vid-styles > > ok.. > ..impressive: Can anyone please suggest ways to approach this?
Well here's a leg up. system/view/vid/vid-styles appears to me to be the master stylesheet where BOX, FIELD, AREA, etc live. It is a block of pairs, each pair being the style name and the style definition as an object. This style definition is a smart template for making VID faces. Stylesheets can be created with the STYLIZE function. You can see all the styles listed in derivation order in my vid-ancestry.r program which also makes an attempt at showing the full definition of the style as it might have been given to STYLIZE. Most of the styles use a feel object. For the master stylesheet styles (vid-styles), most of these feel objects live under system/view/vid/vid-feel. If you right-click on a style in vid-ancestry.r you are presented with the feel object of the style, if the program can it will identify which feel object it is. In my mind I have this picture of the life and times of a style: (A) The style definition (a block of VID dialect) (B) The style object created from the definition (A) and stored in a stylesheet by STYLIZE (C) A face made from the style (B) by execution of LAYOUT. Something to note is that the styles contain fields that are relevant only at different times in the style's "lifecycle". In (B) the style object, there is a field FACETS which contains most of the definition from (A). There are also fields here named WORDS and INIT which are used by LAYOUT. Finally at (C) things like COLOR, TEXT etc are relevant. At some point you should read through the source of LAYOUT the function that ultimately makes use of all these styles. And you can have a read through my vid-notes.r program which is in bad need of rewrite, has some misstatements, but does have some clues. It has a big weakness in that it has not distinguised between (A), (B) and (C) much at all. Both of my programs can be found in the docs folder of my rebsite "Code C." Brett.
[3/5] from: jasonic:cunliffe:verizon at: 27-Dec-2001 18:42
> Well here's a leg up...
Hi Brett Thanks. Great answer. Lots to study and explore. A GUI browser for system exploratin and editing would be useful. Anything being worked on? Am I right in understanding that VID is just one possible GUI dialect based on /View developed by RT? Others might be like Max's currently suspended Glass project, etc. If so do you see as the tradeoffs for using VID vs. other developemnt [Glass-like]? How nice would be to walk into the bookstore and find a fresh copy of REBOL/View-In-A-Nutshell.. cheers ./Jason
[4/5] from: brett:codeconscious at: 28-Dec-2001 12:15
> A GUI browser for system exploratin and editing would be useful. > Anything being worked on?
Volker suggested a comprehensive tool too. I haven't heard of any other activity. I thought of a commenting or annotation system to help me record what I found where could be useful. Something that just associates a path with a string, with some set/get functions. So that one could do something like: get-comment system/view/vid/vid-styles and get a response like: "VID Master Stylesheet." These functions could then be called by a comprehensive tool or added into HELP. The set function could validate the string to ensure that if it contained newlines, that it would follow the make-doc format. For bonus points a network aware version might allow people to colloborate directly from the HELP function or the comprehensive tool. My favourite exploration tool is the extended help patch by DocKimbel. Romano's slick looking monitor.r is useful too. I also tend to: write clipboard:// mold :layout and paste into my usual text editor (Notetab) so that I can browse and create small experiments quickly. The exploration tool I use is guesstamation - a module in my brain that generates weird ideas which are subsequently tested against Rebol queries.
> Am I right in understanding that VID is just one possible GUI dialect
> on /View developed by RT? Others might be like Max's currently suspended > Glass project, etc.
Yep. There's something in one of the RT documents that says something like that.
> If so do you see as the tradeoffs for using VID vs. other developemnt > [Glass-like]?
If I'm not wrong I think VID is the only released GUI framework so far for Rebol/View. So for me there is not a lot of choice :) Once you accept the face paradighm of Rebol/View, VID shows itself to be very sophisticated at producing such face models. However, I'm sure many of us have used other GUI frameworks where the role of GUI control developer vs GUI control user (application developer) is far more clearly defined than in VID - so maybe we feel VID is not supporting us well in this respect. But then such frameworks (presuming some are created) where the roles are more clearly defined will have a tough time against VID in attaining the X-Internet vision because VID and it's machinery are so concise. It will be interesting too see how things develop. BTW, I'd like to see a GRID style for VID that may have to sacrifice the flexibility of LIST in order to gain ease of use. I suspect GRID if it existed would end up being one of the most used styles in VID - probably useful for 80% of applications. The only risk to GRID would be that it could end up too bloated. If people need too many features for a single GRID style then maybe there is a way to extend a basic version with functionality on demand.
> How nice would be to walk into the bookstore and find a fresh copy of > REBOL/View-In-A-Nutshell..
[5/5] from: greggirwin:mindspring at: 27-Dec-2001 20:22
Hi Jason, << A GUI browser for system exploratin and editing would be useful. Anything being worked on? >> Romano's AnaMonitor is out there, I think Bo wrote an old one for /Core originally, and Ammon plans to include one with RIDE. --Gregg