• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

AltME groups: search

Help · search scripts · search articles · search mailing list

results summary

worldhits
r4wp64
r3wp1992
total:2056

results window for this page: [start: 1601 end: 1700]

world-name: r3wp

Group: Core ... Discuss core issues [web-public]
Oldes:
16-Jun-2009
Maxim, do you know this:
>> view layout [image %/f/IMG_0783.jpg]
>> second second :load-image
== [%/f/IMG_0783.jpg make image! [1024x768 #{
4E707A59767C5D7172565F5A4D4E464E4A3F554D4258504558494254453E
4F40394E3D364A373148332E...
Anton:
17-Jun-2009
It may not seem obvious, but 

	view layout [image %file.png]

does make use of LOAD-IMAGE, as Oldes pointed out.
Here is where the IMAGE style does it:

	print mold get in svv/vid-styles/image/multi 'file
Graham:
20-Nov-2009
So, here, how would I get this working?


test: func [ /local lo ][ lo:  {button "test" [ alert "hello" ]} 
view layout to-block lo ]
Chris:
20-Nov-2009
test: func [ /local lo ][ lo:  {button "test" [ alert "hello" ]} 
view layout bind to-block lo 'all]
Graham:
20-Nov-2009
this doesn't work ...


 test: func [ /local lo alert] compose/deep [alert: (:alert) dummy: 
 none lo:  {button "test" [ alert "hello" ]} view layout bind to-block 
 lo 'dummy]
Graham:
20-Nov-2009
this works 


test: func [ /local lo alert dummy] compose/deep [alert: get in system/words 
'alert dummy: none lo:  {button "test" [ alert "hello" ]}    view 
layout bind to-block lo 'dummy ]

just not working in my script though
Nicolas:
14-Aug-2010
;Rule30
rule30: to-image layout/tight [box 6x1 yellow edge none]
foreach n [2 5 6] [poke rule30 n orange]

;Img
screen: system/view/screen-face

img: draw make image! screen/size  reduce ['pen 'yellow 'fill-pen 
'yellow 'box 0x0 screen/size]


img: at img img/size/x / 2
change img orange
img: at img -2x0
width: 3


it: copy/part rule30 3
find img it
Graham:
14-Aug-2010
view layout [ f1: field button "test" [ context [ view/new layout 
[ f1: field "testing" ]]] button "F1 value" [ probe f1/text ]]


why does the context not prevent the second f1 overwriting the first 
?
Henrik:
14-Aug-2010
because LAYOUT sets set-word!s globally. they don't exist in a particular 
context.
Graham:
14-Aug-2010
view layout [ f1: field button "test" [ use [ f1] [  view/new layout 
[ f1: field "testing" ]]] button "F1 value" [ probe f1/text ]]

this works though
Graham:
14-Aug-2010
so this is like a 'funct for layout
Gabriele:
14-Aug-2010
layout vid-context [....]
Graham:
14-Aug-2010
c: does [ f/text: "hello" show f ] view layout [ f: field button 
"New" [ context [ f: g: none bind [ c ] 'g view/new layout [ f: field 
button "test" [ c ]
] ]]]


this doesn't work ... pressing the test button sets the f field in 
the first window and not the second
Graham:
14-Aug-2010
c: does [
	f/text: "hello" show f
]
view layout [
	f: field
	button "New" [
		context [
			f: g: none
			bind [c] 'g
			view/new layout [
				f: field
				button "test" [c]
			]
		]
	]
]
Gregg:
14-Aug-2010
c: does [
	f/text: "hello" show f
]
view layout [
	f: field
	button "New" [
		context [
			f: g: none
			bind second :c 'g
			view/new layout [
				f: field
				button "test" [c]
			]
		]
	]
]
Graham:
14-Aug-2010
rebol []

c: does [
	f/text: copy "hello" 
	show f
]
view layout [
	f: field
	button "test - c" [ 
		bind second :c 'show
		c 
	]
	button "Clear" [ f/text: copy "" show f ]
	button "New" [
		context [
			f: g: none
			bind second :c 'g
			view/new center-face layout [
				f: field
				button "test" [
					bind second :c 'g
					c
				]
				button "Clear" [ f/text: copy "" show f ]
			]
		]
	]
]
Graham:
14-Aug-2010
( the first 'bind outside of the layout is not needed )
Graham:
15-Aug-2010
c: does [	f/text: copy "hello" show f ]

view layout [
	f: field
	button "test - c" [	c ]
	button "Clear" [ f/text: copy "" show f ]

	button "New" [
		context [
			f: g: none
			view/new center-face layout vid-context/to [
				f: field
				button "test" [ c ]
				button "Clear" [ f/text: copy "" show f ]
			] 'c
		]
	]
]

Gabriele, this doesn't work for me ...
Anton:
15-Aug-2010
hello: func [word][do bind [f/text: copy "hello" show f] word]

open-window: does [
	view/new center-face layout vid-context [
		f: field

  button "Hello" [hello 'f] ;  Pass to HELLO any one of the words in 
  this context (here 'f).
		button "Clear" [clear-face f]
	]
]

open-window
do-events
Anton:
15-Aug-2010
window-functions: [
	hello: does [f/text: copy "hello" show f]
]

open-window: has [ctx] [
	view/new center-face layout bind vid-context/to [
		f: field
		button "Hello" [hello]
		button "Clear" [clear-face f]
		button "New window" [open-window]
	] 'ctx context bind window-functions ctx
]

open-window
do-events
Anton:
15-Aug-2010
hello: does [f/text: copy "hello" show f]

bind-funcs: func [word] [

 foreach window-function [hello][bind second get window-function word]
]

open-window: does [
	view/new center-face layout vid-context [
		f: field

  button "Hello" [bind-funcs 'f hello] ;  Pass to BIND-FUNCS any one 
  of the words in this context (here 'f).
		button "Clear" [clear-face f]
	]
]

open-window
open-window
do-events
Anton:
15-Aug-2010
hello: func [ctx] [do bind [f/text: copy "hello" show f] ctx]

open-window: does [
	view/new center-face layout vid-context [
		f: field

  button "Hello" [hello self] ;  Pass to HELLO this context (created 
  by VID-CONTEXT).
		button "Clear" [clear-face f]
	]
]

open-window
open-window
do-events
Anton:
15-Aug-2010
hello: does [f/text: copy "hello" show f]

bind-funcs: func [ctx] [

 foreach window-function [hello][bind second get window-function ctx]
]

open-window: does [
	view/new center-face layout vid-context [
		f: field

  button "Hello" [bind-funcs self hello] ;  Pass to HELLO this context 
  (created by VID-CONTEXT).
		button "Clear" [clear-face f]
	]
]

open-window
open-window
do-events
Anton:
16-Aug-2010
svv/vid-styles/button/multi/block: func [face blk][ ; <- This only 
does BUTTON for now.
	if pick blk 1 [
		;face/action: func [face value] pick blk 1

  face/action: func [face value /local window word] compose/only [

   window: face/parent-face ; Find the window face <-- (simplistic for 
   now)

   word: window/pane/1/var ; Find a word which references a field in 
   the window. <-- (simplistic for now)
			print "Remake action function."

   face/action: func [face value] probe append append copy [bind-funcs] 
   to-lit-word word (pick blk 1)
			do-face face value
		]

  if pick blk 2 [face/alt-action: func [face value] pick blk 2] ; <- 
  Also need to remake alt-action similarly to action, above.
	]
]
bind-funcs: func [word] [

 foreach window-function [hello][bind second get window-function word]
]

hello: does [f/text: copy "hello" show f]

open-window: does [
	view/new center-face layout ctx: vid-context [
		f: field
		button "Hello" [hello]
		button "Clear" [clear-face f]
	]
]

open-window
open-window
do-events
Anton:
16-Aug-2010
svv/vid-styles/button/multi/block: func [face blk][ ; <- This only 
does BUTTON for now.
	if pick blk 1 [
		;face/action: func [face value] pick blk 1

  face/action: func [face value /local window word] compose/only [

   window: face/parent-face ; Find the window face <-- (simplistic for 
   now)

   word: window/pane/1/var ; Find a word which references a field in 
   the window. <-- (simplistic for now)
			print "Remake action function."

   face/action: func [face value] probe append append copy [bind-funcs] 
   to-lit-word word (pick blk 1)
			do-face face value
		]

  if pick blk 2 [face/alt-action: func [face value] pick blk 2] ; <- 
  Also need to remake alt-action similarly to action, above.
	]
]
bind-funcs: func [word] [

 foreach window-function [hello][bind second get window-function word]
]

hello: does [f/text: copy "hello" show f]

open-window: has [window ctx] [
	window: view/new center-face layout vid-context/to [
		f: field
		button "Hello" [hello]
		button "Clear" [clear-face f]
		button "Clear window2's field" [clear-face window2/user-data/f]
	] 'ctx
	window/user-data: ctx
	window
]

window1: open-window
window2: open-window
do-events
Gabriele:
16-Aug-2010
>> lay: layout vid-context/to [f: field g: button] 'ctx
>> ? ctx
CTX is an object of value: 

   f               object!   [type offset size span pane text color 
   image effec... 

   g               object!   [type offset size span pane text color 
   image effec...
Group: !RebGUI ... A lightweight alternative to VID [web-public]
Graham:
31-Oct-2007
what's the code for the layout backdrop?
Ashley:
31-Oct-2007
code for the layout backdrop?
 As above:

	display "" [
		button 10x10
		do [face/image: my-image face/effect: 'fit]
	]

or:

	display "" [
		button 10x10
		do [face/image: load %my-image.png face/effect: 'fit]
	]
Ashley:
13-Dec-2007
someone told me that I can't use RebGUI and LIST-VIEW in the same 
project in 2 different windows.
 They were wrong:

do %rebgui.r
do %list-view.r

display "" [
	text-list data [a b c]
	button [
		view/new layout [
			list-view with [
				data: [a b c]
			]
		]
	]
]

do-events
Luis:
13-Dec-2007
list-view in rebgui:

rebol []
do %rebgui.r
do %list-view.r
				
display "" [
	text-list data [a b c]
						b: box 50x50 sky
						button []
		]

view/new layout [
			lv: list-view with [
				data: [a b c]]]
unview

b/pane: lv	
b/pane/offset: 0x0 
show b
do-events
Pekr:
14-Dec-2007
iv that view/new ... unview phase needed? Isn't using layout enough 
to get similar result?
Steeve:
14-Dec-2007
why did u not use the layout keyword ?
Ashley:
14-Dec-2007
vid is shorter, also layout is a verb and could cause confusion. 
The other word I was thinking of using was 'style ... which has the 
side benefit of suggesting "insert a single VID style here" (i.e. 
'vid and 'layout encorage you to think in terms of a block of styles). 
Still open to opinion/suggestions on this one
Henrik:
15-Dec-2007
LIST-VIEW uses the LAYOUT keyword to generate row faces at least 
for edit fields, possibly other places (don't have the source right 
here). Try adding:

vid 60x40 data [list-view with [data: [a b c] editable?: true]]

and double click to edit
Graham:
25-Dec-2007
Given 

tab-panel data [
	"panel1" [ ]
	"panel2" [ ]
]
button "Change layout in panel1" [ how do I do this? ]
Ashley:
25-Dec-2007
Graham, re your tab-panel question:

display "" [
	t: tab-panel data [
		"P1" [field]
		"P2" [field]
	]
	button [
		d: 1
		var: t/pane
		var/:d: ctx-rebgui/layout/only [field red]
		var/:d/offset: as-pair 0 ctx-rebgui/sizes/line
		var/:d/edge: ctx-rebgui/widgets/default-edge
		var/:d/color: ctx-rebgui/colors/widget
		either t/data = d [show t] [var/:d/show?: false]
	]
]
Graham:
25-Dec-2007
Hmm.. bit complicated.  Is there a way we can construct a layout 
and point the existing layout to the new one?  this is how panels 
are done in Vid I think.
Gregg:
31-Dec-2007
ROTARY is the VID equivalent of spinner. 

	view layout [rotary data [a b c]]
Graham:
31-Dec-2007
So, I have to recreate the whole layout for tab in order to refresh 
the tree ?
Graham:
21-Feb-2008
do you have to be on the tab panel you are replacing to use tab-panel/replace-tab 
?  I see the new layout appear on the current tab.
btiffin:
10-Mar-2008
Daniel; Check out http://www.rebol.org/cgi-bin/cgiwrap/rebol/view-script.r?script=layout-1.8.r
for a what you see is kinda what you get layout editor.   The tricks 
will be buried in the code, but it has to do with ordering the face/pane 
entries.  Also see http://rebol.com/docs/view-system.html#section-3
for a description of face/pane.
Graham:
15-Mar-2008
display "" [ area 100x100 options [ info ] on-click [ print "You 
clicked me"]] do-events

- the area does not respond to the on-click action whereas


view layout [ info 40x40 [ print "You clicked me" ]] works fine in 
VID
Robert:
17-Mar-2008
Ashley, yes exactly. I think users will be much better in remember 
a screen layout instead of where in a menu hierarchy you find an 
entry.
JohanAR:
23-Mar-2008
I'm changing the pane of a window by calling layout manually, but 
all widgets with span seem to be placed regarding to the old layout's 
size :(
Ashley:
23-Mar-2008
Note that layout and ctx-rebgui/layout are different funcs ;)
Graham:
25-May-2008
I'm trying to create a widget that resembles the one from the MS 
demo

http://screencast.com/t/unHPOZ0oP


I've got a bunch of panels inside a scroll-panel.  When I click on 
a panel, I recreate the whole layout using replace-tab which is okay 
if I haven't scrolled down the panel, and add the area below the 
panel I clicked on.


If I have scrolled down, I capture the scroll-panel/panel/1/offset 
and then try and set it back again ... but when I show the scroll-panel 
even though the offset is eg. 0x-188, I stil need to scroll down 
to see it.

Ideas on how to show the scroll panel at the current pane offset?
Ashley:
22-Jun-2008
Pekr, try the following (after the do/#include of %rebgui.r):

	ctx-rebgui/layout [text "?"]
Graham:
24-Jun-2008
I'm experimenting a little now, but with multiple resizable panels, 
I think it might be easier to generate layouts on the fly rather 
than keep a static layout that one updates various fields.
Graham:
25-Jun-2008
think this might be classed as a bug in the layout 


display "" compose [ button "testing" 15.1 button "again"] do-events

the first button does not display if there is a decimal size
Graham:
7-Jul-2008
It just regenerates the layout
Graham:
7-Jul-2008
and then I use tab-panel/replace-tab [ new layout ]
amacleod:
28-Aug-2008
** Script Error: listview has no value
** Where: layout

** Near: listview 80x60 data [["Title 1" text "Title 2" check "Title 
3" image "Title 4" image "Title 5" text] ["Line 1:1" fals
e l...
Graham:
2-Sep-2008
the equivalent VID code


w: does [
	view/new layout [
		f: field
		do [ focus f ]
	]
]

view center-face layout [
	button "Focus Test" 90 [ w ] 
	return
	text-list 100x30 
	data ["W" ] [
		switch face/text [
		"W" [ w ]
		]
	]
]

works as expected.  No focus issues.
Ashley:
6-Dec-2008
Shouldn't be ... both display and layout just generate a bunch of 
view faces at the end of the day. If it's really an issue you can 
always call system/words/layout from within RebGUI for those layouts 
that must be VID generated.
Graham:
6-Dec-2008
system/words/layout would mean I would have to use the VID dialect 
though
Graham:
22-Apr-2009
The main thing I wanted was a way to input numbers using the mouse 
which is easy enough using a calculator layout.
Graham:
23-Apr-2009
however, I can't reproduce it outside my app yet.  
Now if I replace the above with 

add2script: has [ tl ][
    view/new layout [
        t1: text-list 100x100 data [ "one" ] [ print t1/text ]
    ]
]

then double click always produces two windows ...
Graham:
24-Apr-2009
Ashley, why is double click here producing two windows?

do %/c/rebgui9/rebgui/rebgui.r

nw: func [ ][

 view/new/offset layout compose [ label text (form now/precise) ] 
 to-pair reduce [ random 400 random 400 ]
]

display "Double Click Test" [
	table 40x40 options [ "Dbl Click me" left .9 ] data [ "one" ] 
	on-click [ nw ]
	on-dbl-click [ ]
]

do-events
Graham:
24-Apr-2009
this illustrates the problem.


do %/c/rebgui9/rebgui/rebgui.r
do http://www.fm.tul.cz/~ladislav/rebol/default.r
do http://www.fm.tul.cz/~ladislav/rebol/closure.r

nw: func [ /local lab ][
	view/new/offset layout compose [
		below 
		lab: text (form now/precise)
		button "show" [ probe lab/text ]  
	] to-pair reduce [ random 400 random 400 ]
]

nw2: closure [ /local lab ][
	view/new/offset layout compose [
		below 
		lab: text (form now/precise)
		button "show" [ probe lab/text ]  
	] to-pair reduce [ random 400 random 400 ]
] 

display "Double Click Test" [

 table 40x40 options [ "Func Dbl Click me" left .9 ] data [ "one" 
 ] 
	on-click [ nw ]
	on-dbl-click [ ]

 table 40x40 options [ "Closure Dbl Click me" left .9 ] data [ "two" 
 ] 
	on-click [ nw2 ]
	on-dbl-click [ ]
]

do-events
Graham:
24-Apr-2009
foreach window view*/screen-face/pane [all [title = window/text exit]]

so 'display exits before it calls the 'layout function
Graham:
25-Apr-2009
Hmm.  Maybe the first window is not created before the second one 
is as the window creation is async. So, it does not find the window 
title in the pane, and so the layout function is called again.
Graham:
25-Apr-2009
Looks like this is the case... a print statement after this confirms 
the layout function is called twice on a double click.
Ashley:
27-Apr-2009
a print statement after this confirms the layout function is called 
twice on a double click

 ... as per documentation ( http://www.dobeash.com/RebGUI/user-guide.html#section-3.2.3
 ) "Every on-dbl-click event is preceded by an on-click event, as 
 shown in the following example: ..." But, the real problem here (as 
 you've discovered) is that the method for checking window uniqueness 
 relies upon a [title] string that only manifests *after* a layout 
 is substantiated. I suppose RebGUI could manage its own window title 
 cache, but then you introduce another point of failure (if the cache 
 gets out of sync with view*/screen-face/pane). I wonder if putting 
 a small wait value *before* the current title string test would "fix" 
 the problem (i.e. give the preceeding layout sufficient time to substantiate)?
Pekr:
10-May-2009
OK, here we go:

- full keyboard navigation

- virtual-data-system - ability to hide/show columns, without the 
need to reorganise original data block (virtual columns)
- the same for rows
- programmable navigation (goto)
- buttons, checkboxes - simply layout elements in cells
- tri-state columns - sorted, unsorted, original

missing  (it was supposed to be done as an update):
- column resizing
- saving the configured state for particular form
Ashley:
30-Jul-2009
RebGUI v2 RC1 (build 200) uploaded to SVN

Focus of this version has been:
	* Make it look good (color scheme based on Windows 7)

 * Take into account OS sensibilities (different corner rounding, 
 window colors, system fonts)

 * Get rid of the cruft (removal of little-used widgets and options)
	* Improve tabbing
	* Make it load and run faster



Added
	icon
	get-fonts
	confirm
	request
	request-calc
	requesst-verify
	rebface/old-color
	rebface/over?



Reimplemented
	arrow
	calendar
	drop-list
	password
	slider
	tool-bar
	set-state
	set-color



Enhanced
	chat
	edit-list
	spinner
	table
	request-char
	request-font



Removed
	question
	request-ui
	pie-chart
	symbol
	options [info no-click]
	options [arrow options]


WIP
	A disable/enable function and layout option
	Rewrite of led widget
	Rewrite of tree widget
Pekr:
31-Jul-2009
hmm, SVN says:

RebGUI v2 RC1

Added
	icon
	get-fonts
	confirm
	request
	request-calc
	requesst-verify
	rebface/old-color
	rebface/over?

Reimplemented
	arrow
	calendar
	drop-list
	password
	slider
	tool-bar
	set-state
	set-color

Enhanced
	chat
	edit-list
	spinner
	table
	request-char
	request-font

Removed
	question
	request-ui
	pie-chart
	symbol
	options [info no-click]
	options [arrow options]

WIP
	A disable/enable function and layout option
	Rewrite of led widget
	Rewrite of tree widget
Ashley:
31-Jul-2009
Build 201 uploaded
- Added request-error
- Enhanced request-verify
- Added set-enable
- Added set-disable
- Added layout disable option
- Enhanced led widget
- Enhanced radio-group

Example disable/enable usage

display "test" [
	f: area "Blah" disable
	button "Enable" [set-enable f]
	button "Disable" [set-disable f]
]
do-events
Ashley:
1-Aug-2009
Build 202 uploaded ( https://rebgui.svn.codeplex.com/svn/)
- Fixed password
- Added icon to tour.r
- Resized tour.r to fit smaller screens

- Reworked layout and display functions to remove duplicate show 
and do-events calls
- Removed do-events from tour.r and RebDOC.r


The layout/display change (apart from correcting numerous rendering 
anomolies and improving layout speed) may have caused other unforseen 
side-effects. At the very least it changes RebGUI in the following 
manner; previously you would write:

	display "A" [...]
	print "A"
	do-events

and get "A"  printed to the console. Now you write:

	display "A" [...]
	print "A"


and only get "A" printed to the console once the display has been 
closed. This now lets you write code like:

	display "A" [ ;do some stuff to set result]
	process result and display "B" or "C" based on result

This change is still experimental so let me know what you think.


Also, who actually uses tool-tips??? I've been debating whether to 
fix them so they work properly, or just remove them entirely. Thoughts?
marek:
2-Aug-2009
It must be my poor accent. Not all panels or widgets inside of them 
can be disabled in layout. Later, when program is run seems to be 
no problem.

There is another little problem with tables. When last column is 
right justified with no scroller there is small gap between text 
and edge of table. when scoller kicks in
there is no gap at all.

Finally let me have little wish. Would it be possible for table to 
have 'no-sort option? Would it be usefull to anybody else?
Ashley:
3-Aug-2009
Build 203
- Better icons for alert, help, info & stop
- Removed tool-tip widget and supporting code
- Added ctx-rebgui/on-error object
- request-error: added icon
- request-password: added icon
- request-password: added cancel button
- request-value: added icon
- request-verify: added icon
- request-progress: added icon
- display: added no-wait option to fix request-progress
- Table: fixed resizing artifacts
- Table: added 'no-sort option
- Table: added 'no-resize option
- Table: added 'fixed-sort option
- Fixed layout/only (it ignored disable)
- Removed %images dir
- updated tour.r and RebDOC.r
Ashley:
10-Aug-2009
nothing pops up when clicking the button, why?

 ... the display function exits if it hits a duplicate window title 
 (before calling layout) ... this means you don't have to worry about 
 the user hitting a button that calls a display multiple times and 
 getting multiple (near identical) windows popping up!

tree widget could benefit from row coloring too?

 ... it will, once I've rewritten it to use the same face-iterator 
 func that table and text-list use (which means it'll get all the 
 extra goodies like auto-slider support as well!
Ashley:
14-Aug-2009
Pekr, above issues noted. Tooltips are being added back to toolbar 
[only] as they were in the early builds. I'm also looking at ways 
of reducing memory usage (sharing more objects in layout and pre-building 
certain common font usage cases (e.g. align: 'center)).
Ashley:
20-Aug-2009
Build 211
- Moved base objects from ctx-rebgui to system/view
- Removed all dependencies on View/VID mezz code
- Rewrote and added show-popup & hide-popup functions
- Removed style widget
- Inlined popup logic
- Converted internal images from base 16 to base 64
- Cursor keys now work in choose (drop-list, edit-list & menu)
- pad option in layout enhanced to accept pair! (pixels)
- Added tooltips to tool-bar
- Added request-edit
- Improved resize logic
- Fixed request-dir (resize bug)
- Fixed slider (resize bugs)
Pekr:
24-Aug-2009
RebDOC crashes even separately:


** Script Error: length? expected series argument of type: series 
port tuple bitset struct
** Where: layout
** Near: form length? functions
>>
Graham:
25-Aug-2009
I'd like to see an option to use a vertical layout for request-value
Ashley:
25-Aug-2009
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
I'd just want an after 1 layout I think
Ashley:
26-Aug-2009
Build 213
- layout moved to global context
- renamed request-edit to editor
- renamed set-enable to enable
- renamed set-disable to disable
- added in-widget function
- enable/disable now accept block of faces
- fixed arrow/list bug
- changed popup auto-hide from away to click
- fixed menu
- added toggle widget
- changed hard-coded green/red to use colors/true & false
- updated tour.r and RebDOC.r
marek:
5-Sep-2009
I found another bug in version 213. 

Yesterday I managed run %create distribution.r after recreating %btn.r 
and %chat.r widgets first. Today I found out that some requestors 
don't work:-
>> alert "test"
** Script Error: image has no value
** Where: layout
** Near: image images/alert 
text 60 "test"
>> 


It works from original %rebgui.r file. It seems that images exist 
in re-created one, but they cannot be found. Unfortunatelly, I've 
got no idea how to fix it
Graham:
15-Oct-2009
I'd like to see a generic accordion widget if possible.   So, if 
you had 4 "tabs" in the accordion, then each tab is associated with 
a layout.  If you click on a tab, the others collapse, and the clicked 
on one expands to show the hidden layout underneath.  If you click 
on an open tab, it should collapse .. so that the bottom tab's layout 
is exposed.


I've hard coded this stuff before but was wondering if a generic 
one could be written.
MaxV:
26-Aug-2010
Hello everybody, I have a problem with Linux:  DRAW   choose a font 
that give problem displaying:

example: ['text "Hello word!"]
view layout [ box 100x100 effect [draw example ]]

on linux it gives a blank window.
I added:

example: ['text "Hello word!"]
if (pick system/version 4) = 4 [
	fnt1: make face/font [ 
		name: "/usr/share/fonts/truetype/freefont/FreeSans.ttf"
		size: 12
		]
	os: "linux"
	]
if os = "linux" [ insert example reduce ['font fnt1]	]
view layout [ box 100x100 effect [draw example ]]

This solution is good, but using REBGUI  it doesn't work anymore.
What can I do?
Anton:
27-Aug-2010
No, he solved the problem with Linux by providing an absolute filepath 
to the font.

The problem is trying to use VID's LAYOUT (and maybe also VID's VIEW) 
after initialising RebGUI.

If I remember correctly, RebGUI unsets 'LAYOUT, or redefines it for 
its own use. So it won't work anymore as you expect with VID.
Ashley:
27-Aug-2010
RebGUI (b117 and later) does *not* redefine layout. It does however 
redefine alert, confirm and many of the request-* functions.

The fact that starting a fresh console session and entering:


 view layout [box black 100x100 effect [draw [pen white text "Hello"]]]


no longer works on the linux and Mac ports of REBOL is I believe 
a REBOL/VIew bug (despite a workaround that may work for VID but 
not RebGUI).
Anton:
28-Aug-2010
Oops, sorry Ashley, I was wrong about RebGUI unsetting LAYOUT. (It's 
been a long time since I tried RebGUI.)

MaxV, tell us the rebol version you are using (system/version) and 
the RebGUI version.
Show us the full code which does not work with RebGUI.

I noticed your second example (using RebGUI) did not include the 
code which sets the font path.
Just to be sure, can you confirm you tried it together?
MaxV:
6-Sep-2010
** Script Error: style has no value
** Where: layout
** Near: style 20x20 data [
    box snow 100x100 effect [
        draw example
    ]
]
Gabriele:
18-Sep-2010
parent-face can only be none if the face has never been shown, which 
may happen if you access it during layout and before the face as 
been shown.
Anton:
18-Sep-2010
Gabriele is correct. PARENT-FACE is not set by LAYOUT, it is set 
by SHOW. I wrote some code which needed to know the parent-face before 
SHOW was used, so I did something like initialize the PARENT-FACE 
of every face in the face hierarchy myself.
I wanted LAYOUT to do this by default.
Graham:
18-Sep-2010
Would it be easy to patch layout to do this?
Henrik:
18-Sep-2010
I've tried, but the problem is that LAYOUT is not necessarily used 
recursively and thus doesn't always have a parent-face to use.
Awi:
13-Jan-2011
REBOL []

do %rebgui.r
seat-layout: copy []

loop 16 [
	insert tail seat-layout compose/deep [panel 50 data []]
	for row 1 15 1 [
		foreach col [A B - D E] [

   insert tail last seat-layout compose/deep [button 7x5 blue (rejoin 
   [row col]) [alert face/text]]
		]
		insert tail last seat-layout [return]
	]
]

display "test scroll panel" compose/deep [
	calendar 
	scroll-panel 152x100 #HW data [after 4 (seat-layout)]
	calendar
]
do-events
Awi:
14-Jan-2011
This don't happen in b117 (the same code, except I had to replace 
'question' to 'confirm' and 'ctx-rebgui/layout/only' to 'layout/only')
Awi:
14-Jan-2011
REBOL []

do %rebgui.r
seat-layout: copy []

for slot 1 16 1[
	insert tail seat-layout compose/deep [panel 50 data []]
	for row 1 15 1 [
		foreach col [A B - D E] [

   insert tail last seat-layout compose/deep [button 7x5 blue (rejoin 
   [row col]) [display "test" [text "see me?"]]]
		]
		insert tail last seat-layout [return]
	]
]

display "test scroll panel" compose/deep [

 table options ["id" left .2 "name" right .8] data [1x2 "A to B" 3x4 
 "C to D" 5x5 "E to F"] return 
	calendar 
	scroll-panel 152x100 #HW data [after 4 (seat-layout)]
]
do-events
Group: !REBOL3-OLD1 ... [web-public]
Henrik:
11-Jun-2009
Next time the GUI will be touched, will be a redesign of the layout 
engine, which performs poorly right now.
Maxim:
11-Jun-2009
might want to get me in the loop when that happens (layout work)... 
by then I should be delving into R3, so I'd be able to contribute 
experience... not just theory ;-) ... 

I've been designing and evaluating many (I mean dozens) of auto layout 
engines thru the years...
Henrik:
11-Jun-2009
The layout engine specs are already in place, just need them to be 
implemented.
Henrik:
11-Jul-2009
the changes are not yet implemented. the layout system will be changed 
to contain a guide system and multiple layers. if it works, there 
will not be any more trouble with the layout engine.
Henrik:
11-Jul-2009
if it works like a generic keyboard, then you should be able to do 
it in R2 as well. try putting up a view layout [field] and see if 
it works.
Geomol:
2-Sep-2009
But sometime I manage to write code like:

context [

main: layout [
	from: field
	to: field
]
view layout
]

See the problem?
Geomol:
2-Sep-2009
Right, sometime I forgot those inside layout blocks, and that can 
be hard to debug.
Steeve:
2-Sep-2009
This is a dirty hack of the LAYOUT function: you're warned if a set-word 
in the layout is not local.

use [x src][
	src: third find second :layout 'while
	src: first find src/forever block!

 insert back tail insert src [if same? in system/words x:][x [print 
 ["Warning:" x "is global var"]]]
]
1601 / 205612345...1516[17] 18192021