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
22-May-2006
[3757x2]
Anton - as for the get-rebgui, if you are the author, you could check 
following - Bobik's situation was, that he used latest View, the 
script showed following:

connecting to: www.dobeash.com
Script: "RebGUI update system" (21-Feb-2006)
Local RebGUI version ==> none
Remote directory ======> http://www.dobeash.com/RebGUI/

Local directory =======> c:\documents and settings\user-name-here\data 
aplikací\rebol\public\www.dobeash.com\RebGUI
Downloading manifest ==> OK


the thing is - above directory does not exist, nor was it created 
by the get-rebgui script .... so the thing is, what happened then. 
It did not start downloading particular widgets though ...
I wonder where View took the above directory from? Does it rely on 
registry? Or does it ask just OS for the current user data directory? 
Or? .... strange ...
BrianH
22-May-2006
[3759]
It's in the registry, and expressed as an environment variable APPDATA 
as well.
Anton
22-May-2006
[3760x2]
It gets it from view-root, which is the public sandbox directory, 
used by path-thru etc. as usual.
Yes, view-root gets its value from the registry.
Graham
22-May-2006
[3762]
Is there a no-wrap option for area?
BrianH
22-May-2006
[3763]
At install time, the initial default value of view-root is set to 
%APPDATA%\REBOL
Anton
22-May-2006
[3764x2]
Pekr, was there no error message ? or was "Downloading manifest ==> 
OK" the last line of output ?
Ashley, can you add get-rebgui.r into SVN as well ?
Pekr
22-May-2006
[3766x2]
ah, so .... so actually you can't know, if user has installed View 
or not .... but it should not mind .... maybe small check then would 
cure the situation? if view-root does not exist, create it ...
last line output ... no error ....
BrianH
22-May-2006
[3768]
The other trick is telling whether a specific user has View set up 
on a multiuser system. There are still some multiuser-unfriendly 
bugs in the REBOL/View installer, mostly for backwards compatibility 
with View 1.2 registry settings. At least the file handling has been 
made multiuser safe - we'll see if REBOL 3 solves the rest of the 
problems.
Pekr
22-May-2006
[3769]
the problems were described ... in general we should be able to have 
choice to install for a) all users b) one particular user .... and 
with uninstall to a) keep private data b) remove data .... uninstall 
is flawed though, as when you uninstall, the icon is removed from 
control panel and other user has no option to uninstall ... or you 
remove the rebol even when other user did not agree to :-)
BrianH
22-May-2006
[3770]
The main problem is where in the registry REBOL stores its settings. 
There are per-user settings and per-machine settings, and REBOL stores 
many of both in the wrong places in the registry. The details of 
this are once again off topic, though.
Anton
22-May-2006
[3771x3]
Pekr, try running the script again. Are you launching it like this?
do http://www.dobeash.com/get-rebgui.r
By the way, Ashley, I think get-rebgui.r should be moved into RebGUI/ 
directory so everything is self-contained. It's not going to affect 
the end user, since they don't download it.
Ashley
22-May-2006
[3774]
can you add get-rebgui.r into SVN
 ... done
should be moved into RebGUI/ directory
 ... on the list
Pekr
22-May-2006
[3775]
Anton - posted to Bobik, I will let you know ...
Anton
22-May-2006
[3776]
Thankyou Ashley.
Graham
22-May-2006
[3777]
Robert, is the tree widget you've asked Cyphre to create near completion 
yet?  I think maybe it might be useful for the request-directory 
widget.
Ashley
22-May-2006
[3778]
I'll second that.
Thør
22-May-2006
[3779]
.
Graham
23-May-2006
[3780]
A mind blank here ... what am I doing wrong ?

>> do %rebgui.r
Script: "Untitled" (none)
>> i: load %skype.png
== make image! [21x21 #{
FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFB
FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF...
>> display "" [ image i ]
** Script Error: Cannot use path on none! value
** Where: init
** Near: size/x: image/size/x
Anton
23-May-2006
[3781]
image data i   ?
Graham
23-May-2006
[3782]
nope
Anton
23-May-2006
[3783]
display "" compose [image (logo.gif)]
Graham
23-May-2006
[3784]
works .. why should it need compose ?
Anton
23-May-2006
[3785]
That's rebgui -
Graham
23-May-2006
[3786]
the docs need changing then?
Anton
23-May-2006
[3787]
you tell me.
Graham
23-May-2006
[3788]
Yes, needs updating.
Ashley
23-May-2006
[3789]
display "" [image %skype.png] also works


http://trac.geekisp.com/rebgui/wiki/WidgetList#imageis pretty clear 
(needs a file! or image! *not* a word!)
Graham
23-May-2006
[3790x2]
Hmm.  i, in the above example, is of type image!
How about creating an examples directory, and link to that for each 
widget?  This would remove any confusion that others may also have.
Ashley
23-May-2006
[3792]
Probably better to provide a small example under each widget description. 
Updated the above Wiki entry. How about that?
Graham
23-May-2006
[3793]
It might be cleaner to do it the way I suggested, but anything that 
illuminates helps :)
Ashley
25-May-2006
[3794]
Latest SVN change (Rev#16) now uses reduce/only to evaluate words 
/ paths without the need for compose. This allows code like:

display "" [
	image i
	bar my-width
	field my-data/field1
	...
]

to be written. It still does not allow inline expressions like:

display "" [
	text my-width - 3 form now/date
	text (my-width - 3) (form now/date)
]


although I'm working on adding support for the later(parenthesized) 
form. As a side note, this is a bit of a shift in my position. I 
used to be of the opinion that explicit declaration via compose was 
more efficient than implicit declaration; but it turns out to be 
less efficient in a number of ways:

	Coding: requires extensive use of compose/deep and parenthesis

 Obviousness: it's not obvious why code like "image my-image" doesn't 
 work

 Complexity: forcing use of compose/deep makes it harder to write 
 action blocks inline [that need themselves to use compose]
	Familiarity: It's not the way VID or other dialects work

 Speed: compose/deep is actually slower than reduce/only and a few 
 subsequent parenthesis reductions


You can thank Graham's comments above as the catalyst to change. 
;)
Graham
25-May-2006
[3795x4]
Ahhhggg...
I hope this doesn't require extensive changing of my code.
I think it does ...
I presume I can still keep using display "" compose/deep [ date: 
field (date-width) ]
Ashley
25-May-2006
[3799]
Change has no effect on current display code and does not impact 
the use of compose/deep. It merely *allows* you to write:

	display "" compose/deep [date: field (date-width) ]

as:

	display "" [date: field date-width]
Anton
25-May-2006
[3800]
Ashley, I think it is a bad idea to use reduce/only in this context. 
It was basically designed for the draw dialect, so it disallows function 
and expression evaluations. I would recommend just processing the 
layout dialect similar to the way VID layout does it.
Ashley
25-May-2006
[3801]
Why? The main dialect parser of RebGUI can now be expressed in one 
simple parse construct:

parse reduce/only spec words [
	any [
		opt [... evaluate () to return a REBOL value...]
		[
			parse rules to handle REBOL values
			...
		]
	]
]


compared to the relatively complex parsing logic in VID (which, to 
be fair, has to handle styles amongst other things).


The main functional difference between what this allows in VID and 
RebGUI is that you don't need to parenthesize your expressions in 
VID (and I kind of like the idea of having to parenthesize them anyway, 
it makes expressions stand out just like they do in compose).


Having said that, if someone can show me a RebGUI parser built along 
the lines of VID that is clean and lean I'll willing to be convinced 
otherwise. ;)
Anton
25-May-2006
[3802]
Mmm.. ok. Let's see how it goes.
Ashley
25-May-2006
[3803]
Latest SVN change (Rev#17) now evaluates parenthesis without the 
need for compose. This allows code like:

display "" [
	text (my-width + 50) (form now/date)
]


and the following widgets now reduce their data block: anim, check-group, 
led-group, radio-group ... which allows:

display "" [
	anim data [image-1 image-2]
	radio-group data [idx "One" "Two"]
]


These changes shouldn't impact existing RebGUI apps (i.e. they are 
backwardly compatible).
Anton
25-May-2006
[3804]
That's probably more comfortable.
Thør
26-May-2006
[3805]
.
Ashley
27-May-2006
[3806]
Couple of minor administrative fixes:


 - Examples added for every widget in http://trac.geekisp.com/rebgui/wiki/WidgetList
  

 - http://www.dobeash.com/RebGUI/display.htmlupdated to reflect latest 
 changes (and have information duplicated in WidgetList removed)

 - Updated site with latest build and corrected path to: "do http://www.dobeash.com/RebGUI/get-rebgui.r"