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
6-Sep-2005
[1940]
ie. the rule can be defined by the user, and the gui allows us to 
specify a rule.
Kaj
6-Sep-2005
[1941]
If you make the rules that complex, I think there should be a way 
to give custom feedback, like displaying an error message
Graham
6-Sep-2005
[1942]
Ok, perhaps use the action block for that.
Pekr
7-Sep-2005
[1943]
Ashley - pressed for time, more on that later, but basing field values 
upon datatypes is not imo good way to go ...
Ashley
7-Sep-2005
[1944]
And the alternative is?
Kaj
7-Sep-2005
[1945x4]
I'm willing to bet Petr wants an evaluation function, like in Lotus 
Notes ;-)
Which is indeed very flexible, but data types would be a good default
There's a problem with money, though, because the REBOL 1'000 syntax 
is not the human 1.000/1,000 way
(Not that there isn't always a problem with money ;-)
Chris
7-Sep-2005
[1949x2]
My thought is to have two parse rules -- one evaluated on keypress, 
the other on exit (of field).  The exit parse rule would be strict, 
the keypress one would allow for partially completed entry, but denies 
a keypress that fails the rule.  The two parse rules could be passed 
as arguments or created from a dialect?
For example, the dialect may be:
#XXX-XX
and produces:
[0 3 numeric 0 1 #"-" 0 2 numeric][3 numeric #"-" 2 numeric]
Graham
13-Sep-2005
[1951]
Any updates here?
Ashley
14-Sep-2005
[1952]
Working on a number of 'layout fixes and adding support for a "return-after 
n" type keyword that should reduce the number of 'return's used in 
certain types of displays.
Graham
14-Sep-2005
[1953]
Great.
Pekr
14-Sep-2005
[1954x2]
one question - will there be better list/grid support? My rebol friend 
would use rebgui immediatelly, but is smiling and saying - those 
ppl don't design db releated apps? Wow can they live without multi-column 
text list or proper grid? :-)
I told him those more complex styles will come later ....
Graham
14-Sep-2005
[1956]
there is multicolumn list now.
Pekr
14-Sep-2005
[1957]
pretty weak though :-)
Ashley
14-Sep-2005
[1958]
I'm using code like the following quite often now:

	display join settings/file " Summary" compose/only [
		...

  records: table 90x25 #W options ["Date" right .4 "User" left .2 "Description" 
  left .4] data (

   sql compose [select [date user description] from sys_records where 
   (id) order by date desc]
		) [
			;	set record path
			record-path: dirize join file-path first face/selected
			...
		]
	...
	]


The table widget is now very DB friendly. I haven't had a need for 
a grid widget, but then again my apps don't require spreadsheet type 
functionality.
Pekr
14-Sep-2005
[1959x2]
Does it handle column resizing already?
that was broken ..
Ashley
14-Sep-2005
[1961]
Column resizing and sorting now work correctly. In addition a number 
of useful accessor functions exist to more easily manage the data. 
From the online doco:

5.24 Table


Columns and rows of values formatted according to a header definition 
block.

Specification
 	action	block to execute when an item is selected. 	
 	data 	block of values. 	

  options 	Optional multi word followed by column header entries in 
  the form: 	
		string specifying column title
		word specifying column alignment
		decimal specifying column width as a percentage

Runtime
 	data 	block of values to display. 	
 	picked 	block of currently selected row number(s). 	
 	selected 	block of currently selected data. 	
 	redraw 	function to redraw widget after data changes.
Pekr
14-Sep-2005
[1962]
is there a multicolumn text list? Btw - why Carl did not check-in 
his updated and better list style as from VID 1.3 older IOS initiative 
for 1.3?
Ashley
14-Sep-2005
[1963]
Plus the latest build lets you assign alt-click and dbl-click actions.
Pekr
14-Sep-2005
[1964]
hmm, still the same issues - how they will be adressed? I know that 
event/focus system is not all that easy to change - but drop lists 
still work in non-system friendly manner - can't close it clicking 
away or pressing escape .... text-list does not allow multirow sellection 
(or it is part of its options?) I will better look into docs to stop 
asking what is maybe obvious :-)
Ashley
14-Sep-2005
[1965]
Table and multi-column text-list are one and the same. Not involved 
in the VID 1.3 work so can't answer that.
Pekr
14-Sep-2005
[1966x2]
table still needs a lot of work imo .... when you select record, 
move down by arrow down - when hilighted-row reaches the bottom, 
it does not cause srolling and row hilighting vanishes ...
nice work on request-dir!
Ashley
14-Sep-2005
[1968]
Thanks, that and table still need a few minor aesthetic improvements 
but the base functionality is pretty solid.
Pekr
14-Sep-2005
[1969x6]
can I have visual cell dividers? I mean - some styling istead of 
flat white design? It is list after all, so I will have to play with 
it ...
another "bug" - maximize demo .... move last column to righ, minimize 
back - you can't see last column and there is no chance how to get 
to it .... I would expect horizontal scroller to appear ...
as for text-list multi-selection - dunno if I was understood incorrectly, 
or it was my fault to provide you with not so accurate description 
of how multi-selection with shift works .... however - it should 
be easy for you to check - just start Explorer and play with shift 
multi-selection ...
when you hold shift, it should remember the "last" press, but it 
means last before you pressed the shift. And that last point should 
not change. So - if you then select some other row, whatever the 
row is, it should still hilite rows between the initial point, and 
the point of your actual selection ...
I selected incorrect word last time .... "last" meant "initial" - 
it should work like anchor ..... simply you have one row selected 
..... once you press shift, no matter what happens, that hilited 
row becomes kind of anchoring initial point. Then when you select 
whatever row, everything in between anchoring initial position and 
the point of your actual selection becomes hilighted/selected ... 
ufff, somehow can't express myself :-)
otherwise ctrl and other multiselection functionality is correct 
...
Graham
17-Sep-2005
[1975]
Why does using alert sometimes close down the window it is being 
called from?
Ashley
17-Sep-2005
[1976]
Haven't come across that one before. When it's happened was there 
anything in common between occurrences (I'm assuming its too sporadic 
for a reproducible test case)?
Graham
18-Sep-2005
[1977x3]
Any plans to write accessor functions like 'get-text ?
I guess what's happening is that 'alert shuts down any modal screens 
showing like this:


display "" [ text "Non modal screen" return button "dialog" [ display/dialog 
"Test" [ text "Modal Screen" retur
n button "Alert" [ alert "hello" ]]]] do-events
display "" [ text "Non modal screen" return button "dialog" [ display/dialog 
"Test" [ text "Modal Screen" return button "Alert" [ alert "hello" 
]]]] do-events
Ashley
18-Sep-2005
[1980]
No plans with 'get-text, unless it was to do something over and above 
what face/text does (i.e. trim then show).


The alert problem is related to RebGUI's liberal use of hide-popup 
to cope with drop-lists and edit-lists that need to be closed when 
another one is opened. I figured at the time that having more than 
one non-modal dialog open at the same time probably didn't make much 
sense - although an alert from within one is a valid case [in hindsight].
Graham
18-Sep-2005
[1981x3]
I just noticed that you can't initialise the data in a table with 
a copy [], but you have to 'clear it instead.

table/data: copy []
append table/data [ ... ]
table/redraw 

does not work

but 
clear table/data
append table/data [ ....]
table/redraw 

does work
Ashley, can we fix it so we can allow alerts within a modal window?
The other thing ( small ) is that rows from a database are normally 
returned like this


[ [ .... ] [.... ] ] whereas table expects it's data like [ ............... 
]

we have to flatten it before sending it to the table.
Ashley
18-Sep-2005
[1984]
Alert ... to be fixed.


Table data is normally changed with "insert clear data [...]" - this 
optimization needs to be documented.


The table data representation shows my bias towards a simple flat 
structure and is compatible with RebDB (representing each row as 
a block makes sense for small volumes of data but is wasteful once 
sizable numbers of rows are being managed).

Good observations, keep them coming. ;)
Graham
19-Sep-2005
[1985x2]
I guess the slight problem with a flat structure is that you have 
more interdepencies in the code


With a flat structure, I have to know that there are 4 elements in 
each row

row: skip face/data first face/picked - 1 * 4

Whereas with blocks for rows I can do this instead

row: skip face/data first face/picked - 1
that should be .. face/picked/1 - 1
Robert
19-Sep-2005
[1987]
From my experience with Cyphre's table style, it makes sense to use 
a name/value block for the data. With this you can throw a block 
in any order and even one, that has more fields than being displayed. 
The latter makes a lot of sense if you just want to get back an internal 
ID.
Graham
19-Sep-2005
[1988]
Also, when removing rows from a table, you have to remove each item 
in a row, rather than just the one block
Henrik
19-Sep-2005
[1989]
One problem is sorting; You need to extract the row you need to use 
for sorting, create the sorting sequence and rebuild the block. Or 
is there a faster way?