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
20-Aug-2009
[8319]
Build 211
- Moved base objects from ctx-rebgui to system/view
- Removed all dependencies on View/VID mezz code
- Rewrote and added show-popup & hide-popup functions
- Removed style widget
- Inlined popup logic
- Converted internal images from base 16 to base 64
- Cursor keys now work in choose (drop-list, edit-list & menu)
- pad option in layout enhanced to accept pair! (pixels)
- Added tooltips to tool-bar
- Added request-edit
- Improved resize logic
- Fixed request-dir (resize bug)
- Fixed slider (resize bugs)
Pekr
20-Aug-2009
[8320x5]
Removed style widget - so no more VID?
Not that I miss it, just a question :-)
btw - memory consomption still above 12 megs for tour.r ... but I 
find it OK ....
- lists - still the same bug ...
- tooltips - nice, but mouse pointer almost everytime covers first 
letter of tooltip itself ... maybe a bit of spacing/shifting would 
help ...
Maarten
24-Aug-2009
[8325]
Ashley, I am using build 210 (I'll update shortly), but wow, I love 
this little library. No compromises, fault intolerant, and best of 
all, ZERO learning curve.


Would it be an idea to add some systray functions to RebGUI for Windows?
Graham
24-Aug-2009
[8326]
Gabriele has written some systray stuff ...
Pekr
24-Aug-2009
[8327]
Not sure it was Gabriele - Cyphre did something upon contract for 
me, and I released it 2 years ago? :-) IIRC Cheyenne uses it too 
...
Steeve
24-Aug-2009
[8328]
Seems something here, http://rebol.wik.is/Code_Samples/Systray.r
Pekr
24-Aug-2009
[8329]
I can send you win32 API based version ...
Graham
24-Aug-2009
[8330x2]
Oh yeah ... that's the stuff I took from Gabriele's script.
Ashley, I get this when I encap the latest rebgui.r 

** Script Error: Cannot use path on none! value
** Where: load-stock
** Near: if not image: find system/view/vid/image-stock
** Press enter to quit...
Ashley
24-Aug-2009
[8332x2]
Maarten: Thanks. The Systray.r file Steeve linked to above is pretty 
self-contained (and explanetory), so I don't see much value in duplicating 
it in RebGUI (apart from the fact it is Windows specific, which is 
why I've left native requestors out as well).


Graham: The only SDK file that RebGUI now requires is gfx-colors.r 
(plus prot.r if you need protocol support). load-stock is one of 
the many View funcs loaded when you include view.r.
Build 212
- set-title enhanced to search for parent
- fixed request-edit title bug
- removed append-widget
- removed set-values
- updated get-values
- improved tool-bar tooltip spacing
Pekr
24-Aug-2009
[8334x3]
Going to test tour.r :-) btw - when do you plan to fix pop-ups (menu) 
mouse-over disappearance?
RebDoc crashes from tour.r button - "expect-arg" is the error msg 
...
RebDOC crashes even separately:


** Script Error: length? expected series argument of type: series 
port tuple bitset struct
** Where: layout
** Near: form length? functions
>>
Ashley
24-Aug-2009
[8337]
It's actually a feature a number of users have asked for ... so I'm 
going to make it a behavior flag choice in the next build (hide-popup-on-click? 
... defaulting to true, otherwise current behaviour).

RebDOC bug ... thanks, let me fix that while I'm here ...
Pekr
24-Aug-2009
[8338]
eh, ok - I just can't imagine someone can choose non-system-default 
behaviour preferably :-) But having an option to set different behaviour 
is ok with me ..
Ashley
24-Aug-2009
[8339]
RebDOC.r fixed and uploaded.
Pekr
24-Aug-2009
[8340]
works here ...
marek
24-Aug-2009
[8341]
Can I ask how to replace append-widget funcionality? Is there anything 
simpler that making custom distribution with %custom.r widget?
Pekr
24-Aug-2009
[8342]
My requestor comments, mostly cosmetic issues:

- request-error - crashes ....
- request-font - proportionally tall, should be wider imo
- request-menu - does not work, at least in terms of RebDOC
- requestor icons - imo a little big

- request-password - "strange" - needs more spacing when separator 
line is applied imo.


Take my comments easy. It is just that I was able to find 1px difference 
on our company website - 14 vs 15 pixel in one paragraph :-)
Graham
24-Aug-2009
[8343x7]
there was a rebdoc error on the requestors as well when I was testing.
Ashley, I only get the 'load-stock error using the latest rebgui.r, 
and not on earlier versions.
rebgui.r is doing something funny to VID
Here's my encap code

probe in system/view/vid 'image-stock  ; this works

#include %/c/rebgui10/rebgui.r ; 9/rebgui/rebgui.r

probe in system/view/vid 'image-stock ; this fails now

and here's the output 

image-stock
** Script Error: in expected object argument of type: object port
** Near: probe in system/view/vid 'image-stock

the error occurs on the second probe
BTW, there is an issue tracker which people can use ... it might 
be easier to post them there as well as here http://rebgui.codeplex.com/WorkItem/List.aspx
I got a crash on using cursor keys on drop list.  The error requestor 
doesn't allow me to copy the text :(

wake-event error near i: 1 + last face/picked

( isn't picked a block normally ? )
ignore that parenthetical note.
marek
24-Aug-2009
[8350]
Is anybody using append-widget function a lot, or is it only me - 
hobby programmer only?
Graham
24-Aug-2009
[8351]
I never used append-widget as I altered the sources before append-widget 
was written.  Otherwise I would have used it.
marek
24-Aug-2009
[8352]
Thanks Graham
Graham
25-Aug-2009
[8353x2]
Any suggestions for  a replacement for the VID toggle ?
above is a result of trying to mix vid and rebgui in the same script 
.. can no longer do this.
Pekr
25-Aug-2009
[8355x2]
'style widget was removed ....
hence no further ability to mix VID with RebGUI. I am not sure Ashley 
did not oversimplified it :-) Because - there was a promise of "much 
lower" memory requirements, but the opposite is true, even if RebGUI 
gets optimised. Older version consumed some 11600 memory, new versions 
do consume over 12megs ...
Graham
25-Aug-2009
[8357]
I never mixed them like this .. just used different screens with 
vid and others with rebgui
btiffin
25-Aug-2009
[8358]
re append-widget; close to ditto Graham, but I now use append-widget 
when I need to link RebGUI fields to persistent RebDB store.  Well 
it's a general purpose data-field widget that can stash code in the 
data (RebGUI keyword) attribute of the gui widget.   See http://www.rebol.org/view-script.r?script=rebdbgui.r
for a (very ineffficient) sample I posted way back when when someone 
asked for a way of getting persistent RebGUI fields.   Used to be 
the same for an overlay panel, but Ashley put in the 'no-tabs option 
for tab-panel and my copy was sent to a shallow grave as the hack 
it was deserved.
Robert
25-Aug-2009
[8359x2]
Wow, RebGUI really picked up speed again. I'm still not biting the 
bullet to backport my fork of RebGUI.
But it looks like the current version of RebGUI is highly matured.
Ashley
25-Aug-2009
[8361x6]
how to replace append-widget funcionality?
 ... make your own custom distribution in three easy steps:
1. Put your new widget in the widgets directory
2. Add it to %rebgui-widgets.r as an #include
3. Run %create-distribution.r
The append-widget function relied on extending the widgets object 
... which isn't really supported under REBOL2.
just that I was able to find 1px difference on our company website 
- 14 vs 15 pixel in one paragraph

 NP, I've actually been using DigitalColor Meter on my Mac to find 
 both pixel and RGB discrepancies ... so when you see something like 
 "pad 0x-1" in request-edit you now know its because I wanted to collapse 
 two 1 pixel edge borders into a single shared 1 pixel border. As 
 I mentioned elsewhere, its attention to trivial aesthetic details 
 like this that make the overall UI "look good".
I only get the 'load-stock error using the latest rebgui.r

 & "rebgui.r is doing something funny to VID" ... yes, it sure is. 
 The guilty lines of code are in %ctx-rebgui.r:

	view*: system/view
	screen*: view*/screen-face

 screen*/color: screen*/edge: screen*/font: screen*/para: screen*/feel: 
 none
	view*/VID:
	view*/popface-feel:
	view*/popface-feel-nobtn:
	view*/popface-feel-away:
	view*/popface-feel-away-nobtn:
	view*/popface-feel-win:
	view*/popface-feel-win-nobtn:
	view*/popface-feel-win-away:
	view*/popface-feel-win-away-nobtn: none


There's a long explanation for this, but the short explanation is 
that previously RebGUI could co-exist with VID (and I was careful 
not to redefine existing VID words/functions), this made sense so 
long as RebGUI shared some of the same basic View/VID mezz code (in 
particular the popface-feel-* functions, hide-popup and show-popup). 
Once RebGUI v2 went down the path of using its own, simpler, popface 
code then the need to maintain "Chinese walls" between VID and RebGUI 
lessened ... and the option to reuse/redefine View's basic objects 
(instead of creating parallel RebGUI objects) made sense. Once I'd 
made the decision to cut with VID support it made other decisions 
like redefining standard VID requestors (alert, confirm, etc) a lot 
easier. RebGUI can now be developed without worrying about VID compatibility 
or "breaking" VID.
Any suggestions for a replacement for the VID toggle?

 ... isn't the toggle just a drop-list less the drop component? It's 
 a fairly trivial widget to add to RebGUI, but it's not a widget I've 
 seen in any Windows or Mac apps. What do folks think about this widget 
 from a UI POV?
Graham
25-Aug-2009
[8367x2]
I'm sure I've seen buttons that change their appearance ... to indicate 
two different states.
I use them in a forever loop so that the user can start or stop  
People also use them for playing movies ... it changes from a start 
to a pause button.