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

World: r3wp

[!RebGUI] A lightweight alternative to VID

Volker
28-Apr-2005
[653x2]
n: 100'000
bench: func [code] [t1: now/precise loop n code
	print [difference now/precise t1 mold code]
]
bench [switch 'f [a [] b [] c [] d [] e [] f [] g [] h []]]

bench [parse [f] ['a () | 'b () | 'c () | 'd () | 'f () | 'g () | 
'h ()]]
parse is 3* faster here.
Vincent
28-Apr-2005
[655]
parse loop in display.r needs some work, as a lot of wrong combinaisons 
are allowed like [s: 10x20 #1010 button] and not easy to trap.
Volker
28-Apr-2005
[656x2]
tuning parse: first thing would be to put the frequent things first. 
like string! and block!. and soemthing like 'rate last. if parse 
is the slowdown.
its a sequential search.
Ashley
28-Apr-2005
[658]
A related improvement (if possible) is to group all the word tests, 
something like:

	set arg word! (
		switch arg [
			return [...]
			at [...]
			"a color" [...]
			"a widget" [...]
			...
		]
	)
shadwolf
28-Apr-2005
[659x2]
to see my advance on list-view widget report to the first working 
sample http://shadwolf.free.fr/rebgui-list2.r
I redone it completely ;) changing the way data was handled ...After 
a little chat with Vinxent it appears that sort algorithms would 
be easier to write if the data was handled by rows instead of beeing 
handled by row ;)
Volker
28-Apr-2005
[661x2]
I expect switch is slower.
maybe the native case can compete.
shadwolf
28-Apr-2005
[663x6]
volker I just made a 1ko lesser more opimized version  ;)
native case ? how that ?
looking how case works ;)
oh oh case word is not in the dicionnary  ;)
plz Volker can you explain me how it works ?
huuuuuuuuuum I wouldn't be using  case because it's an alpha feature 
only support in rebol/view 1.2.5x
Volker
29-Apr-2005
[669x2]
its in the very latest alphas.
now i see you found it.
shadwolf
29-Apr-2005
[671x3]
I remake another time the buil-table function for the listview widgets 
( acording to Ashley  advices) build code is pretty easier to understand 
and the buildtime spend in the fonction is pretty inferrior than 
in the previous implementation (on an other data organasation ) rebgui-list2.r 
build-table time is 0.047 with regui-list3.r it's 0.31 (both  with 
data countaining 5cols  100rows on a PC ( win2k SP4, Amd sempron 
2600+, SDRAMM DRR PC3200) )
According to ashley advice the new data organisation is faster and 
it will be easier and fast for the sorting algorythm (still not implemented 
in rebgui-list3.r ;)
you can download here my current work here http://shadwolf.free.fr/rebgui-list3.r
Robert
30-Apr-2005
[674]
Hey shadwolf, how about english comments :-)? My French is a bit 
rusty.
Ashley
30-Apr-2005
[675]
Esperanto? ;)
Robert
30-Apr-2005
[676]
listview: Pretty cool :-)) Some ideas:

- add a line highligh feature for the selected line and the line 
the cursor is currently pointing to

- double clicking the column-resize bar resets the column width to 
the default value

- add an up/down arrow to the column which was used for sorting, 
to indicate sorting order
shadwolf
30-Apr-2005
[677x2]
I'm sorry working in french is just easier for me ...
the code is so easy that we doesn't need comments I facts :)
Brock
30-Apr-2005
[679x2]
Nice work absolutely.  One comment...

I believe the 'typical' behaviour of column resizing that each trailing 
column is offset the amount the column was resized.
I was also thinking about the feature that was being discussed that 
allows for more tabs than the width of the layout.  How about an 
option to allow the tabs to wrap when larger than the layout?  Take 
the number of tabs, divide the total by two and auto-size the tabs 
to the full width of the layout, just now there is two rows.  I think 
this would be a nice alternative behaviour for when the user interface 
benefits from being able to see all possible tabs.
Graham
30-Apr-2005
[681]
I like the idea of stacking the tabs .. as in most windows control 
panels ...
shadwolf
30-Apr-2005
[682x3]
Brock yes the colonne resizing feature is planned. but I fear this 
kind of feature is speed in C/C++ and slow in rebol ...
nut once I dont test it I can't say if it would be alright
but not nut
Graham
30-Apr-2005
[685]
the alternative is what cyphre does for his tabbed panel gadget .. 
which is an arrow on the right which shifts the tabs left and right
shadwolf
30-Apr-2005
[686x2]
Brock second feature is planned too ...
For the moment it's a prepre alpha demo to show to you what are my 
way to make it and if people find it good :)
Brock
30-Apr-2005
[688]
I like it so far - haven't looked at the code or how you bind the 
data.
shadwolf
30-Apr-2005
[689x11]
I splitted betwin a heavy implemented listview with lot of gadgets 
events  (witch means lot of code) and  a  just what we need listview 
(first step for heavy implemented listview)
I'm splitted not I splitted
Brock datas are organised like that [ [ "title" type size (and so 
on)] [ data1 (and so on) ] ] size is not implemented yet
normally size data will be linked with resizing feature
actually I'm writing select and retrieve function
http://shadwolf.free.fr/redgui-list4.r
you can find here my first implementation of selection & retrieve 
fonction ;)
I improved the code
http://shadwolf.free.fr/redgui-list4.r
you can access the selected line data with the picked field into 
the listview
http://shadwolf.free.fr/rebgui-list4.r
Graham
30-Apr-2005
[700]
if it only runs on alpha view, then we can't encap
shadwolf
30-Apr-2005
[701x2]
normally it runs on every rebol/view since 1.2.1.3.1
the only thing you needs to change is the modulo call "modulo i 2" 
can be replaced by "i // 2"