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

World: r3wp

[!RebGUI] A lightweight alternative to VID

Pekr
3-Aug-2009
[8248]
- grouping/scroll-pannel - few pixels missing on lower scroller?
Ashley
3-Aug-2009
[8249]
This should address the table and disable issues raised above. WRT 
other issues:

stack overflow return
 ... could not duplicate this.
One can only select one table at a time

 ... select = focus, and yes, as focus shifts so to does the "selected" 
 row
And it seems tha I can send more than 1 line at the time now

 ... not sure I understand what the issue is here.Are we saying 'multi 
 is always on now?
hidden column

 ...I plan to properly support hidden columns ... if column width 
 is zero the face iterator will not create a face and it will not 
 otherwise be treated as a "column"
button widths

 ... the width sizing algorithm changed for button, label, heading, 
 etc (basically anything that appears on a single line)

 - previously you had to use -1 (or larger widths) to accomodate larger 
 text as the width was fixed

 - now it is fixed to the greater of it's specified width and it's 
 natural text width; and -1 sizes to the maximum of text width and 
 a line

 - there is no checking for button height (as it is assumed you would 
 either leave it at default 5 or have it larger
Pekr
3-Aug-2009
[8250x3]
lower=bottom
- title-group and image RebDoc section depend upon images from /images 
directory, which are now deleted hence not available anymore ....
- scrollbars are behing a little weirdly. When you press mouse button 
down, and you go away from scrollbar (or not), the content starts 
scrolling even before the scroller is visually moved. Nicely visible 
with RebDoc for e.g.
marek
3-Aug-2009
[8253x5]
About my previous musing...

stack overflow return

 ... This is my fault as I  put ctx-rebgui/behaviors/tabbed: [... 
 (no table in)] in my little program. Need another safe way to do 
 that.
one can only select one table at a time
 ... not tabbable table is the only way
hidden column
 ... will use 0.01
button width

 ... basically when one specify [button 100] one get old [button 103] 
 but that's ok if we know it.
More about stack overflow and tables.

When taking 'table from ctx/behaviors/tabbed it still works any extra 
tabbable widget like so

>> [table options ["A" left 1.0] data [1] table options ["B" left 
1.0] data [1] button]

but selecting from one table deselects the other. All tables selection 
was possible with previous incarnation of RebGUI. I hope somebody 
else was using this feature so it's not only me using before and 
wanting it.
I hope I nailed down my table problem now.

It seems that one can select from all text-lists on display, but 
only one table is selected from - selecting next one deselects previous 
one. Tabbded on not is not the problem.


Drop-list and edit-list cannot be closed by clicking elswhere but 
this is still to be fixed, isn'i it.
>> display "" [b1: button 5 "Short" b2: button 5 "Very Very long" 
button [print [b1/size b2/size]]]
42x20 93x20


Is this as intended? One more disadventage is no multiples of 4; 
hard to align your widgets.
I'm wrong in previous post. Please desregard it. There is no problem 
there.
marek
4-Aug-2009
[8258]
Another little observation.

This works correctly:-

>>display "" [p1: panel data [a1: area] button [set-disable a1] button 
[set-enable a1]]

This does not:-

>> display "" [p1: panel data [area] button [set-disable p1/pane/1] 
button [set-enable p1/pane/1]]  ;;  disable every time, enable never
Ashley
5-Aug-2009
[8259x4]
title-group and image RebDoc section depend upon image ...
 Fixed in next build
scrollbars are behing a little weirdly
 ... noted

basically when one specify [button 100] one get old [button 103] 
but that's ok if we know it
 ... ah, I understand the issue now. Fixed in next build.

I hope somebody else was using this feature so it's not only me using 
before and wanting it.

 ... don't worry, I think the issue is that table needs to differentiate 
 between a selected row and a row that has focus. This was not an 
 issue in previous versions as table was not a tabbable widget. Will 
 be fixed in a future build.

Drop-list and edit-list cannot be closed by clicking elswhere but 
this is still to be fixed, isn'i it.
 ... on the list to fix
Another little observation.

 ... that's an interesting bug and I have no idea at this stage why 
 the 2nd case doesn't work. Needs further investigation.


Good work marek (and others) ... we're slowly but surely ironing 
out the issues.
A small example of using the new request-error function to handle 
errors in a user-friendly fashion:

	do %rebgui.r
	if error? set/any 'err try [
		display "Main" [
			button 100x50 "Sub" [
				display "Sub" [button 50x25 "Error" [1 / 0]]
			]
		]
	]  [request-error err]
Build 204
- Fixed old refs to %images in anim, image & title-group
- Moved stock images into a new images object
- Changed refs to above
- Fixed button size bug
- Reverted wait [] behaviour
I've reverted the wait [] (do-events) behaviour back to what it was 
prior to build#203 ... so the logic is:

RebGUI v1
	display
		show face
		do-events
		attach window feel
		show face
		if dialog do-events
	do-events

RebGUI v2
	display
		attach window feel
		show face
		if dialog do-events
	do-events

which means the sample code above should now be written as:

	do %rebgui.r
	display "Main" [
		button 100x50 "Sub" [
			display "Sub" [button 50x25 "Error" [1 / 0]]
		]
	]
	if error? set/any 'err try [wait []] [request-error err]


In fact, that last idiom (wrapping the main event loop around a 'try 
/ request-error) is so basic I think I'll redfine it as a self-contained 
func (redefine do-events?).
Ashley
6-Aug-2009
[8263x2]
Build 205
- Added request-list
- Added request-email
- Added do-events
- Updated request-spellcheck (added image)
- Updated request-error
- Updated request-value
- Label size now defaults to 25x5 (was -1x5)
- Replaced "attempt" logic tests with "error? try"
- Memory footprint drastically reduced
- Added no-wait to display func
- Updated request-progress to use display/dialog/no-wait
- Fixed button over state bug
- Fixed slider jerkiness
Slider "feels" better but still has a minor known issue ... face/data 
"jumps" too quickly to 0/1 at the ends.
Pekr
6-Aug-2009
[8265x2]
Memory footprint reduced? RebGUI tour.r always showed 11something, 
now it starts over 12MB usage ....
RebDoc request-error ends RebDoc - missing argument, ditto request-list, 
request-value crashes RebDoc (populated after request-speellcheck)
Ashley
7-Aug-2009
[8267x2]
All fixed in latest build. Ignore my previous comment on memoty usage 
(it was incorrectly measured as a 50% reduction).
Build 206
- Fixed slider
- Fixed request-char
- Updated request-error
- Updated request-email
- Cosmetic changes to:
	- scroll-panel
	- led
	- led-group
	- radio-group
	- menu
	- sheet
Pekr
7-Aug-2009
[8269x4]
I still insist, that LED design is absolutly terrible - the circle 
is way too big and it really imo ruins the feel of the design :-)
Why horizontal scroller shows different dragger symbol than vertical 
one?
With gradients, I have a bit difficulcy to imediatelly distinguis, 
what is the active part of the scroller, and what is the background. 
Couldn't the background be somehow "more relaxed"?
Other than that (and pop-up bugs), it really looks as a polished 
system ...
Frank
7-Aug-2009
[8273]
I have a zero-divide error with  tour.r when i click on the scroller 
of the area widget. I'm using  REBOL/View 2.7.6.3.1 14-Mar-2008.
Ashley
7-Aug-2009
[8274]
LED design is absolutly terrible
 ... please provide a link/image of a better design

Why horizontal scroller shows different dragger symbol than vertical 
one?

 ... vertical uses "=", horizontal wasa "||" but those characters 
 don't center to well

what is the active part of the scroller, and what is the background
 ... you mean the dragger is hard to distinguish from the gutter?
Other than that (and pop-up bugs)
 ... table, text-list and tree still need a lot of work
zero-divide error with  tour.r
 ... thanks, added to the list of bugs to fix
Pekr
7-Aug-2009
[8275x5]
yes, dragger is hard to distinguish from the "gutter", whatever gutter 
means :-)
pop-ups ... e.g. menu allowing you to enter all three menus at once, 
looks a bit weird, but it is enough for me, that the rework is planned 
:-) The only thing I want for menu and lists, is, being able to close 
them clicking elsewhere ...
LED design - I don't mind how LED is represented, I do mind its proportional 
size. IMO LED (and maybe even radio) circle is way too big.
Zero divide with tour.r - mine works ok here ....
dragger symbol .... maybe I preferred not so well centered "||" instead 
of "+", but I don't mind plus sign - it is just that I think that 
it might cause some questions from users ....
Frank
7-Aug-2009
[8280]
Just click on the scroller without  any text in the area
Pekr
7-Aug-2009
[8281]
Ashley - what about my memory consumption note? Should tour.r show 
less memory usage? As for me, it is quite opposite, but not by much.
marek
8-Aug-2009
[8282x2]
Tabbing thru tables when inside panel ends in crash (205/206). Right 
gap inside changes when scroller appears (small worry).

>> [table options ["A" right 1.0] data [1] panel data [table options 
["B" right 1.0] data [1 2 3 4 5 6]]]
It seems to apply to any tabbable widgets inside panel.
Ashley
9-Aug-2009
[8284]
Build 207
- Fixed slider bug (zero divide error when ratio = 1)
- Added find-key-face to needed funcs when not using view.r
- Added undisplay (does what unview/only does, but better)
- request-error now accepts string
- Removed gui-error (obsoleted by request-error)
- Removed find-face func
- Cosmetic changes to:
	- led
	- led-group
	- radio-group
	- chat
- Removed tip & over? attributes
- Made init, options & old-color attributes optional
- Made action & feel objects optional

- Replaced rebface, subface, gradface & btnface with baseface & gradface
- Added over? function
- icon changed to accept file name directly

- Added action/on-time event (used in conjunction with rate - see 
anim)
- Added table & text-list alternate row coloring
Pekr
9-Aug-2009
[8285]
Looks nicer and polished. The only note to UI from my side - button 
gradient - makes white text badly readable ... but other than that 
it looks good. Nice addition with row-coloring for table and text-list 
- such small detail and it looks much more pleasant ...
Ashley
9-Aug-2009
[8286]
Yeah, my major insight over the last year concerning UI design is 
that it's not a question of "great graphics" but simple attention 
to numerous small details ... get the details right and the whole 
lot comes together.
Graham
9-Aug-2009
[8287]
I agree .. it's all about the detail
marek
9-Aug-2009
[8288]
display "" [button [display/dialog "" [field]]] do-events ;; nothing 
pops up when clicking the button, why? only me?
Graham
9-Aug-2009
[8289]
Try using a window title ...instead of ""
Pekr
10-Aug-2009
[8290]
Maybe tree widget could benefit from row coloring too? Would look 
consistent with table and text-list.
Ashley
10-Aug-2009
[8291]
nothing pops up when clicking the button, why?

 ... the display function exits if it hits a duplicate window title 
 (before calling layout) ... this means you don't have to worry about 
 the user hitting a button that calls a display multiple times and 
 getting multiple (near identical) windows popping up!

tree widget could benefit from row coloring too?

 ... it will, once I've rewritten it to use the same face-iterator 
 func that table and text-list use (which means it'll get all the 
 extra goodies like auto-slider support as well!
Pekr
10-Aug-2009
[8292]
.... sounds cool!
Graham
10-Aug-2009
[8293]
I remember that a previous tour had the tree inside a scroll panel 
and as you expanded the tree, sliders appeared in the scrollpanel. 
 Sometimes you can now display all elements of a tree without that 
functionality.
Ashley
10-Aug-2009
[8294x2]
Build 208
- Fixed unfocus bug
- Fixed table focus bug
- Enhanced request-verify (auto-calc label widths)
- Reworked tree to use face-iterator
- Reworked request-dir
Note the reworked tree widget only has one option [only], and currently 
defaults to expanded mode with no leading graphics. It accepts input 
in either nested block or file/path notation. Selected items are 
now fully qualified by default. Due to it's use of face-iterator, 
it no longer has practical data limits (previous version created 
a face for each item).
Pekr
10-Aug-2009
[8296x2]
Face iterator - a native R2 View thing?
How can I collapse nodes in new Tree? Tree without graphically distinguished 
nodes looks strange :-)