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

World: r3wp

[!REBOL3 GUI]

Pekr
14-Jan-2011
[5106x2]
I can see him from time to time on Facebook, but right now he is 
not there. I believe Cyphre has his cell phone  ...
One naming tip - I noticed, in button.r3 source file for e.g., that 
we started to use multiple draw blocks? That's good. So - e.g. clicker 
style has two draw states (frames) - normal, and focus. Just a question 
- does "normal" sound good in english? Shouldn't be "default"?
Henrik
14-Jan-2011
[5108x2]
Cyphre tried to call him, but no response.
we started to use multiple draw blocks?

 - they've been there for a good while now. :-) regarding naming, 
 I think it should reflect the specific state, rather than having 
 a "default". I usually prefer 'up, 'up-hover, 'down, etc. This is 
 easier to map to a state machine.
Pekr
14-Jan-2011
[5110x2]
Thanks for new relese!
I have one qeustion towards "faced" attribute. In fact I liked it 
- it clearly distinguished attributes, which are meant being local 
to each instance of the style. Could anyone elaborate on why it was 
deprecated, and how is such functionality replace in new release?
Cyphre
14-Jan-2011
[5112]
Pekr, in the older version there was FACED and FACETS definitions 
which in the end(during the face creation) got merged so we decided 
to use only FACETS for now to make the style definiton simpler. In 
fact almost every programmer who tried to dostyles got confused why 
there is FACED and FACETS(and noone really know the reason why it 
is there). So from now it's easier and every face attributes are 
defined in one place - FACETS.
Pekr
14-Jan-2011
[5113]
I doubt it is a good decision :-(
Cyphre
14-Jan-2011
[5114]
then tell me why?
Pekr
14-Jan-2011
[5115x3]
In fact in R2 I always wondered, what influences all instances, and 
how do I prevent sharing of stuff. So in R3 Carl introduced 'faced, 
which made obvious (at least for me), what is style local = not shared 
between instances.
I think that every novice, when trying to change e.g. button color/border, 
find himself in a situation, when he influenced all buttons, etc. 
It was because direct path modification vs using make for subobjects. 
That is why I welcomed the move to declarative style definition, 
where the distinction could be made ...
Or am I missing something?
Cyphre
14-Jan-2011
[5118]
try this:

load-gui
stylize [red-button: button [facets: [area-color: red]]]
view [
	red-button
	button options [area-color: green]
	button
]

I think this wirks just fine no?
Pekr
14-Jan-2011
[5119x2]
The faced block is similar to facets block, but makes them local 
to each instance of the face. Now, they can be modified without effecting 
any other faces that are of the same circle style.
 It is taken from: http://www.rebol.com/r3/docs/gui/styles.html
Why Carl introduced it then?
Cyphre
14-Jan-2011
[5121x2]
In fact this never worked correctly in the old Carls version IIRC.
In our version FACETS are 'local' to each face instance. To use shared 
properties(among the instances) you can specify INTERN block in the 
style definition.
Pekr
14-Jan-2011
[5123x3]
OK - so - is there a need to distinguis local vs global style settings? 
Because in fact, I think that pushing user to use make edge [] just 
to prevent sharing, was pretty much crap in R2. That should be avoided 
if possible, as it creates burden on a user to know, that subobjects 
are shared in REBOL.
what's intern?
OK, I will try new version, and see how it goes. I would welcome 
an example on 'intern, maybe I will find it in sources. Starting 
to warm-up to new gui :-)
Cyphre
14-Jan-2011
[5126]
As I said you can use the INTERN to store shared (static) variables 
among all face instances of the specific style.
Henrik
14-Jan-2011
[5127]
faced/facets, I like that it's gone. I never really learned what 
the difference was. That introduces sloppy coding, when you don't 
realize it.
Pekr
14-Jan-2011
[5128x3]
Henrik - then you never read docs :-) Old docs are removed from wiki, 
but when I first saw faced, I reacted like most ppl - what is that 
good for? Then I read an explanation, and the difference was very 
obvious to me ....
Cyphre - any quick example of inteern? Just:

intern: [area-color: red] ???
I also remember the discussion with Carl, if we should change naming 
- e.g. attributes (attr to be shorter), local, global ... and in 
the end I liked faced :-) I can live with intern - it just reverses 
the aproach - it creates all facets instance-local by default, and 
shared stuff should be stated explicitly, right? It just might mean 
more memory consumption, but I don't know how much :-)
Cyphre
14-Jan-2011
[5131x2]
yes, that is enough...then every face of the style will be access 
face/intern/area-color as shared value
(but this will be used mostly by internal style code, that's why 
we called it INTERN)
Pekr
14-Jan-2011
[5133]
ok, then I like new aproach more ...
Cyphre
14-Jan-2011
[5134x2]
BTW what was the difference if you had:
faced: [area-color: red] ?


In the end the 'area-color was local to each style as well in face/facets. 
In Rebol you cannnot have mixed 'shared' and 'local' values of direct 
type in one object together.
(the only way how to make 'shared' values is using indirect values 
(object! string! binary! block! etc.)
Pekr
14-Jan-2011
[5136x2]
I think that the difference would exist in the dialect translation 
phase, when new style is instantiated? If there is 'faced, it would 
be in object field, whereas where in facets, it would be in some 
subobject = shared.Well,but then I don't know, how accessor would 
look-up style attributes, if those would exist in two places, but 
you have to somehow solve it with 'intern too ...
Don't loose your time with further explanations, time to read sources 
and do few tests ... some things will become obvious, some not, and 
then I''ll ask ...
Cyphre
14-Jan-2011
[5138x2]
From our expereinece with R3GUI styles, properties that user should 
easily access (like colors etc.) are meant to be usually local to 
each face inastance. That's for what FACES are good enough. If style 
creator think he could 'save' some memory by using shared values 
among faces of the style then he(she) can use the INTERN 'shared 
context' as storage.
BTW how is the R3GUI demo conversion is going? ;)
Pekr
14-Jan-2011
[5140]
not going at all - coming home from work at 19:00 and later :-) First 
thing I want to try is trying to play with different draw blocks 
:-) E.g. trying to "port" Carl's button :-)
Cyphre
14-Jan-2011
[5141]
playing with draw blocks? - I thought that's a task for your dog 
:-)
Pekr
14-Jan-2011
[5142x4]
exactly - Charlie is going to be here too :-)
Simply put - it is supposed to be a fun. We (rebol community) forgot 
about the fun a long time ago :-) I looked in some R2 demos, and 
was amazed - we need new demo contest, and the condition is simple 
- R3 only :-)
Any tip of how to play with gradients, trying to simulate some existing 
ones? IIRC, there was some R2 script? In the end I would like to 
mimick my HTC sense environment, as I like it and it looks decent, 
albeit maybe too white - http://204.145.67.138/shared/ScreenShots.png
got to go, later ...
Pekr
15-Jan-2011
[5146]
Oldes, you have to reload, for new stuff to appear on the website. 
I noticed also some docs are released (resizing). What about publishing 
even doc, which is in WIP format included in the archive? Well, but 
that would probably mean maintaining two versions - MDP one, plus 
WIP for rebol.com ...
Robert
15-Jan-2011
[5147]
We are working on it.
Pekr
15-Jan-2011
[5148]
OK, good to hear. OTOH - what is the stage of acceptance of RMA's 
stuff into official RT distro? Any discussions with Carl yet? I know 
that you will continue working on your version anyway, just curious 
....
Robert
15-Jan-2011
[5149]
No action so far.
Pekr
15-Jan-2011
[5150]
Question towards style tagging. I noticed some styles are tagged 
as 'internal, and some as 'compound. I would like to know, if it 
serves any other purpose, than for style listing/grouping, to distinguish 
it? 'Internal is probably just a tag, but does 'compound has any 
meaning further down in the code?
Henrik
15-Jan-2011
[5151]
they are opposites. a 'compound style may not necessarily be 'internal, 
but may consist of 'internal faces. an 'internal face can be 'compound, 
but is not necessarily that.
Robert
15-Jan-2011
[5152]
And, the tag system is generic to flag styles as necessary.
Pekr
15-Jan-2011
[5153x3]
That one looks weird :-)

styl: guie/styles/:style

Styl
 is czech translation of english "style" :-)
I can see you use empty rows to separate some items in facets block. 
Why is that? I did not find any example of 'internt being used, so 
I think that might be the reason? To simply separate/group some items? 
Aren't we wasting memory here?
Doc style is buggy - doubles the content:

view [doc "test"]