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

World: r3wp

[!RebGUI] A lightweight alternative to VID

shadwolf
16-Jun-2005
[1544x5]
3) on refresh with new data  I get an internal  crash in rebgui
benchmark building table:0:00:00.062
** Script Error: Cannot use path on none! value
** Where: wake-event
** Near: ar-wid: face/parent-face/pane/:arrow-ind
either act [ar-wid/show?: true]
>>
I get now this error message when I start the list ...
see the rebgui list code in the rebolfrance.org page ;)
the only thing that have changed in the 0.51 version of my listview 
code is the scroller replaced by slider data[arrows]
Ashley
16-Jun-2005
[1549]
Anton

 1) Code size. What it loses in code size it gains in aesthetics and 
 simplified behaviour (check out the request-color and request-date 
 actions in %tour.r to see the extra "state" code required by the 
 original implementation). I like Brian's base64 solution.

 2) Tab-panel color: I've based this on the WinXP color scheme. Try 
 changing it to colors/window, it just doesn't look right. But slider 
 can be used on a colors/widget or colors/window background. WinXP 
 solves this by using a gradient / edge so that it is distinguishable 
 on either. So for RebGUI, a number of solutions are possible:

  - add a new colors/slider background that "works" with both widget 
  and windows background colors

  - add a new colors/tab-panel background that "works" with both widget 
  and windows background colors

  - use an effect like gradient to distinguish the slider background 
  color
		- or edge
		- or?
	I'm open to suggestions on this one. ;)

Brian
	1) I like the in-line image solution

 2) I like the base 64 solution even better! One problem, the button-down 
 image renders the same as button-up (i.e. 1st and 2nd images render 
 the same ... even though a quick glance at the data suggests they 
 are different?)

Graham
	Any examples where the desired behaviour is used?

shadwolf

 I did the same (replaced scroller call with "slider data [arrows]") 
 for text-list / table and it worked fine for me. Check for code that 
 tried to reference sub-faces in the old scroller widget (as Anton 
 refactored slider to use just one face).
BrianH
17-Jun-2005
[1550x2]
Ashley, I just ran the data section in View and then did a mold/all 
on the data to get the first version and wrote it to the clipboard 
and pasted it in a text editor. I copied the binary sections to a 
block and then ran a: "" foreach x data [append a rejoin ["64#{" 
enbase/base x 64 "}"]] , and then wrote a to the clipboard and edited 
in the #[image! ... specs into the resulting data. I may have missed 
a step, or there may have been duplicate images in the source data. 
The process could be automated easily though.
That's just broad strokes, but it should give you an idea. You could 
even generate this kind of thing with the prebol preprocessor.
Graham
17-Jun-2005
[1552]
Ashley, the very first web site I visited .. cnn.com, has these menus 
down the left hand side coloured in blue, with the active one in 
red.

If you click on the red one ie. the active one, it still refreshes 
the page for you.
Ashley
17-Jun-2005
[1553]
Given it's a one-line change, I'll include it in the next build bar 
any strong objections.
shadwolf
17-Jun-2005
[1554]
Ashley i prefer to wait until next release because if I strat to 
use divergent version this will not be cool
Anton
17-Jun-2005
[1555x2]
Active tab refreshing: with regards to user experience, I'm with 
Ashley, but with regards to simpler implementation that gives the 
user (the developer using the widget or the end-user) a choice how 
to deal with the event, I'm with Graham. Either way, I don't think 
people are going to lose too much sleep over this one. If I was using 
tab-panels, I would probably try to catch redundant refreshes, if 
my refreshes were slow, whether the current implementation catches 
them for me or not, in order to be safe with possibly future implementations. 
:)
Ashley, colors/widget used by tab-panel:  I still think it is an 
inherent problem of tab-panel, but it is better I pursue one of the 
other ways you suggested, which probably needs doing anyway. It's 
easier for me to change the slider than for you to change the tab-panel 
colour, which affects more widgets.  (I admit I must be a flat colour 
man..)
Luc
17-Jun-2005
[1557x3]
ashley, can you add in slider style a function wich changes the size 
of the dragger ?
or can you say me how can change it easily
thank you
Graham
18-Jun-2005
[1560x3]
BTW, I just logged on to paypal.com website, and they have 5 tabs 
at the top.  Clicking on an active tab still refreshes the page. 
 I am sure that there are however just as many websites that do not 
refresh.
Here's an inconsistency.  If I have a button, and bring up an alert, 
the button remains highlited even after I move the mouse away.  But 
if the button does something else, it dehilites when I move the mouse 
away.
How does one create a widget in a hidden state?  I've got two tab-panels 
one over the other.  I want to hide the one underneath, and expose 
it when I hide the top one?
Ammon
18-Jun-2005
[1563]
Use SHOW and HIDE
Graham
18-Jun-2005
[1564x2]
in Vid you could set the show? facet to false.
perhaps I need to display/layout, and then use hide ?
Ammon
18-Jun-2005
[1566]
That should do it...
Graham
18-Jun-2005
[1567]
nope.
Ammon
18-Jun-2005
[1568]
Hm...  Show and Hide are Natives I wonder what RebGUI is doing to 
stop them from working...
Graham
18-Jun-2005
[1569x2]
Got it.
Use a 

do [ widget/show?: false ] 

in the layout.
Is there a word similar to 'focus ?
Ashley
18-Jun-2005
[1571]
The following *should* work:

	display "Test" [text false]  or  [text #[false]]


But don't for some reason (the layout parser checks for it). I'll 
fix this for the next build.
Graham
18-Jun-2005
[1572x2]
display "" [ sum: field "10" button "clear" [ sum/text: copy "" show 
sum ]] do-events
after a couple of clears, the text in the field is no longer visible
Ashley
18-Jun-2005
[1574x2]
Luc: dragger size is controlled by ratio, so just do a "sld/ratio: 
a / b show sld" or similar in your code.
Graham: replace the "show sum" with "rebfocus sum"
Graham
18-Jun-2005
[1576]
Ok.  But if I leave the mouse over the button, it takes 2 clicks 
to clear the field
Ashley
18-Jun-2005
[1577]
Fixed in latest build.
Graham
18-Jun-2005
[1578]
Is the current build able to be encapped?
Ashley
18-Jun-2005
[1579]
Not with a pre-1.3 SDK. %rebgui-widgets.r uses some 1.3 specific 
words such as case, unless, etc. Once it starts making greater use 
of AGG-specific draw commands there will be no going back.
Graham
18-Jun-2005
[1580x2]
Pity, as a 1.3 SDK timeline has not been announced yet
Can't have more than one password field ?

>> display "" [ password 10 return password 10 ]  do-events
** Script Error: Face object reused (in more than one pane): none
** Where: view
** Near: show scr-face
if new [do-events]
Graham
19-Jun-2005
[1582x2]
I think the default behaviour for a tab within an edit-list should 
be to leave the list, and not insert a tab.
How does one force rebol to recover memory?

>> stats
== 4202333
>> do %tour.r
Script: "Untitled" (none)
Script: "RebGUI system" (15-Jun-2005)
>> stats
== 14955467
>> recycle
>> stats
== 14922539
Sunanda
19-Jun-2005
[1584]
If the memory is allocated (in local variables) then you can't. Cos 
it is still in use.
Otherwise, try recycle/torture


But first, try to work out what stats is saying (cos I don't understand 
it) --- look at this:
  stats

  longstring: form now/precise loop 20 [append longstring random longstring]
  stats

Longstring is some 25meg long and not very compressible , but the 
2nd stats returns (for me) a slighly larger number than the 1st time.


Stats has some refinements now -- try help stats -- they might be 
more useful for tracking memory.

And maybe switch to core group for a general discussion.
Gabriele
19-Jun-2005
[1585x2]
>> stats
== 4190349

>>   longstring: form now/precise loop 20 [append longstring random 
longstring]

== {19-Jun-2005/12:18:31.453+2:001.439u-:-3150/2n20810:1:52+0J120:-:+/-05n5222:-1401358.:J0:191u.5n0J9:23082/u11+343
0-105335400-21u...
>>   stats
== 51939328
>> length? longstring
== 30408704
>> 51939328 - 4190349
== 47748979
i guess you had a lot of garbage already? this is from a fresh console.
Ashley
19-Jun-2005
[1587]
Graham: If you want to reduce RebGUI's memory footprint just rename 
%dictionary/American.dat ... that alone accounts for more than half 
the memory footprint. ;)

Interestingly enough, adding:

	button "Clear" [clear system/locale/dict]

or

	button "Clear" [system/locale/dict: none]


to %tour.r have lesser and differing effects (from a stats / recycle 
perspective).
Sunanda
19-Jun-2005
[1588]
Gabriele -- no I was working from a fresh console.

Suggests the new GC is a bit odd, or platform dependant in some ways.
Gabriele
19-Jun-2005
[1589]
The above is on WinXP.
Graham
19-Jun-2005
[1590]
Ashley, please note the bug with two or more password fields.
shadwolf
19-Jun-2005
[1591]
graham the bug with many password fields is undertable that's because 
it's designed in a field + password field window (like login requestor 
....)
Graham
19-Jun-2005
[1592]
As long as it can be fixed.  I have a screen I want the user to enter 
the password twice :)
shadwolf
19-Jun-2005
[1593]
hehe sure you are rght cONFIRMA TION password  for config panel  
!!! I think Ashley doesn't think on this case ;)