r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!REBOL3 GUI]

Pekr
6-Feb-2010
[486x2]
My take on naming - I will probably learn anything we come-up with. 
My english is pretty weak, so I am not a good measure, but I never 
ever used word FACET. I might have old brain already, but I always 
forget what it means. And I can assure you, there will be many such 
users as me. So more general naming would not hurt. It is really 
laughable, like we use special word (FACET), and then in its docced 
description to explain its meaning we use words like attributes, 
properties. So - why use FACET at all then? 


Quite contrary though, I was able to remember FACED. It sounded for 
me like sticked to the face instance :-) Anyway - I think that we 
have much more important things for the GUI to work on. And good 
docs with some diagram might be worth a thousands words ...
Henrik - who made that list, and how old is that?
Henrik
6-Feb-2010
[488x2]
I made it, and it's about 15 minutes old.
Going to add some more...
Pekr
6-Feb-2010
[490]
Henrik - at the beginning of this group, I reposted some of your 
older general notes about overal planned architecture changes. I 
think that it might become part of your document ...
Henrik
6-Feb-2010
[491]
Posted some of that. Still a lot left to do. Feel free to comment 
in here.
MikeL
6-Feb-2010
[492]
Henrik... great list ... not sure that the problem with field tabbing 
is in it or not.  In R2 tabbing went to hidden fields which made 
them visible.
Henrik
6-Feb-2010
[493x2]
That is specifically not the case here. Hidden faces are supposed 
to be skipped for tab navigation.
I think some of the requirements are more easily described as state 
machines. That makes it possible to implement them directly.
MikeL
6-Feb-2010
[495]
Great - thanks for the clarity..  Does anything about multi-lingual 
support need to be stated here -  is that inherently obvious or covered 
elsewhere?
Henrik
6-Feb-2010
[496]
No statement on multi-lingual support yet. Are you referring to input 
or simply the text language used in the GUI?
MikeL
6-Feb-2010
[497]
Only the text language displayed in the GUI.   If there is no position 
on GUI text language or user input  then I suggest that a statement 
 of same  belongs in R3_GUI_Specs so that it continues to be addressed 
or specifically ignored ... but will not be a surprise to new readers.
Henrik
6-Feb-2010
[498]
ok, good
Pekr
6-Feb-2010
[499x3]
henrik - perhaps inside-face could be called within-face? We already 
have within? function in rebol ....
other than that, it seems to me, there is way too much of high level 
functions ... I wonder if we really need all of them :-)
btw - what is the difference between freezed and disabled face?
Henrik
6-Feb-2010
[502x3]
We really need all of them. Badly. I use all of them in the VID Extension 
Kit.
A frozen face does not respond to input, but is otherwise normally 
visible. A disabled face is visibly disabled. Frozen faces may not 
be necessary, but they are a first step toward creating a GUI layout 
editor.
I think styles need to go in a separate document, or it will be very 
long.
BrianH
6-Feb-2010
[505x3]
Some of the global functions could be limited to the scope of the 
gui module and not exported.
Don't know which ones yet, just saying.
It's good to see someone going over the gui docs - the existing ones 
got a bit scrambled when someone reorganized the wiki with no understanding 
of the gui model. Docs for Gabriele's and Carl's guis were mixed 
together and the result made no sense.
Henrik
6-Feb-2010
[508]
For now, I'm ignoring the docs and sticking with the source. As the 
GUI system develops, we'll write new docs.
Graham
6-Feb-2010
[509]
Who is able to go over the GUI docs to fix the mess?
Henrik
6-Feb-2010
[510]
Seems that an R3 face does not store its parent face. In order to 
traverse faces freely, the parent face must be known. Ideas?
Graham
6-Feb-2010
[511]
So, what fields are there that relate once face to another?
Henrik
6-Feb-2010
[512x2]
Inward there is FACES, which is the block of subfaces. Outward there 
is nothing. It should be easy to add, but maybe there is a reason, 
it's not there.
I don't want to use the path from the window root, as the face object 
may be the only reference you have.
Graham
6-Feb-2010
[514x2]
so you can go down but not up ...
Seems an omission ...
Henrik
6-Feb-2010
[516x4]
ohh... it's not inside the face object. there's even a PARENT-FACE? 
function.
face/gob/parent/data
not inside = not inside the root of the face object.
ok, PARENT-FACE? returns an error on window face. I wonder if it 
should do that.
Graham
6-Feb-2010
[520]
because there's no parent?
Henrik
6-Feb-2010
[521x3]
yes. it tries just to get the path, which doesn't exist.
one must ask for FACE/DATA/GOB/PARENT first
I'm also kind of expecting that the R3 GUI no longer uses objects 
for panes. That simplifies the code a little bit.
Graham
6-Feb-2010
[524]
Just blocks ?
Henrik
6-Feb-2010
[525x3]
Either blocks in FACE/FACES or FACE/FACES doesn't exist. Some parts 
of a face is built dynamically as the layout is made, so if the part 
is not needed, it's not there. Yay for the ability to extend objects, 
I guess. :-)
The window face needs to know which face is the one tabbed to. This 
means it has to be extended with TAB-FACE. I wonder where it's best 
to do that...
Got basic face traversal working: LOCATE-FACE, NEXT-FACE, BACK-FACE, 
TRAVERSE-FACE, INSIDE-FACE?, FIND-RELATIVE-FACE, GET-TIP-FACE are 
now ported from the VID Extension Kit.

Requires no modification to VID3.4.

It can be tested here:

do http://rebol.hmkdesign.dk/files/r3/gui/traversal.r
BrianH
6-Feb-2010
[528]
I agree with Pekr that WITHIN-FACE? is a better name than INSIDE-FACE?, 
but you might disagree.
Henrik
6-Feb-2010
[529x3]
Next step is to store the tab-face in the window face, some key event 
handling and GOB display of a tab frame to get actual tab navigation. 
I imagine it could be nice to stow away different items in the window 
face, i.e. window related information. Suggestions?
BrianH, I'll change it.
Done.
BrianH
6-Feb-2010
[532]
I wish I had the time to review the GUI code right now, but I'm working 
on LOAD of compressed scripts/modules.
Henrik
6-Feb-2010
[533]
no worries. I need to spend the next 24 hours on another project. 
This was just to kickstart it.
BrianH
6-Feb-2010
[534]
Anything related to LOAD requires a lot of thought, since the code 
is so optimized. Tradeoff for efficiency, I guess.
Henrik
6-Feb-2010
[535]
There are a few changes in this, from the VID Extension Kit: All 
error generation is removed and replaced with NONEs. This was due 
to how VID is not pure enough a structure to work in. Consistency 
in the face tree for R3 GUI seems much better, but also because only 
a few styles exist and they all adhere to structure.