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

World: r3wp

[!RebGUI] A lightweight alternative to VID

Robert
5-Dec-2005
[2560x3]
label / field: How to create labels and fields that are all the same 
size, automatically? I want all labels to have the width of the widest 
label and all fields to aligan left. For creating pretty input-forms.
Something like guide but more intuitive to use.
How is the default size for a group-box determined? IMO it should 
default to the min-size to include all contained widgets.
Graham
5-Dec-2005
[2563x3]
there's some config settings in rebgui.r I think
I don't think there's a guide
to get all the field sizes the same, use compose

eg compose [ label "First Name" field (fieldsize) ]
Robert
5-Dec-2005
[2566]
And for the labels? Is there a trick too?
Ashley
5-Dec-2005
[2567]
Robert, in answer to your first question:

display "" [
	field 50x50
	return
	field 50x50
	return
	field 50x50
	at 52x0
	field 50x154
]

display "" [
	field 50x50
	field 50x154
	at 0x52
	field 50x50
	return
	field 50x50
]


(the later does not work correctly under 0.3.7 - adding a simple 
"max-height: 0" to the 'at rule in rebgui-layout.r fixes this under 
0.3.8).
Graham
5-Dec-2005
[2568]
same "trick" can be applied to labels
Robert
5-Dec-2005
[2569x2]
docs: tab-panel and action word isn't very clear to understand. Better 
to provide an example:
	tab-panel data [
		action []
		...
	]
tab-panel: Is there a way to add an action block that's executed 
before switching to a new tab? IMO this would be very handy. For 
example I want to show/hide screen elementes depending on which tab 
the user clicked.
Graham
5-Dec-2005
[2571x3]
tab-panel data [
action [ print "displaying tab1" ] [ label "Tab 1" ]
]
if you want to change the layout of a tab in the action block .. 
you can.
action [ hide [ btn1 btn2 bttn .. ] show [ btn3 btn4 btnn+1 ] [ ...layout 
... ]
Robert
5-Dec-2005
[2574x3]
Yes, but this makes a bit complicated. I need to show two tables 
if the user clicks two specific tabs. And hide them if the user clicks 
ANY other tab. And I want to avoid adding an action [hide tab1 hide 
tab2] to all other tabs.
Because if I have a change, I need to touch a lot of code to keep 
this in sync.
I know, I can write a function and just add action [hide-tab] but 
even this needs to be added to all tabs.
Graham
5-Dec-2005
[2577x3]
that's how I am doing it in my app
I also have a common set of buttons that are shared by all tabs. 
 I detect which tab is visible, and perform the relevant action
I originally had only one action for a common button, and the action 
for that button was revectored on clicking the tab .. but that got 
too complicated too quickly
Robert
5-Dec-2005
[2580]
So the buttons are displayed outside the tab and have a context sensitive 
action block?
Graham
5-Dec-2005
[2581]
yes
Robert
5-Dec-2005
[2582x2]
Ok, good idea.
Is there a way to specify an input-pattern that is only allowed for 
fields? Like number etc.?
Pekr
5-Dec-2005
[2584]
Robert - IIRC not. We just help one longer talk about field masking 
etc., but dunno if anything was implemented ...
Robert
5-Dec-2005
[2585x4]
Ok, next one: I need to start an action as soon as a field looses 
the focus. Is this possible? I need to trigger a re-calculation.
Hmm... no luck.
field (size) action [...] doesn't work
field (size) [...] doesn't work
field (size) data [ action [...]] doesn't work
How adding this is a generic pattern of function calls? IMO very 
useful:
	inbound-action
	widget-action
	outbound-action
Graham
5-Dec-2005
[2589x2]
at present actions only fire on enter .. not on tab or any other 
event
I think this should be changed to allow tabs etc.
Volker
5-Dec-2005
[2591]
BTW is this edit-bug with downkey fixed by Ashley?
Ashley
5-Dec-2005
[2592]
That plus a lot of other problems with area have been fixed in 0.3.8.
Volker
5-Dec-2005
[2593]
ANd now you release it, sdk is out? :)
Ashley
5-Dec-2005
[2594]
I'm just running some last minute tests to see what issues have been 
corrected now that View supports the parent option [again].
Volker
5-Dec-2005
[2595]
The license was gpl-compatible, so that it runs with beer?
Ashley
5-Dec-2005
[2596]
Better than GPL:


RebGUI is a community project that is free for both commercial and 
non-commercial use. Dobeash Investments Pty Ltd retains copyright 
on the name RebGUI and the concepts embodied in the display function 
as well as all associated documentation other than that which covers 
REBOL/View Facets.

Code submissions, in particular widgets, will 
be accepted and credited to the author under the condition that they 
carry these same licence conditions.
Volker
5-Dec-2005
[2597]
SOunds like i can "link" with gpl.
Ashley
5-Dec-2005
[2598x2]
Yes, no problems. You can also change and modify without any requirement 
to contribute back. Also, there is no requirement for attributions 
/ acknowledgements.
With regards to actions, I was contemplating adding pre and post 
action triggers that were fired on focus and unfocus respectively. 
I think the existing action / alt-action / dbl-action triggers cover 
the widget-action class sufficiently. Comments?
Volker
5-Dec-2005
[2600x2]
Would enable better editors. saving caret in face itself, for later 
find, replace etc.
WOuld like a textface which does that automatically.
shadwolf
5-Dec-2005
[2602x2]
edges problems hihihih this kind of bug i absolutly don't have on 
my computer and  i don't know why ...
i will merge it  ...
Graham
5-Dec-2005
[2604]
Ashley, how would you decide whether you only wanted the unfocus 
trigger?
Ashley
5-Dec-2005
[2605]
focus would look for a face/focus function while unfocus would look 
for a face/unfocus function. So the code might look like:

	...
	field unfocus-action [do-validation face/text]


the validation, if it failed, might shift focus back into the field 
the user tried to leave. Something like that I guess.
Graham
5-Dec-2005
[2606x2]
Would there be a way so that the default action is triggered by an 
unfocus event ?
Rather than having to specify 'unfocus-action ...
shadwolf
5-Dec-2005
[2608x2]
okay i see the edge bug now when i merge the listview code in the 
regui-wiget.r file ^^
it's seems like i have to insert edge: default-edge in all my dyn 
rebfaces ....