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

World: r3wp

[!REBOL3 GUI]

Graham
26-Aug-2010
[2860]
Brian, I take it you have never done any Vid work ?
BrianH
26-Aug-2010
[2861x2]
Very little. Most of my VID knowledge comes from DevBase 2 and the 
VID resize project. Aside from that, very little GUI work in REBOL, 
just (many) other languages. Most of my REBOL code has a web or batch 
UI, or no UI at all.
I had to learn a lot of VID's internals to do the resize project. 
But I don't really need to make GUIs much.
Graham
26-Aug-2010
[2863x2]
the dialect word 'do switches the layout parser to the do dialect
for VID1, 2, and 3 ( I think )
BrianH
26-Aug-2010
[2865]
Likely not in the R3 GUI. We did a lot of work to separate layout 
and behavior.
Graham
26-Aug-2010
[2866]
likely you mean
BrianH
26-Aug-2010
[2867x2]
Not unless it has been changed recently. According to the design 
of the R3 GUI, DO doesn't switch the layout dialect into DO dialect 
mode, it declares an action for the button (in your example) to perform 
when clicked.
The code performed by that action is evaluated by the DO dialect, 
but it is evaluated at runtime in response to the action being triggered, 
not at layout time.
Graham
26-Aug-2010
[2869]
My example is for R2 ...  there is no 'layout word for R3
BrianH
26-Aug-2010
[2870]
Ah, wrong group then. The layout dialect is implicit in R3's VIEW 
function now, not implemented by a separate LAYOUT function.
Graham
26-Aug-2010
[2871x2]
What does this do ?

view layout [ button "test Brian" do [print now ]]
As for R3 is supposed to do .. has anyone read the specs??
BrianH
26-Aug-2010
[2873]
I helped design the specs (mostly in an advisory capacity).
Graham
26-Aug-2010
[2874]
Does this still apply to the WIP ? http://www.rebol.com/r3/docs/gui/gui.html
BrianH
26-Aug-2010
[2875]
Get rid of the call to LAYOUT, and it will create and show a layout 
with a button titled "test Brian". When that button is clicked, the 
button's action will be triggered, and the result of NOW will be 
printed to the console.
Graham
26-Aug-2010
[2876]
What does it do in VID2 ?
BrianH
26-Aug-2010
[2877x2]
There are some changes since the docs there were written, but the 
overall design model is the same. At the moment, groups and panels 
work differently than those docs.
In VID2, it seems to print now before the button is clicked.
Graham
26-Aug-2010
[2879x2]
exactly
as I said, the 'do word switches to the 'do dialect
BrianH
26-Aug-2010
[2881]
Well, the R3 GUI has very little in common with VID2. It is designed 
based on completely different principles.
Pekr
26-Aug-2010
[2882]
Graham - in R3 VID there is simply a 'do keyword, preceeding the 
action block, nothing more ...
Graham
26-Aug-2010
[2883x3]
I see this 

ts: text-box (form now)
in the sources to the R3vid demo
so either there is a compose/deep somewhere .. or there is a switch 
to the do dialect occuring
BrianH
26-Aug-2010
[2886x2]
That demo is outdated, but yes, there is a compose somewhere.
The reason we never refer to the R3 GUI as VID (for the last 2 years) 
is because we don't want to confuse people. The R3 GUI has nothing 
to do with VID.
Henrik
26-Aug-2010
[2888]
there are several trigger styles that do various things throughout 
the dialect. they shouldn't be confused with reactors.
BrianH
26-Aug-2010
[2889x2]
The parens don't affect the layout, just the data that the layout 
contains. No control flow.
Yes, Henrik, you are more familiar with the recent work on the R3 
GUI, please explain :)
Graham
26-Aug-2010
[2891x2]
anyway, Vid has the ability to switch dialects at gui layout ... 
but as r3gui .. i don't know...
whether it has, or whether it should be put in ... I do a lot
BrianH
26-Aug-2010
[2893x3]
You won't in the new one. It is designed to make such things unnecessary.
Thanks for the docs reminder. The explanation of DO is here:
http://www.rebol.com/r3/docs/gui/reactors.html
Henrik
26-Aug-2010
[2896]
Actually there are several changes by Bolek and Cyphre, that I've 
not yet studied, but much of the work that was handled by LAYOUT 
before is now relegated to PANEL and GROUP, which is why we talk 
so much about them and not a central LAYOUT function. They call various 
subfunctions that specifically focus on creating faces and laying 
them out and resizing them.


So the styles themselves are capable of custom layouts and resizing 
mechanisms and also mechanisms such as face init and triggers. So 
that means you are no longer a "slave" of the LAYOUT function.

That's also why:


1. I was talking a while ago about that you can build a style that 
emulates VID, complete with a dialect, or replace the layout mechanism 
with your own, by rewriting PANEL or GROUP or adding new panel styles.

2. That whenever you want to do a new thing, you should make it as 
a style. That's where you start.
Pekr
26-Aug-2010
[2897]
BrianH: stop claiming we don't refer to R3 GUI as VID, please? Where 
did you find out such a claim? It was VID 3 (Gab's version), and 
Carl's version was marked as VID 3.4 by Carl himself imo. There is 
NO point to stop calling it a VID, unless we find another marketing 
name, just because the architecture changed ...
Graham
26-Aug-2010
[2898x2]
so we can take vid code and run it ?
in a panel ?
BrianH
26-Aug-2010
[2900]
Yeah. And then we decided to stop calling it VID because of the confusion. 
There was even a blog where a new name was requested, but it never 
came to a consensus. So we ended up calling it the R# GUI by default. 
The only one who still calls it VID is Pekr.
Pekr
26-Aug-2010
[2901]
Graham: Who do you ask, Henrik? :-)
Henrik
26-Aug-2010
[2902]
graham, if you want, you can do something like this:

view [vid [...regular vid dialect...]]

If you write a style called VID and implement the dialect in it.
BrianH
26-Aug-2010
[2903]
(That was to Perk)
Graham
26-Aug-2010
[2904]
(length? 'VID) < length? 'R3GUI
Henrik
26-Aug-2010
[2905]
there's no limit to the size and complexity of a style, if that's 
what you mean.
BrianH
26-Aug-2010
[2906]
(length? "rock") < (length? "marshmallow")

What's your point? There are docs and tutorials for VID out there. 
They don't in any way apply to the R3 GUI.
Graham
26-Aug-2010
[2907x2]
no, typing :)
2 more letters ...
Pekr
26-Aug-2010
[2909]
There is no confusion, sooner or later we do reach the matrix's "there 
is no spoon" = there is no R2 - old, forgotten, boring. Do you call 
Delphi 6 not a Delphi, because you can't run the code in Delphi 2 
anymore? Does Perl 6 rename, even if different to the old generation? 
VID is a good name. Simply put version 3.x is not compatible with 
version 2.x, easy as that ... I can't see any confusion, if we talk 
about VID in R3 related channels ...