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

World: r3wp

[!REBOL3 GUI]

Rebolek
5-Mar-2011
[6501]
Pekr, experimentation would definitely not be wasted, we know about 
the keyboard-navigation problem, but there still may be lot of bugs 
we don't know about, like those two Graham and Claude found yesterday 
(thanks again!)
Kaj
5-Mar-2011
[6502]
Danger, Will Robinson! Better not call Arab countries rare
Pekr
5-Mar-2011
[6503x2]
Kaj, I am OK with that :-) I thought about them rare as in - rare 
REBOL usage :-)
When drawing style is going to be fixed?
Kaj
5-Mar-2011
[6505]
Unicode should change that
Pekr
5-Mar-2011
[6506]
Jocko - very good achievement with the demo.
Rebolek
5-Mar-2011
[6507]
Drawing - next release I think.
Pekr
5-Mar-2011
[6508x3]
Is my understanding of box model correct? The GOB size is maximal 
size, and it contains content area, which is being called viewport, 
plus padding, plus edge, plus margin?
According to the following doc, Richtext is improved upon what was 
available with pre A100 releases? http://www.rm-asset.com/code/level1/r3-gui/richt-text/
As there now seems to be available info like glyph-metrics, is it 
possible to get nicer text rendering? Or is the nicer text rendering 
unrelated? Not being skilled in that area - what is kerning info 
etc. good for?
Kaj
5-Mar-2011
[6511]
Kerning is the adjustment of the distance between glyphs
Henrik
6-Mar-2011
[6512]
Is there anyone for who, the code in this report does not crash:

http://issue.cc/r3/1866
Pekr
6-Mar-2011
[6513x2]
works here. With priori release I get rebol level error, stating 
something about copy ....
btw - this simple design shows one aspect we should adress - too 
many lines too close together. I wonder if there should be panel 
style with no borders.
Rebolek
6-Mar-2011
[6515]
there are and they're called HTIGHT and VTIGHT
Pekr
6-Mar-2011
[6516]
Rebolek - I am not sure. Aren't TIGHT styles using different metrics?
Rebolek
6-Mar-2011
[6517]
yes they use. Ok, we can make *PANEL borderless and call current 
panel for example *FRAME
Pekr
6-Mar-2011
[6518x2]
I remember style of such a name from some prior gui attempts, and 
it used tight spacing between the elements. What I am looking after 
is precise copy of vpanel, hpanel, with just zero graphics, or at 
least different border
I can see there is a backdrop style, but dunno what kind of functionality 
it uses ....
Henrik
6-Mar-2011
[6520]
yes, naming should be:

tight: no spacing, frameless
tightframe(?): no spacing, frame
panel: spacing, frameless
frame: spacing, frame
Rebolek
6-Mar-2011
[6521]
it's windows backdrop, kind of special style
Henrik
6-Mar-2011
[6522]
Pekr, backdrop is the window back drop. it's automatically added 
to any window to force proper redraw of the entire window frame.
Pekr
6-Mar-2011
[6523]
hmm, there seems to be so much of colors, etc. I sometimes almost 
feel, that we overload GUI once again. In R2, there was a face. We 
introduced gob, as a means of having smaller object in memory. In 
fact, there is a face linked to each gob, no? And just print recent 
styles structure - it is now bigger than R2's face. And you also 
don't use 'intern for things which could be shared between the instances 
= wasting memory again?
Rebolek
6-Mar-2011
[6524]
You're confusing GUI with graphical subsystem. In R2, face was used 
in graphical subsystem, R3 uses gob! instead. Face in R3GUI stores 
all GUI-related informations and cannot be compared with R2 face.
Pekr
6-Mar-2011
[6525]
R2/View starts at 7.4MB here. And running RebGUI Tour.r (containing 
all styles), goes to 16MB. R3 starts at 2.4MB, running all-styles.r3 
goes to 11.8 MB
Henrik
6-Mar-2011
[6526]
Also, the size of the face structure is not at question. It hardly 
eats any memory, a few bytes at worst.
Pekr
6-Mar-2011
[6527x2]
Studying GUI I have following psychological problem - I never know, 
what possible elements it might contain. The problem is evident, 
when you create style using stylize. Even Carl was aware of that, 
and e.g. for actors he created comments, so that user know, what 
argument it takes. Looking at various styles, I always wonder, if 
I can make any facet I want, or is there any MEGA FACE object, containing 
all possible fields? :-)
e.g. look at button facets:

	facets: [
		init-size: 28x28
		bg-color: 80.100.120
		border-color: 0.0.0.128

		pen-color: ; set by on-draw
		area-fill: ; set by on-draw
		material: 'chrome
		focus-color: red
		draw-mode: 'normal
		materials: none
		face-width: none
	]
Henrik
6-Mar-2011
[6529]
There is no limit to what facets you can create, but facets are inherent 
to the style as tools for storing intermediate information for draw 
blocks, states, etc.
Pekr
6-Mar-2011
[6530]
so many colors above. I wonder if draw blocks, containing drawing 
info, should not contain static varialbe definitions? E.g. focus-color 
relates only to the draw mode, when button is in focus.
Henrik
6-Mar-2011
[6531]
So you want to create additional contexts, such as SIZE? Then you 
would have size/init instead of facets/init-size. Is that what you 
mean?
Pekr
6-Mar-2011
[6532x4]
I am not sure, just brainstorming loudly. I can as well push my brain 
to accept the fact, that face/facets is a junk block, containing 
whatever you want ....
we should at least segment the code by empty lines
And now you introduced another group of settings:

			;turn auto-sizing on		
			init-hint: 'auto
			min-hint: 'auto
			max-hint: 'auto
btw - I am not sure "hint" is a good name? I know term hinting, being 
related to fonts. But - above is the way - group values together, 
add comment, use empty line as a separator from other group of settings 
...
Henrik
6-Mar-2011
[6536x2]
By creating new contexts, we would have to have an advantage to using 
them. In a way, I don't mind it, as it could be used to apply particular 
groups of facets, in a standardized way, so you know that a particular 
context will have these items. But FACETS does technically not prevent 
this. From a technical perspective, I'm not sure I can find an advantage, 
since there is no difference from R3's perspective on speed or efficiency 
in accessing size, color or hinting information.

However, I can see the following groupings or contexts:

- color
- hint
- size
hint and size would be standardized map!s, as they are used by the 
system.
Pekr
6-Mar-2011
[6538]
you would have to access them by path, not sure how it would look 
like in the source-code, as in draw block? e.g. pen color/pen-color?
Henrik
6-Mar-2011
[6539]
you would say: color/pen. not much difference in typing.
Rebolek
6-Mar-2011
[6540]
yes
Pekr
6-Mar-2011
[6541x2]
if you look into box model, items are grouped too (well, because 
they contain identical field names). Anyway - you have another food 
for thought, I am just not sure if it would help the understanding 
or clarity of the code, it depends ....
btw - when I met Ladislav, I asked him, why there is a face/gob, 
and face/facets/gob, and he was not sure it is like that IIRC. Later 
on I checked it, and it is really like that. But I don't remember, 
if he gave me an answer - are those identical gobs? Why I am seeing 
them in two places, when I mold the face?
Rebolek
6-Mar-2011
[6543x2]
Yes, they are two identical gobs a the reason why it's also in facets 
is binding for draw block.
a=and
Pekr
6-Mar-2011
[6545]
so in memory it exists just once?
Rebolek
6-Mar-2011
[6546]
yes
Pekr
6-Mar-2011
[6547]
with prior gui, I could see 'draw-results, or something like that 
in the structure. Was it removed? What was it good for? :-)
Rebolek
6-Mar-2011
[6548]
I am not sure, but I think it's result from translating draw dialect 
to draw commands, this will be simplified later.
Ladislav
6-Mar-2011
[6549x2]
Pekr: 'btw - I am not sure "hint" is a good name?' - actually, yes, 
since the INIT-HINT is a hint (look up the word in the dictionary), 
how the algorithm should determine the INIT-SIZE value
(for a panel)