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

World: r3wp

[!RebGUI] A lightweight alternative to VID

Ashley
1-Aug-2009
[8224]
Yep, I need to rework the popup logic (drop-lists, edit-lists, menus) 
a bit. There was/is a lot of code to work around non-existant view 
bugs (which were present pre View 1.3). Most of the weird exceptions 
are now caused by the little-used tool-tip code! ;)
Graham
1-Aug-2009
[8225x4]
Just wondering if when there are major changes, if they can be uploaded 
to a different branch for testing before being committed to the main 
trunk.
Sounds like display is now always modal??
That's a major change .. like changing from view/new to view
Doesn't this break lots of things?
marek
1-Aug-2009
[8229x3]
I am just trying new RebGUI and like it a lot. There is one, at least, 
big problem with disable.
Sorry for breaking my message. Hopeffuly changed settings will work 
now.
>> display "" [panel data [button] disable panel data [button] disable] 
  ;;== it only disables second panel and first can't be disabled 
even later in code
Ashley
1-Aug-2009
[8232x2]
Sounds like display is now always modal?

 ... I thought modal is when only the active dialog/popup can accept 
 user input? That's still the case, try the follwing:

	display "Test" [
		area
		button "A" [display "A" [button]]
		button "B" [alert "B"]
	]


Press "A" and type some text into the area, then close "A" and try 
the same thing with "B".
Marek, good pickup ... I'll add that to the list of fixes.
marek
1-Aug-2009
[8234]
Another discovery. One can only select one table at a time. This 
is more serious problem, me thinks. The previous one seems to work 
later, but directtly from display.
And it seems tha I can send more than 1 line at the time now.
marek
2-Aug-2009
[8235]
It must be my poor accent. Not all panels or widgets inside of them 
can be disabled in layout. Later, when program is run seems to be 
no problem.

There is another little problem with tables. When last column is 
right justified with no scroller there is small gap between text 
and edge of table. when scoller kicks in
there is no gap at all.

Finally let me have little wish. Would it be possible for table to 
have 'no-sort option? Would it be usefull to anybody else?
Graham
2-Aug-2009
[8236]
I'd rather have fixed sort so you can choose which column to sort 
on, and not let it change .. as an option.  similar I guess to your 
wish?
marek
2-Aug-2009
[8237x2]
If hidden column can be one to be sorted we both will be happy.  
So it should work this way too.
I was just testing tables by

>> display "" [table options ["A" left 1.0] data [1 2] table options 
["B" left 1.0] data [3 4]]

1. Only one table can be selected from as I already discovered before

2. When any table is selected from pressing <TAB> causes this ERROR
** Internal Error: Stack overflow
** Where: group?
** Near: all [
    in face 'group 
    get in face 'group
]
Graham
2-Aug-2009
[8239x2]
oh no ... stack overflow returns :(
Note, that you can "hide" a column like this

options [ "Hidden" left .001 "Visible" left  .99 ]
marek
2-Aug-2009
[8241]
Any reason why not go:-

>> options ["" left 0.0 "Visible" left 1.0]  ;; seems to work as 
well
Graham
2-Aug-2009
[8242]
oh? didn't know could use 0.0 !
marek
2-Aug-2009
[8243]
Another possible problem, with button widget.

>> display "" [b1: button 0x0 b2: button 0 b3: button 10 button "sizes?" 
[print [b1/size b2/size b3/size]]]
Using older versions sizes are 0x0 0x20 40x40.
Version 202 comes up with 20x0 20x20 52x20.

When box widget is tested in the same way results are the same. Hope 
it will help.
Ashley
3-Aug-2009
[8244]
Build 203
- Better icons for alert, help, info & stop
- Removed tool-tip widget and supporting code
- Added ctx-rebgui/on-error object
- request-error: added icon
- request-password: added icon
- request-password: added cancel button
- request-value: added icon
- request-verify: added icon
- request-progress: added icon
- display: added no-wait option to fix request-progress
- Table: fixed resizing artifacts
- Table: added 'no-sort option
- Table: added 'no-resize option
- Table: added 'fixed-sort option
- Fixed layout/only (it ignored disable)
- Removed %images dir
- updated tour.r and RebDOC.r
Pekr
3-Aug-2009
[8245x4]
so tooltip was removed even for icons?
aren't LEDs a little bit too big?
- opening menu while not closing previous one is allowed - a bug 
imo ... I expect those things fixed with preannounced changes to 
pop-up layer?
- 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.