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

World: r3wp

[!RebGUI] A lightweight alternative to VID

Graham
18-May-2006
[3649]
with latter.
Volker
18-May-2006
[3650]
How to create a RebGUI widget http://www.lexicon.net/antonr/rebol/doc/create-a-rebgui-widget.html
sends me to http://w3.eftel.com/home.cms
Anton
18-May-2006
[3651]
Now available here:

http://home.wilddsl.net.au/anton/rebol/doc/create-a-rebgui-widget.html
Volker
18-May-2006
[3652]
Thanks :)
Anton
18-May-2006
[3653]
Still works :)
Pekr
19-May-2006
[3654x2]
guys, did you test get-rebgui on systems without view installed? 
I was just informed, that it states that downloading manifest OK, 
but apparently the directory does not exist at all  ....
to hell with installation and system "friendliness" :-)
Anton
19-May-2006
[3656]
What version of rebol is it ?
Volker
19-May-2006
[3657x3]
Hoiw is the svn related to get-rebgui? %tour.r ismissing?
;bug? if my face is smaller than min-size, it is initially smaller 
on screen. This works in 'display:
	;	min-size?
	if find view-face/options 'resize [
		insert tail view-face/options 'min-size
		insert tail view-face/options either min-size [size] [
			view-face/size + switch/default fourth system/version [
				3	[8x34]	; WindowsXP
			][
				4x30		; Others
			]
		]
if view-face/size <> max view-face/size size[
 span-resize view-face size - view-face/size
 view-face/size: max view-face/size size
]
No, buggy too.
Ashley
19-May-2006
[3660]
How is the svn related to get-rebgui?

 The SVN is for developers / experienced REBOLers ... it is used to 
 manage individual widget source files. %get-rebgui.r obtains a pre-built 
 distribution (including a merged %rebgui.r, %tour.r, images and demo 
 scripts). It is targeted at 'end users' who don't want to use SVN.

%tour.r is missing

 I want to add it *without* having to also add sample icon images 
 to the SVN. I'll probably just 'inline' the images so it's all in 
 one big file.


min-size: read this very carefully: http://www.dobeash.com/RebGUI/display.html#section-2.1.2


The Note says it all: "The min-size limit will only be enforced upon 
a window resize, and the size is inclusive of an OS specific number 
of border / title pixels. Also note that if any widgets are resizeable 
(#H and #W) and min-size has not been specified then RebGUI will 
assign a default value equal to the initial window size."
Pekr
20-May-2006
[3661]
Anton - latest version ....  but I suggested Bobik to sipmly install 
rebol and see if it helps ....
Graham
20-May-2006
[3662]
why would you want to test rebgui without view installed??
Pekr
20-May-2006
[3663x4]
Because installation sucks, that is all :-)
It is very GOOD example, of how some ppl think about rebol - I did 
not influence Bobik's opinion, yet it was natural for him, to use 
rebol.exe dropped in the dir of particular app. I used that model 
too, but gave up and installed View
I know that two ppl is not enough as a representative amount of users 
following some logic, but :-)
when I update my View, I risk older apps may not work .... that is 
why I used that model .... of course we can use -i option, but it 
was broken with olders releases ...
Graham
20-May-2006
[3667]
rebgui is a developer's tool.
Pekr
20-May-2006
[3668x2]
well, you can always state anything. Being a developer's tool does 
not tell anything how ppl are using Rebol to develop. I am not comfort 
with idea of installation, simple as that. I never use double-click 
to launch my scripts and never will do, untill we get one exe and 
components (file associations issue). And noone should explicitly 
tell, how do I use any tool.
I have my View\RebGui, View\whatever-project subirs. I do like to 
simply copy on my USB and go. With current aproach, while it follows 
OS customs, for me it is flawed. I can't even spell easily enough, 
where tour.r is located. I would welcome some "look-up" function 
to not care - simply if it is in my sandbox, wherever it is, just 
run it ....
Graham
20-May-2006
[3670]
I think this is off topic for Rebgui.
Pekr
20-May-2006
[3671x2]
it is, and it is not - If I would not assist Bobik, he would probably 
give up. Yes, it is his fault to not know view-root, sandbox etc., 
but it tells something - things should stay easy in the first place. 
There is more and more apps, which follow copy & run principles - 
two articles on czech developer's site. And as Steve said - Amen 
- we give up on our own principles, following the outer world, when 
outer world is starting to get our ideas ...
so yes, this is probably off topic, thanks for reminding me. It is 
always safer and comfort to remind someone that something is off-topic, 
than actually admint, that there could be some thruth to it. I can 
see the fear of eventually losing the ground admitting, that current 
aproach was not all that optimal solution ... whatever ....
Graham
20-May-2006
[3673]
There is a View group ...
Anton
20-May-2006
[3674x4]
Pekr, what version of Rebol is it ?  eg.. system/product == ?  system/version 
== ?
What was the error message received ?
Oh I think I see what the problem is. After running get-rebgui.r 
it's not easy to see where the installation dir is. Well, it's probably 
in the public cache. This should show you where the files went.
list-dir path-thru http://www.dobeash.com/rebgui/
Ashley, don't delay because of icons. SVN can obviously easily handle 
them and you can always remove them later when you have time. But 
we need to test the tour against the latest rebgui changes to make 
sure they're working.
Volker
20-May-2006
[3678x6]
- Why not images in svn? AFAIK it can handle that. (download-size?). 
Would be nice if i could checkout and have the real rebgui-demo after 
running some build-script.

- min-size: it was easy to enforce an initial resize if some dimension 
is to small. I did that with a small example, area only.See the posted 
lines (maybe they need to be reversed. I experimented a bit). But 
it fails with other things. (obviously needs a check for presence 
of /min-size, but then the sizes dont change right.)
Pekr, i was confused too. thought you want to extract rebgui without 
/view, /core only. "not installed" .. :)

No directory: I guess it takes the default sandbox without installation, 
that one it suggest while installing.
Multiple views, not installed: i guess you can keep multiple exes 
and run them. maybe rename them with version. They would share registry-setting, 
but i dont think they relaunch the installed exe. Although the default 
rebol for Ü.r would change.
With your usb, do you have a private account on the machines? So 
that you have own registry-settings?
sandbox-location: the '*-thru with the url. And you can launch rebol 
with an url too, it uses sandbox then. (newer feature).
Oops, are we are a bit OT here, its not rebuis problem? Was in answer 
mode. Although, get-rebgui could download to  the currenent folder, 
not the sandbox. Its for developers, but developers need to find 
the scripts after running it.
Robert
20-May-2006
[3684x2]
SVN: Yes, can handle binary files very well. SO let's just add everything 
required to build a complete developer and end-user distribution 
of RebGUI.
Makes keeping everything in sync much simpler.
Ashley
20-May-2006
[3686]
Agreed. %tour.r and associated images added (also added pie-chart 
to tour under 'Graphic' - previously 'Picture' - category).
Graham
20-May-2006
[3687x2]
It would be nice if we could use the same jargon for the same action.
So, /redraw = /update ?
Ashley
20-May-2006
[3689]
Had a look at porting Henrik's list-view over to RebGUI. Main challenge 
would be to convert / merge 4 styles (list-icon, list-field, list-text 
and list-view) into a single rebface. This would require quite a 
bit of code restructing. The actual internals don't need too much 
work (functions and feel code are pretty VID/RebGUI neutral), but 
a lot of references to RebGUI 'standards' need to be added; such 
as:

	default-* objects instead of system objects
	ctx-rebgui/sizes
	ctx-rebgui/colors


And the span facet needs to be added (and support logic added) to 
enable dynamic resize / rescale. Given the amount of code that needs 
to be changed, I don't believe a VID and RebGUI version can be [easily] 
built from the same code-base (i.e. the port will in effect create 
a fork).


Also, from a code complexity POV, the list-view widget is almost 
as large as *all other widgets combined* ... and it includes functionality 
that could probably otherwise go into a grid / spreadsheet type widget 
(list-view is almost a GUI framework in its own right now! ;)). If 
anyone's in doubt, I think Henrik's work rocks and fills a much needed 
gap in VID functionality. ;)
Volker
20-May-2006
[3690]
In rebgui-functionality too or not?!
Henrik
20-May-2006
[3691x4]
ashley, I'm not even sure that many methods I'm using are entirely 
correct. I've seen bugs in it that would be caused by incorrect usage 
of CTX-* objects, for example, which causes some information to shared 
where it shouldn't be.

So if it would be possible to have someone look at it (while not 
laughing) and point out what things could be better designed, that 
might help a lot.
I've also thought about splitting the code in more levels to achieve 
better abstraction. Whether this would help for a RebGUI version 
or not, I don't know. I do think that there would be a need to create 
automation for building both for VID and for RebGUI.
another solution again is to simply wait a bit longer until I get 
some more critical features in and then simply fork the thing. This 
I don't particularly like.
I guess I need to make use of RebGUI in the near future and figure 
out how it works. Then I could make the port myself
Ashley
21-May-2006
[3695]
Having converted (or at least used as a starting base) a number of 
VID styles to RebGUI widgets I've observed that the final code is 
40%-60% smaller (YMMV) and easier to understand in that most of the 
logic resides in the widget itself (i.e. it is self-contained). But, 
once the code to be converted reaches a certain size where I can 
no longer 'grok' it in a single reading (about a hundred lines for 
me) I find it easier to code from scratch. ;)


I'd also break it into two separate widgets: grid and list-view, 
and look at the minimum function set each requires (KISS).


Simplest way to start is to read all the doco under 'RebGUI Documentation' 
at http://www.dobeash.com/RebGUI/then look at the source code of 
a few widgets (start with something simple like %button.r then move 
onto %table.r which shares a lot in common with list-view).


If you run into any brick walls (or find yourself asking, "why oh 
why did they do it that way?") just drop a note here. ;)
Robert
21-May-2006
[3696x3]
I just want to inform you what enhancements I needed and Cyphre did 
so far for RebGUI:


table: Add an API to table that allows to change the columns layout 
at runtime: my-table/set-columns ["Column 1" left 0.25 "Column2" 
center 0.75]


drop-list: fire action only if selection was made/changed, at the 
moment action fires if clicked on field too


general: on-un/focus should be fired if user clicks an other widget, 
not only if carets leaves the widget when TAB is pressed


table: moving bar up/down with keyboard should fire click-action, 
alternativ: pressing RETURN can fire click action

table: align header text like data (left, center, right) at the moment 
always left
table: TRAC #21


TRAC #5 Cyphre: should be fixed but please test it and let me know. 

TRAC #6
I'm going to test all those changes and than we are ready to publish 
them back to the official RebGUI repository.


Ashley, do you first want to take a look at the changes or should 
I just check them in?


What about the docs? Who is going to update them? Should the RebGUI 
docs be added to the repository as well?
WRT Henrik's list-view: I think Ashley is right, that we should try 
to seperate the list-view and grid-view and see if we can extract 
common code to both. I would preferr a layered approach, where I 
can add more "comfort layers" if I want but I'm not forced to always 
have this code included.