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

World: r3wp

[!REBOL3 GUI]

Pekr
13-Mar-2010
[1255]
e.g. try following in R2: http://xidys.com/rebol/presentation.r
Steeve
13-Mar-2010
[1256]
only need to be coded :)
Henrik
13-Mar-2010
[1257]
instead of just hard coding those, I'd rather build a scheme to perform 
automatic shape/size/color/transparency transitions.
Pekr
13-Mar-2010
[1258x3]
those gui elements are live and functioning ...
I agree with Henrik ...
as you can see at the end of presentation.r script, Jeff Kreiss built 
a nice dialect. Reminds me of Scala script ...
Steeve
13-Mar-2010
[1261x3]
i try something like this in my VID, i have a scheme named animator 
(basically a collection of animations, plugable in styles)
the burden is that most of animations need to hack the draw block 
of the gob on which they apply
so i created a function CAPTURE
Pekr
13-Mar-2010
[1264]
What do you mean by "my VID"? :-)
Steeve
13-Mar-2010
[1265x2]
I use it like that:
>> capture gob [pen stroke-color]
which means:

if the gob has a [pen color!] in its draw block, then the var stroke-color 
is intiated with it.

And the [pen stroke-color] replace the initial sequence or if not 
found, add it in the draw block.
my VID ?, i do my own research on VID. I don't intend to use the 
standard one in my own apps, sorry for that.
Pekr
13-Mar-2010
[1267]
That's OK, no? Noone said there should be just only one GUI. But 
we could exchange some ideas, of course if it is not fundamentally 
different :-)
Steeve
13-Mar-2010
[1268]
see the idea:

gob: make gob! [
	draw: [
		line-width 3
		pen red
		text [...]
		...
	]
]

stroke-color: none
capture gob [pen stroke-color]

print [gob/draw stroke-color]
[
    line-width 3 pen stroke-color
    text [...]
    ...
]
255.0.0
Pekr
13-Mar-2010
[1269]
will it work with more complex gobs? so far, VID3.4 uses one gob 
per style, but maybe for some styles, multiple gob aproach (along 
with dialect like Gab's make-gobs) might be used ...
Steeve
13-Mar-2010
[1270x2]
I use this to merge effects with existing draw blocks (it's called 
by the constructor of each animation).

It's up to you to merge the effects with inner gobs if the style 
got many.


The VID, I build, doesn't matter if the style contains several gobs.
Thanks to my propagation model of events.

I use the same idea than R2, events are propagated from inner gobs 
to outer gobs, so that i can have only one reactor on a parent gob 
(the container) which trigger the same actions on all its inner gobs.

It's the thing i don't like in the current VID and it's why styles 
can't deal easly with several children gobs to my mind.
I use this to merge effects with existing draw blocks (it's called 
by the constructor of each animation).

It's up to you to merge the effects with inner gobs if the style 
got many.


The VID, I build, doesn't matter if the style contains several gobs.
Thanks to my propagation model of events.

I use the same idea than R2, events are propagated from inner gobs 
to outer gobs, so that i can have only one reactor on a parent gob 
(the container) which trigger the same actions on all its inner gobs.

It's the thing i don't like in the current VID and it's why styles 
can't deal easly with several children gobs to my mind.
amacleod
13-Mar-2010
[1272]
Steeve, above script does not run for me using latest R3...

Script error: skip does not allow word! for its offset argument

first version works though..
Steeve
13-Mar-2010
[1273]
insert strokes: skip find fire: [
amacleod
13-Mar-2010
[1274]
Bingo! Nice!
GiuseppeC
16-Mar-2010
[1275]
A small question: I am reading the GUI documentation. Are concepts 
exposed going to change since the resuming of developments ?
Henrik
16-Mar-2010
[1276x2]
Some parts in the docs don't match the source that we have here, 
but I'm not sure if it's something that Carl is doing or if they 
are mistakes left in.
As far as we can, we'd like to keep the concepts as they are, while 
probably introducing 1-2 new concepts. There are just some areas 
that need better working parts, like resizing.
amacleod
21-Mar-2010
[1278]
I get an error with this example from the docs:

button "View" view [button "Close" close]

** GUI ERROR: Cannot parse the GUI dialect at: button Close close
** Throw error: halted by user or script
Henrik
21-Mar-2010
[1279x2]
view: ["Change the contents of a panel." what [word!] where [word!]] 
[
		; Allow it to open a new window too ??
		switch-panel get where get what none
	]

Seems you can't pass a block to the 'view reactor.
it seems that reactors are supposed to be self documenting, but I'm 
not sure how to get the help information out...
Pekr
29-Mar-2010
[1281]
Any progress on R3-GUI side? Has the work already started? :-)
Henrik
29-Mar-2010
[1282]
I've been working on docs (a dialect for image annotation in docs, 
actually) for a program, so not much here. Some things are actually 
very difficult to do in DRAW. I could use a pure alpha overwrite 
mode. I've posted a report in the AGG group about a bug in TRANSLATE.


I might add something to specs, which I've been working with as part 
of writing docs: A way to use a layer to provide editing tools, i.e. 
box handles, rotate handles, swipe selections, moving and resizing, 
like you have in many graphics editors. I think this can be done 
in a generic way and would make it easy to build any kind of graphics 
or GUI editor.


This is not something that we want to add now, but it's nice to think 
into the design, so that it's simple to do later (and to remove, 
when Carl announces that he doesn't like it).
Pekr
29-Mar-2010
[1283]
So this is for group (us) to consider, and for Cyphre to implement? 
:-)
Henrik
29-Mar-2010
[1284]
TRANSLATE is for Cyphre to consider. The rest is me and everyone 
else.
Pekr
29-Mar-2010
[1285]
But generally said - we are still waiting for Carl to move View to 
command! interface and releasing the sources? Carl almost finished 
GUI docs, which is nice, but I still miss one doc - his pov on - 
where to go next - still some concept descriptions missing, e.g. 
his plan for layers, etc.
Henrik
29-Mar-2010
[1286]
Yes, some things are a little odd in this respect: the docs state 
functions that don't exist, such as MAKE-REACTORS, but he hasn't 
said anything about whether he's modifying the sources. Once the 
View host gets released, many more people can work on their things.


For us, there are plenty of things to work on: Begin the implementation 
of a proper table, better dialogs and more styles.
Pekr
29-Mar-2010
[1287]
those things you mention (more styles) can be done even in recent 
VID state? Do you regard architecture being stable? E.g. - I remember 
you (and me too) did not like max-size. But it is basis of Carl's 
resizing model calculation. So no fear of later changes on your side?
Henrik
29-Mar-2010
[1288]
One never knows if the architecture changes, but I don't think that's 
likely. There are some things that are unclear with styles, such 
as how to change FACE/CONTENT dynamically, but otherwise there is 
plenty of styles that can be implemented.
BrianH
29-Mar-2010
[1289]
Henrik, for once the docs about the design were preceding the implementation.
amacleod
31-Mar-2010
[1290]
Playing with R3 GUI...I see panels and groups resize horizontally 
but is there a way to get it to resize vertically...or does that 
involve playing with the style code?
Graham
1-Apr-2010
[1291]
resizing is said to be broken .. so I'd wait
Henrik
1-Apr-2010
[1292x2]
yes, this is currently broken.
I need to ask who has read the whole source code for the R3 GUI?
Pekr
1-Apr-2010
[1294x2]
you, BrianH, and me :-)
but I am a lamer, not a coder, so I can only bug you with many questions, 
and point out some things I eventually don't like (and in many case 
I don't like them because of my wrong understanding of the topic 
:-)
Henrik
1-Apr-2010
[1296x2]
Pekr, do you find it understandable? Does it help you to understand 
how it could be extended?
ok
Pekr
1-Apr-2010
[1298x4]
VID3.4, from what I have seen, is more understandable than VID2. 
Maybe also because we now have docs, describing faces, their fields, 
on-* methods, etc.
What I did not like in the past was departure from multiple gob design 
and make-gobs, and limiting style to single draw block. But later 
on BrianH explained to me, that the design is ready to use multiple 
draw blocks (kind of original frames concept)
where my "experience" ends is event - mainly keyboard, editing. Rather 
difficult topic for me. So I am still eager to see, how keyboard 
navigation is going to be supported. This is BIG topic for me. Because 
as I already said in the past - users are forgiving non-platform 
specific look, but not behaviour. And I am a person using keyboard 
so much. So tabbing, accelerator keys, ability to swith tabs by ctrl+ 
tab (non trappable by REBOL at all) etc. - those things were not 
adressed yet ...
E.g. such simple thing as displaying the accelerator key - under 
windows, you can see underlined letter, representing the keyboard 
accelerator key. But - that would mean, we would have to use rich-text, 
for such things, as button, or even fields, etc. Or - we would have 
to come-up with different concept - e.g. pressing Alt key displaying 
small boxes around the styles, displaying the accelerator keys (layers 
could be used here) ... such concept is used by Lotus Notes ...
Henrik
1-Apr-2010
[1302]
Well, the keyboard navigation in the VID Extension Kit is a much 
bigger hack than in the R3 GUI. That's thanks to a good design and 
treating the window itself as a style. There are still some issues 
with Carl's method of tab navigation colliding with mine. Carl has 
a tendency to work functionality that should be generic into a few 
specific styles. I don't really get why he does that, because it 
scales like crap.
Pekr
1-Apr-2010
[1303]
So - there are still some design choices to make. And what I miss 
is discussion about those topic, unless we go too far, to later realise, 
we have to rebuild somehing because of new ideas ...
Henrik
1-Apr-2010
[1304]
accelerator key visibility is missing from spec. do you want to write 
something up, just to collect notes? I can clean it up later.