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

World: r3wp

[!RebGUI] A lightweight alternative to VID

Graham
8-Mar-2005
[145]
I tend to create batch files if I need to run a rebol script .. or, 
encap them.
Anton
8-Mar-2005
[146x2]
I suppose, Graham, you're tracert'ing a lot.
automatically ?
Graham
8-Mar-2005
[148]
no, just ones I need to run by clicking on them ..
Anton
8-Mar-2005
[149]
-----> Chat
Graham
8-Mar-2005
[150]
Anyway, I think it we have an option to drop to console ... that 
would be good.
Ashley
9-Mar-2005
[151]
I'll make sure that the next iteration of examples all have an "icon 
[action [unview halt]]" in them just for you. ;)
Graham
9-Mar-2005
[152]
Much appreciated.
Vincent
9-Mar-2005
[153x3]
In http://www.dobeash.com/it/rebgui/widgets.html, 

in Feel function templates, there's missing the 'move event in engage.
It's used for dragging actions in a layout.
Here a vertical splitter widget using it :
v-splitter: make face [
    size: 5x100
    edge: make edge [size: 1x1 effect: 'bevel]
    feel: make feel [
        engage: function [face act event][f p n delta][
            if event/type = 'move [
                f: find face/parent-face/pane face
                p: first back f
                n: first next f
                delta: face/offset/x - face/offset/x:
                    min n/offset/x + n/size/x - 1 - face/size/x
                    max p/offset/x + 1
                    face/offset/x + event/offset/x
                p/size/x: p/size/x - delta
                n/size/x: n/size/x + delta
                n/offset/x: n/offset/x - delta
                show [p face n]
            ]
        ]
    ]
]
To use it, just insert it between the faces you want to resize: 

text [text "Some text" 320x40] v-splitter [size 5x40] box [size 60x40 
color blue]
Ashley
9-Mar-2005
[156x2]
Now *that's* elegant!
Following documents updated to reflect latest changes / feedback:


 RebGUI Display User's Guide	- new layout refinement plus widget descriptions 
 added
	RebGUI Widget Designer's Guide	- init attribute added
	REBOL/View Facet Summary		- various
Vincent
10-Mar-2005
[158x2]
thanks :-)

suggestion: the 'rate attribute/facet could be specified in a display 
- for 'anim and futur widgets. In 'display code:
rate: any [select attributes 'rate rate]
Robert
10-Mar-2005
[160]
Will the splitter be integrated into the next release?
Pekr
10-Mar-2005
[161]
did not follow the discussion - what is RebBUI? Is it VID replacement?
Robert
10-Mar-2005
[162]
yep
Pekr
10-Mar-2005
[163x2]
complete or based upon VID?
is there anything to try already? How does it compare to Maxim Glayout 
or how is that called? Or Slim, or Steel? Never know what Maxim's 
names, terms etc. mean :-)
Vincent
10-Mar-2005
[165x2]
not based on VID - it's a remplacement
you can try the examples supplied with rebgui:
http://www.dobeash.com/files/RebGUI-013.zip
Pekr
10-Mar-2005
[167]
thanks, will try it. Debeasch, it is Ashley, right? If RebGUI will 
be of the same quality as RebDB, it is surelly gonna be cool. Ashley 
is very good and precise designer, his code is nice. Other such folk 
is DocKimbel, his mySQL code was pleasure to study :-)
Vincent
10-Mar-2005
[168]
the main web page is
http://www.dobeash.com/it/rebgui/

there's more information there on Ashley's project - a nice doc on 
/View engine growing with RebGUI progression.
Pekr
10-Mar-2005
[169x3]
OK, now I am confused with some of RebGUI concepts ... on one hand 
I do agree, that some of cross-style shared code was not eventually 
so good, I think that widgets shoud provide kind of full functionality 
... I can't see any automatic scrollers for e.g.
hmm, what looks simple becomes more difficult when you want more 
difficult behavior. I speak of resizing, I am not sure it is fully 
sufficient as it is, but Romano surely knows more :-)
If I imagine more complex style as e.g. grid, with Romano's system 
you had ability to create resize groups, to anchor something to different 
face etc. But then RebGUI seems to follow different target then I 
thought. I want full OS compliancy in behavior ...
Ammon
10-Mar-2005
[172]
Nah, RebGUI is simply a minimilistic, holistic approach where you 
don't any thing more then is needed and what you add is self sufficient. 
(at least that's my take on it...)
Pekr
10-Mar-2005
[173]
yes, now I understand it too. It is not for OS compliant apps, but 
for kind of embedded devices ones :-)
Ammon
10-Mar-2005
[174]
Yeah, that's more like it.  But it can be used to provide simple, 
clean OS independant applications too...
Pekr
10-Mar-2005
[175]
where does Glyout/Steel/Liquid thingy stands in comparison?
Ammon
10-Mar-2005
[176]
GL goes for a more dynamic approach while maintaining performance. 
 Did you see Maxim's rework of a multi-column scroll list?  Fast, 
very fast.
Ashley
10-Mar-2005
[177]
Vincent: rate suggestion ... done (overlooked in 0.1.3)

Robert: Will the splitter be integrated into the next release? ... 
Yes

Pekr: "I want full OS compliancy in behavior" ... which OS and what 
skin?

Ammon: "RebGUI is ..." ... spot on, and I like that sentence so much 
I'll add it in some shape or form to the main page ;)
Pekr
11-Mar-2005
[178x3]
Ashley - it was long discussion at some stage of View 1.3 project, 
but shortly - my opinion is, that we don't need to skin anything. 
IMO it is good and vital, if we are distinguishable, so ppl can say 
- it is that colorfull app, Rebol :-) What I have in mind by OS compliancy, 
is behavior, so mainly keyboard handler, but also mouse reactions 
etc.
Romano did nice job with keyboard handler, but e.g. - because of 
no rich-text ability, we are not able to display accelerator key 
(underlined char). VID styles also are not ready yet, to visually 
distinguish it has focus or not ...
Proper and OS compliant behavior is imo MUCH more important, then 
skin ...
shadwolf
11-Mar-2005
[181x2]
pekr sure this will come in time but in a 0.1.3 version I don't think 
this is actually the priority ...
first we have to make the  set of widgets then tune them IMHO
Vincent
11-Mar-2005
[183x4]
a little correction to 'progress (didn't count the 'edge size and 
0x0 origin in draw):
face/effect/draw/box: to pair! reduce [

    to integer! face/size/x - 3 * face/data: min 1 max 0 face/data face/size/y 
    - 3
]
a one-face horizontal slider prototype :
hslider: make face [
    size: 200x20
    data: 0.0

    effect: [draw [pen 48.48.48 fill-pen 192.192.192 box 1x0 10x17]]
    feel: make feel [
        redraw: function [face act pos][delta][
            if act = 'show [
                face/effect/draw/7/y: face/size/y - 3

                delta: 5 + to-integer face/size/x - 12 * min 1.0 max 0.0 face/data
                face/effect/draw/6/x: delta - 5
                face/effect/draw/7/x: delta + 4
            ]
        ]
    ]
    init: does [
        feel/engage: func [face act event][
            if find [move down] event/type [

                face/data: min 1.0 max 0.0 event/offset/x / face/size/x
                show face
                face/action face
            ]
        ]
    ]
]
Pekr
11-Mar-2005
[187]
shadwolf - that can be mistake. You have to keep those things in 
mind at least, as e.g. adding visual representation of focus may 
require different kind of measures of borders of widgets etc. (depends 
upon how you choose to represent it)
Vincent
11-Mar-2005
[188x3]
for 'hslider

- 'init is used to allow 'action in definition, as with 'action feel/engage 
is modified
- must be tuned and modified according to futur specifications

- usage example, in %example-misc.r, you can test it adding "hslider 
[size 200x20 data 0.75 action [p/data: face/data show p]]"
- for a 'vslider, same code with all x and y swapped
Pekr: visual focus like which OS? It isn't the same on Windows 95->2k 
and Windows XP, and there are other OS. Mouse reactions changes a 
lot between OS too.
a little set of existing controls makes it easier to discuss common 
behaviour. but it's important to discuss it as soon as we can.
Pekr
11-Mar-2005
[191]
Vincent - right. That means, we have to adapt to OS we run on ....
Vincent
11-Mar-2005
[192]
more complex widgets shouldn't be done until we have a more detailled 
specification about global look and feel (colors, text size, ...)
Pekr
11-Mar-2005
[193]
... or ppl will feel hostily about your app .... they can imo forgive 
different look, but not different behaviour .... that is my experience 
... even one slight difference can make ppl annoyed ...
Vincent
11-Mar-2005
[194]
Pekr: that's mean we need different versions of each widget?