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

World: r3wp

[!RebGUI] A lightweight alternative to VID

shadwolf
5-Apr-2005
[492]
But as you say it normand it's not an easy topic so being able to 
solve it will be in my opinion a community effort because we need 
a little more than TDM  (to render tables for example... )
Maxim
5-Apr-2005
[493]
is there a one-liner I can type on rebol console I can use to see 
something built with rebGUI. just curious how it looks and feels...
shadwolf
5-Apr-2005
[494x7]
Last thing the pointer is slow on hudge text because of this F***King 
mad system base on caret  to handle the cursor position you store 
the current text that belongs after the cursor Writing and rewriting 
every time into this caret buffer the most part of the document is 
super slow  !!!
sorry wrong group posting ...
MAxim hum do %tour.r ?
REbgui wasn't forge tobe one linered  (no dialect for the moment 
...)
so things like view layout [ btn "EXIT" [quit]] would be writed in 
more than a sigle line in REBGUI ;)
like do %gui.r display "Test window" [ button [text "Exit " size 
50x20  action [ quit]] ]]
Ashley : Chris made a minimalistic version of the arrow widget based 
on my actual version HERE IS THE LINK:  http://www.ross-gill.com/r/arrow-RebGUI-port.r
about 100 lines  ;)
Ashley
6-Apr-2005
[501]
OK, integrated arrow style plus proto-type widgets that use them 
can be found here: http://www.dobeash.com/files/arrow.r(thanks to 
Chris & Gregg for the base arrow code).
shadwolf
6-Apr-2005
[502x2]
pretty nice ;)
mutch better than my code ;)
Ashley
9-Apr-2005
[504]
Latest build available at: http://www.dobeash.com/files/RebGUI-019.zip

Highlights include:


 - Integrated language localization (see http://www.dobeash.com/it/rebgui/locale.html)
	- New arrow widget (run %arrow.r to see it in action)
	- Use of as-pair
	- Minor updates to pwd-field
	- title-group simplified

Known issues


 - radio-group fails under 1.2.1 and rebface 1.2.10 (but not view 
 oddly enough). Comment / uncomment radio-group block under %tour.r 
 to see.
	- Need a "safe" implementation of 'construct for 1.2.1
Guest
9-Apr-2005
[505]
hi. .. how is localisation done, pleae? Is there anything like default 
language set? And what precisely is localised?
Anton
9-Apr-2005
[506]
Gabriele has some way of doing localisation of applications.
Guest
9-Apr-2005
[507x2]
I know. There were ones some time ago too ... just curious what aproach 
Ashley took ....
btw - pekr here, connecting via wireless, so dont know my login info 
right now....
Brock
9-Apr-2005
[509x2]
Wow, localisation integrated.  Thanks.
Wondering if there are any plans to include group element validation, 
ie, mutlple radio-buttons or checkboxes validated based on group-name 
rather than each item checked individually?
shadwolf
9-Apr-2005
[511x3]
where are menu ?
and why arrows are not integrated ? arrow are usefull for drop-down, 
slider, and notepad for example on tour.r as the window is resizabe 
that when the buton bar is (number of buttons) are more big than 
the window to have two arrow to scroll the buttons bar to acces to 
the unviable button and to indicate to the user that the button bar 
of the note pad is bigger than he can see
integrated into tour.r
Ashley
9-Apr-2005
[514]
Pekr: It's all explained in http://www.dobeash.com/it/rebgui/locale.html


Brock: radio-group does this already (set of mutually exclusive choices) 
and I was contemplating a check-group widget which uses the data 
attribute to store a block containing state information for each 
check-box in the group.


shadwolf: menu and tabbing are still WIP. The arrow widget is integrated 
into %widgets.r, I just ran out of room (> 1024 pixel width) with 
the current %tour.r. Once the scroller and spinner widgets are complete 
I'll redo %tour.r breaking it down into sub-widget categories (the 
real solution is to enhance the tab-panel widget but one thing at 
a time).
shadwolf
9-Apr-2005
[515]
ashley it could be cool to add 2 arrows left and right in the notepad 
header (where you have the buttons to open the panels of the notepad) 
when they  are hided because the size of the window is smaller than 
the needed
Brock
9-Apr-2005
[516]
Okay Ashley, thanks.
Ashley
9-Apr-2005
[517]
shadwolf: It's on my (growing) ToDo list. ;)
Brock
9-Apr-2005
[518]
Since you are also responsible for RebForms maybe this can be a feature 
request.  In .Net, you can have a form Validation Control, that confirms 
all of the validation checks on the fields of the form.  You are 
also allowed to indicate for each form element, whether it is to 
be included in the form-level validation or not (ie, free form text 
fields typically don't need validation).
shadwolf
9-Apr-2005
[519x2]
AShley maybe I can help you to implement this ...
how do you plan to detect the fact that the button header content 
of the notepad widget is bigger dans the window :)
Ashley
9-Apr-2005
[521]
Brock: validation is also on my ToDo list (you can see the beginnings 
of it in the field widget character length limits). A couple of questions 
though (both how it is done in .Net and how it *should* be done in 
RebGUI):

	What's the granularity of the validation?

 Does it allow the specification of a mask (e.g. for phone numbers)?

 Is it validated as I type, when I leave the field, or when I save 
 the form? (Or is it flexible enough to let me choose the level of 
 validation?)


shadwolf: Haven't really thought about it much, but I figured the 
tab-panel redraw feel was a logical place to do the work.
shadwolf
9-Apr-2005
[522]
oki thank you I will try to implement it if I have a succefull code 
I'll share it with you
Graham
9-Apr-2005
[523]
Didier did some work on field validation with VID

http://membres.lycos.fr/didec/rebsite/styles/filter-field/test-filter-field.r
Vincent
9-Apr-2005
[524x2]
'construct for 1.2.1 :
construct: func [
    block [block!] /with object [object!]
/local nb spec values name value
][
    if not with [object: object!]
    spec: copy []
    values: copy []
    parse/all :block [
        any [
            to set-word! (nb: 0) some [
                set name set-word! (nb: nb + 1 append spec :name)
            ]
            set value skip (

                insert tail values nb insert/only tail values :value
            )
        ]
    ]
    append spec none
    object: make object spec
    foreach [nb value] values [
        loop nb [
            set in object (to-word first spec) 

                either find [true false none on off] :value [do value][:value]
            spec: next spec
        ]
    ]
    object
]
Ashley
10-Apr-2005
[526]
Impressive! ;)
Robert
10-Apr-2005
[527]
WRT my question about extending/customizing layout. Would it be possible 
to add something to RebGUI so that this is possible:
	if my-var > 5 [optional: button red 100]
Ashley
10-Apr-2005
[528x2]
Not something I've ever needed myself, but certainly possible. I'd 
echo Anton's comment from the View group; "But what syntax is desired?"
Ah, nailed the radio-group problem under 1.2.1 by replacing this 
line:

	pos: pos + either size/y > 20 [0x20] [as-pair width 0]

with these two:


 tmp: either size/y > 20 [0x20] [as-pair width 0] ; required for 1.2.1
	pos: pos + tmp
Vincent
10-Apr-2005
[530x2]
Yes, 1.2.1 crashes with 
pair! + add pair! * number! pair! * number! 
changing the 'as-pair definition can fix the crash too : 
as-pair: func [x y] [(1x0 * x) + (0x1 * y)] ; 'add -> '+

as-pair: func [x y] [to-pair reduce [to-integer x to-integer y]] 
; earlier method
Proposal: IMHO, it would be better to use the VID convention for 
auto-size: negative size -> auto-size

as 9999 can lead to weird errors and crashs, if someone set dimensions 
to 999x999, or worst 99999x99999 .

...and 10k screen size isn't that improbable (the size of a virtual 
screen can be that big!)
Ashley
10-Apr-2005
[532]
The "+" version of as-pair has fixed all the 1.2.1 crashes (and got 
rid of a few 1.2.1 specific work arounds).
Vincent
10-Apr-2005
[533x2]
cool :-) I had that problem with the first RebGUI alpha, until I 
changed the 'as-pair definition.
The memory leak is a known behaviour. The memory allocated is free 
by the GC after a total of 1 - 2 megabytes.

http://www.rebol.org/cgi-bin/cgiwrap/rebol/ml-display-thread.r?m=rmlYRJQ
Ashley
10-Apr-2005
[535x2]
I was wondering when someone was going to ask about the whole 9999 
thing. ;) It's an optimization to avoid a redundant size assignment 
prior to 'size-text but has the problems you quoted. I'll probably 
change it back to -1x-1 in the next build or two.
Thanks for the link ... that and some testing has convinced me to 
remove the 'show redefine from the next build.
shadwolf
11-Apr-2005
[537x5]
I'm working on tab-panel 2 arrows insertion ;)
first change into the arrow/feel/engage down  event you will need 
to add if face/action [do face/action] to enable the arrow to launch 
action ;:)
I started the work on arrow motion ;)
in the tab-panel so for now no code is available maybe later to night 
(I have yet some little things done ;)
sorry face/action in arrow was yet supported  !!!