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

World: r3wp

[!RebGUI] A lightweight alternative to VID

Allen
22-May-2005
[1034]
Great resource for GUI & widget inspiration http://www.aci.com.pl/mwichary/guidebook/
Ashley
23-May-2005
[1035]
Latest build available at: http://www.dobeash.com/files/RebGUI-023.zip

Highlights include:

	- Changed default font from "Arial" to "Verdana"
	- Added label and table widgets
	- Added window-level 'do block support

 - Added 'reverse keyword to support windows style right-to-left widget 
 placement
	- Renamed set-title to show-title
	- Merged %request-file.r into %requestors.r
	- Renamed %gui.r to %rebgui.r and prefixed other files with same

Read more about these changes here:

	http://www.dobeash.com/it/rebgui/display.html#section-2.2
	http://www.dobeash.com/it/rebgui/display.html#section-3.3.2
	http://www.dobeash.com/it/rebgui/display.html#section-3.4
	http://www.dobeash.com/it/rebgui/display.html#section-4.3
	http://www.dobeash.com/it/rebgui/display.html#section-5.15
	http://www.dobeash.com/it/rebgui/display.html#section-5.26
Maarten
23-May-2005
[1036]
Is there a tree widget for RebGUI being developed already?
Robert
23-May-2005
[1037]
Not that I know about one. Go ahead :-))
MikeL
23-May-2005
[1038x3]
Maarten, Yesterday I started using Alain Goyé's NoteREB outline tree 
now - written 04/05/2004.  Very nice.   I am blending it with Carl's 
Easy VID to update VID Usage to have a navigatable tree approach.
I didn't find it in the script library.   The version that I archived 
was 0.0.2 

To see that version, do http://www3.sympatico.ca/cybarite/rebol/NoteReb.r
Google found a more current version http://alain.goye.free.fr/rebol/NoteReb.r
 exactly where Alain advised it was in his email
shadwolf
23-May-2005
[1041]
Tree code must include the capablity of seting node and leaf icons 
 ;)
Robert
23-May-2005
[1042]
Cyphre did one, that was quite good.
shadwolf
23-May-2005
[1043x2]
could be great to have a spread sheet on every missing widget and 
what Ashley want to see in them this could leads our devs
Robert problem is that Cyphre code is based on VID compositing ...
Vincent
24-May-2005
[1045x2]
Bug: splitter crashes at limits with latest (1.2.113) /View beta. 
As faces aren't allowed to have a 0 size anymore, we needs to reintroduce 
the 1 pixel margin (it was in first version, as I wasn't comfortable 
with 0 sized widgets.) Code in splitter/engage/move:
if event/type = 'move [
					p: first face/data
					n: second face/data
					either face/size/y > face/size/x [
						delta: face/offset/x - face/offset/x:
						    min n/offset/x + n/size/x - face/size/x - 1
						    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
					][
						delta: face/offset/y - face/offset/y:
						    min n/offset/y + n/size/y - face/size/y - 1
						    max p/offset/y + 1 face/offset/y + event/offset/y
						p/size/y: p/size/y - delta
						n/size/y: n/size/y + delta
						n/offset/y: n/offset/y - delta
					]
					show [p face n]
				]
Ashley
24-May-2005
[1047]
Thanks, changed in next build.
Robert
26-May-2005
[1048]
The table widget looks a bit strange here in that at the right side 
I see a blue area between the last column and the slider.
Ashley
26-May-2005
[1049]
Odd, I don't see that here. What platform and View version? Screenshot?
shadwolf
26-May-2005
[1050x3]
http://shadwolf.free.fr/list-reszing.jpg
this picture shows the blu box problem ;)
seems like the list content is not resized only the countainer ;)
Ashley
26-May-2005
[1053]
404 on above link. Platform, version?
Graham
26-May-2005
[1054]
try http://shadwolf.free.fr/list-resizing.jpg
Ashley
26-May-2005
[1055]
Hmm ... I can't reproduce the problem under WinXP with any of the 
following REBOL/View versions:

	1.2.1.3.1
	1.2.10.3.1
	1.2.113.3.1
shadwolf
26-May-2005
[1056x3]
I have this with 0.2.3 and when resizing on x axis on the right
I use REBOL/View 1.2.113.3.1 24-May-2005 Core 2.6.1
Copyright 2000-2005 REBOL Technologies.  All rights reserved.
REBOL is a trademark of REBOL Technologies. WWW.REBOL.COM
but maybe in fact you yet solv the problem in the actual build in 
preparation ;)
Ashley
27-May-2005
[1059]
Can anyone else verify this with 1.2.113 on WinXP. I think it may 
be 113 / pre-XP specific. I also noticed that reducing the width 
now gives the following error:

** Script Error: Invalid graphics face object
** Where: action
** Near: show pf/pane/:pane-idx data-idx: data-idx +
Allen
27-May-2005
[1060x3]
I'm on XP. Not seeing shadwolfs issue at all.
Invalid graphics face, yes seeing that. Another 0x0 face I guess
I've asked Carl. if View will be forgiving of this 0x0 case again, 
or if we need to test/handle for all guis. I'll post here when I 
know the answer.
Anton
27-May-2005
[1063x6]
I think it's really bad to not support 0x0 sized faces....
I've been checking out RebGUI.  A number of very good design decisions 
were made.  I've ported my pair-edit style to be rebgui widget.
http://www.lexicon.net/antonr/rebol/rebgui/demo-pair-edit.r
(It needs editing to locate your rebgui directory.)
Actually, locating rebgui is a problem.  How does a script such as 
the above get the latest distribution and unzip it ?  I would prefer 
the rebgui files to be uncompressed (or compressed using rebol, at 
least) and there should be a standard way of determining the latest 
version.
So a script should be able to check for the latest version and download 
it into the public cache (which may be successful or not, depending 
if net connection is available), eg:
	do load-thru http://www.dobeash.com/it/rebgui/get-latest.r
and then just
	do path-thru http://www.dobeash.com/it/rebgui/rebgui.r

to initialize (which automatically falls back to any previously cached 
version).
Another issue:  Excuse me if this has come up before..  

The archetypal View face has some of its facets set to none, which 
makes using VID styles alongside RebGUI more difficult (because the 
VID-based styles are not expecting those facets to be changed.)

Suggestion: create widgets/rebgui-face and encourage widget creators 
to make from that.
And now a question:
	widgets: make widgets [ my-widget: make face [ ... ] ]

the best (or only) way to add your widget to rebgui, making it available 
to DISPLAY ?
Robert
27-May-2005
[1069]
table: Is the table widget missing an action when clicking a line? 
Of how do I add this feature? Is there a way to color odd/even rows 
differently?
Volker
27-May-2005
[1070]
mixing vid with rebgui has also some api-problems. some i found:

 /action: has in vid this args: [face value]. value is something usefull, 
 like area/text, slider/tdata, first text-list/picked etc. maybe its 
 not needed, "value" saves not much to "face/text". but supporting 
 that arg would be compatible

 /init: in vid this is a block and 'done. in rebgui it is a function. 
 vid has the advantage that init can be easily extended in substyles, 
 just add to it. rebgui has locals because it uses a function.
 /init2: not called by vid. 

resizing: not in vid, but one could write a /resize and plug it in 
the vid-face.

also there are some global changes which may break other things (removing 
event-func and changing global face IIRC).


If there is interest in making such small changes, i would help with 
making the rest compatible. adding #xh - parsing to 'layout and such. 
for "keep small" rebgui could have a "load-time-flag" to decide about 
using vid-stuff or all own.

What i would really like is rebgui for complex style-building (area 
with slider etc). this is closer to raw faces. and vid for quickly 
writing "pages", IMHO it has a rest of advantages there. (maybe not, 
i am a rebgui-beginner).
shadwolf
27-May-2005
[1071x2]
Robert looks to my listview code ;)
http://shadwolf.free.fr/rebgui-list49.r
Robert
28-May-2005
[1073]
I already did ;-) and got it mostly working. but not that straight 
forward as I like to see it.
Ashley
28-May-2005
[1074]
Anton

 1) Design decisions: thanks; if you think any of them were *bad* 
 then let me know, that's the reason it's still alpha ;)

 2) I like the edit-pair demo, I'll look at adding a cut-down version 
 of it to %tour.r

 3) Versioning / caching was something I was going to look at once 
 RebGUI goes beta and / or we have more of a handle on how REBOL/Services 
 works.
	4) "local" face definition: good point, added to next build.

 5) Extending widgets object: Yes, RebGUI doesn't have a "stylize" 
 system so you have to extend the widgets object when you need to 
 add your own. My hope is that with a functionally rich set of widgets 
 this will be the exception rather than the rule!

Robert

 Action handler not yet added to table widget. I'll add odd/even coloring 
 to the ToDo list.

Volker

 [face value] - less important for RebGUI as face/text or face/data 
 covers almost all cases; but I'll think on it a bit more as the compatibility 
 aspect is worth considering.
	/init - I'll look at making this a block in the next build.

 event-func removal - I'm considering a "load-time-flag" as you suggested
	system/standard/face - as per comments to Anton above
	"If there is ..." - agree fully with everything stated here ;)


RebGUI development is taking a slight pause until View 1.3 is released, 
as I want to baseline against that and remove all the pre-1.3 exceptions 
that have crept in.
shadwolf
28-May-2005
[1075]
Ashley you are right we need to base RebGUI on REBOL/View 1.3 that's 
the way it must be done ...
Graham
28-May-2005
[1076]
What's the time line on focus and tabbing between gadgets?
Anton
30-May-2005
[1077x2]
Ashley, I had also wrote a VID integer-edit style, then I decided 
to make a single function to generate pair, integer and decimal-edit 
styles. I could convert this in future. It kind of violates your 
"each widget self-contained" design feature, but the code shrinkage 
was too hard to resist, and the potential is there to support more 
datatypes...
5) Extending widgets object:   I was looking for a doc to show how 
to create the simplest widget ever. If you are happy keeping it this 
way (ie. "do it yourself") then I could write the example script 
and accompanying doc, to add to the Widget Designer's Guide.
Ashley
30-May-2005
[1079]
... simplest widget ever ...
 How much is there to write about?

	widgets: make widgets [my-widget: make face []]

Or am I missing something? ;)


Your VID edit styles sound interesting, but I'm looking for a more 
universal solution to "field input masks" and "field input validation". 
Something that would let me define a telephone number mask for example.
shadwolf
30-May-2005
[1080x4]
some thing like a ###-#### for fone number for example and ??##??? 
for 2 strings followed by 2 number then by three  strings
like 555-1234
or AD21SQF
rafinement could be a coded like mask like 3#-4# (for fone number 
mask ) and 2?2#3? (for the 2chars then 2 number then 3 chars mask 
)