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
25-Aug-2009
[8378x2]
there were somethings I could not do in rebgui so I would switch 
to using ViD in the same application

 ... there shouldn't be any. Both VID are RebGUI are just "face factories" 
 ... feed them a spec and they produce a face object. All other functionality 
 is neither VID nor RebGUI specific. I get a lot of emails asking 
 "how do I do x in RebGUI", but 99% of them are really "how do I do 
 x in REBOL", or, "how do I use the SDK to do x" type questions.

I use VID to do a print preview ... using a draw dialect

 ...RebGUI's use of the effect facet (and hence draw) is no different 
 to VID's. Also note that 'draw is available as a native from the 
 console (i.e. you don't event need VID or RebGUI to use it).
And toggle?

 ... does it need to support more than two states? Does it need to 
 support text (like a button) and images (like icon)?
Graham
25-Aug-2009
[8380x5]
Well, I personally don't use icons for buttons ...
Just something like the VID toggle is fine for me.
different text and different colours for the buttons
more than two states is a rotary widget ...
BTW what's wrong with set-state [ block of widgets to disable ] ?
Ashley
25-Aug-2009
[8385x2]
Ah, I confused the toggle and rotary widgets. OK, I'll add toggle 
(text button version only).
what's wrong with set-state [ block of widgets to disable ] 
 ... do you really mean set-disable and set-enable?
Graham
25-Aug-2009
[8387]
could be .. the function that changes info
Ashley
25-Aug-2009
[8388]
options [info] was replaced with set-disable and set-enable .. and 
you can specify disable like this as well:

display "Test" [
	field
	f: field disable
	field
	button "Off" [set-enable f]
	button "On" [set-disable f]
]
Graham
25-Aug-2009
[8389]
I've been looking at the jqGrid ... http://www.trirand.com/jqgrid/jqgrid.html
and many of these grids use a data source instead of a static block 
of data.
Ashley
25-Aug-2009
[8390]
(see why I'm keen to redo the docs :) )
Graham
25-Aug-2009
[8391x5]
why not just ... set-enable f true/false
with a data source you can let the pagination occur within the widget
And let the widget handle the "loading ..." indicators
What I do at present is use a tab-panel and have the loading gif 
in one, and then replace that panel with the table once the data 
arrives
Having pagination would really help a lot ... sometimes i have tables 
full of hundreds of items.
Ashley
25-Aug-2009
[8396]
why not just ... set-enable f true/false
 ... makes sense, I'll think on that one
use a data source instead of a static block of data
 ... live data?
Graham
25-Aug-2009
[8397]
sql query
Ashley
25-Aug-2009
[8398]
What do you mean by pagination in the context of a table?
Graham
25-Aug-2009
[8399x4]
say you have 1000 rows... but you only want to display 20 at a time
having all the data inside the table at once means big slow down 
time
better to feed the table from a sql query, or another function that 
holds all the data
so you can use the scroller to move within the 20 items .. but not 
to scroll past them.  You have to paginate to the next 20.
Ashley
25-Aug-2009
[8403]
The slow-down is from the query side not the RebGUI/table side. Table 
uses an iterator function so whether the table has 10 rows or 1,000,000 
it should be the same speed ... fetching 10 rows or 1,000,000 across 
a network is another story.
Graham
25-Aug-2009
[8404x4]
That's not my observation.
Anyway, 20 rows will be faster than 40 right?
Anyway, scrolling thru 1M rows is impractical.
I presume altme uses an iterator function as well... I just switched 
from 1000 to 4000 in preferences and now scrolling is a dog.
Ashley
25-Aug-2009
[8408x3]
Try this on 10, 100 and 1,000 rows:

d: copy []
loop 20 [insert tail d reduce [random 10 random 10]]
s: now/time/precise
display "A" [
	table 20x100 options ["A" left .5 "B" left .5] data d
]
print now/time/precise - s

seems to scale pretty well here (on a Mac).
(replace loop 20 with loop n)
Back to your request-value question, does the prompt for:


 request-value "Enter the url for your website here. It looks h t 
 t p ://www.site.com"


appear on 3 lines? If so, what would you enhancement request (vertical 
layout option) do? (not wrap the prompt and extend the field width 
to match prompt text width?)
Graham
25-Aug-2009
[8411x2]
the prompt doesn't wrap currently ...
I'd just want an after 1 layout I think
Ashley
25-Aug-2009
[8413]
What build# are you running?
Graham
25-Aug-2009
[8414x5]
I tried your latest
as for the table scrolling ... yes, it is fast.
Did you change the table routines recently?
In my app, I have 24 rows, and there is a definite lag belween the 
scroller and what I see on screen.
ie. the scroller lags behind the mouse as it drags it up and down.
Ashley
25-Aug-2009
[8419]
The underlying face-iterator hasn't changed much, but the slider 
code was totally rewritten ... so it *might* have been the slider 
widget?
Graham
25-Aug-2009
[8420x4]
I'm using the table from prior to the big color changes
Going to try the older rebgui....
Wow .. huge differences
Even with only 50 items there is a noticeable lag with the older 
table.
Ashley
25-Aug-2009
[8424]
The rewrite was worth it then ;)
Graham
25-Aug-2009
[8425x3]
Yes .. definitely .. although I can't use it without breaking my 
application
Did you always use iterated faces for the table?
Could it just be the scroller?