• 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
r4wp204
r3wp3029
total:3233

results window for this page: [start: 1401 end: 1500]

world-name: r3wp

Group: !RebGUI ... A lightweight alternative to VID [web-public]
Ashley:
29-Dec-2005
1) Internet update: include a get-latest.r script that checks which 
individual scripts have been modified (based on timestamps) and downloads 
newer versions, and also handles script additions and deletions. 
Not very automatic, but I don't want it going to the internet everytime 
rebgui.r is run! ;)


2) A chat client widget is a superset of the table widget requiring 
(among other things):

	- control of individual cell font and background color
	- Support for multiple lines within a cell
	- Top, center, bottom alignment support

 - Cell call-back triggers (so if I click on this cell I can fire 
 that function, etc)
	- Probably a whole bunch of other stuff too


Mind you, reading this list makes me think that a chat widget is 
closer to the [yet to be done] grid widget than a table.
DanL:
6-Feb-2006
Is there a checkbox-list widget for RebGUI?  I'm looking for something 
like this:
Graham:
6-Feb-2006
Ahh.. you wanted a list ...
Robert:
22-Feb-2006
Using CTRL+A in list doesn't mark all entries.
Ashley:
23-Feb-2006
can keycode shortcuts be used for Yes and Now

 ... I was going to map Enter to OK / Yes and just leave ESC mapping 
 to Close / Cancel / No. What keycodes were you thinking of ("Y" and 
 "N"?).

CTRL+A in list doesn't mark all entries
 ... good spot, I'll add it to the list.
Ashley:
25-Feb-2006
Depends. You can structure your code so that all the displays are 
in one file and all the business rules / data / action logic in another 
by coding like this:

display "Test" compose/only [
	button (app/labels/save) (app/actions/save)
	drop-list data (app/options/save)
]


and using references to face (and face/parent-face) within your actions. 
This approach achieves a couple of things:

	1) Separation of display from process

 2) code / data reuse (i.e. you can share data / action blocks across 
 multiple displays)

 3) Can reduce the amount of code that is composed as app data / logic 
 can be composed independently of the display
	4) Code is more portable (as face references are generic)
	5) Probably easier to maintain and debug

Problems with this approach are:


 1) "f: field" is easier to reference than "face/parent-face/pane/2" 
 etc
	2) You have to really think about how you structure your code
	3) It's very different from the way we are used to (VID)
Robert:
25-Feb-2006
Is there a way to re-use widgets like done with 'style in VID? For 
exampel: I have a drop-list specification, I need at several places 
but I don't want to copy the code. I tried it use a (my-drop-list) 
compose word but this doesn't work.
Ashley:
25-Feb-2006
Robert: "Using CTRL+A in list doesn't mark all entries." It does 
work, but only in "multi" mode. ;)
Ashley:
26-Feb-2006
RebGUI goes Beta! With the fixing of some long running area / scroll 
/ slider bugs I've finally reached a stable enough release candidate 
for 0.4.0 Beta; so, from a REBOL/View console:

	do http://www.dobeash.com/get-rebgui.r
	do view-root/public/www.dobeash.com/RebGUI/tour.r


Also note that the demo directory includes a nifty new pie-chart 
widget demo (thanks Robert).


I've also separated the 0.3.x and 0.4.x issues into separate sections: 
http://www.dobeash.com/it/rebgui/issues.html#section-2.3

Changes in this release include:


 Scrolling fixed (all area scroll / slider problems should be fixed, 
 and a couple of minor field scrolling issues were also fixed)

 set-locale function to dynamically change locale files / dictionaries
	pie-chart widget added

 slider width reduced by 1/5 for area, table, text-list, drop-list, 
 edit-list (looks better)

 table column arrows made smaller and darkened, plus right-most arrow 
 moved to table boundary (more space for column heading text)


and an important one from 0.3.9 that I omitted to mention last release:


 drop-list / edit-list now size to the smaller of number of items 
 or available space in the bounding parent face (so no more lists 
 that disappear off the edge of a face / window)

Enjoy!
Henrik:
26-Feb-2006
ashley, LIST-VIEW may soon be at a point where it'll become portable, 
i.e. no big structural changes are coming
Brock:
26-Feb-2006
Ashley, just noticed something for the Text-List when in multi mode. 
 Ctrl-clicking shows each element in the list is highlighted as clicked 
and the associated text is displayed in the Month display field. 
  however, selecting CTRL-A does not display all the months in the 
Month display field while it does highlight all the months.
Ashley:
27-Feb-2006
tour.r uses the text-list as follows:


 ex-text-list: text-list (tab-size - 70x25) #HW data (system/locale/months) 
 [
		show-text ex-text-list-text face/selected
	]


so the action (showing currently selected months) is only fired on 
a left-mouse click (single or double). The interesting design question 
here is whether CTRL-A *should also* fire the widget's action? I'm 
open to suggestions on this one. ;)
Pekr:
27-Feb-2006
well, even model of View is not still OK .... I think the pop-face 
is not ok. Try list-down style and try to press mouse outside its 
boundaries, it should close, but it does not. It at least reacts 
to ESC, but that is hardly sufficient ...
Ashley:
28-Feb-2006
Robert: "Is there a way to re-use widgets like done with 'style in 
VID? For example: I have a drop-list specification, I need at several 
places but I don't want to copy the code."

Short answer, no.


If you have a "style" that is sufficiently different from the base 
widget (that is used often) then consider:

1) modify the widget's defaults in %rebgui-widgets.r, or
2) modify them inline, as in:

	ctx-rebgui/widgets/<widget>/<facet>: <value>

3) derive a new widget that works exactly the way you want.
Ashley:
2-Mar-2006
ESC can be fixed by changing the last few lines of 'process-keystroke 
(in %rebgui-edit.r) to read as follows:

;			#"^[" [
;				;	ESC
;				hide-popup
;			]
		][
			either all [
				event/key = #"^["
				find view*/pop-list view*/pop-face
			][
				hide-popup
			][
				;	if key is assigned to an action do it
				if any [
					not view*/focal-face
					find [button] view*/focal-face/type
				][
					if f: select face/keycodes event/key [f/action f exit]
				]
			]
		]


Only the last of multiple keystrokes provided is used; but note that 
SPC is already mapped to button (so specifying #"^M" would give it 
two mappings ... a keystroke mapping and it's base "SPC activated 
on focus" default).
Ashley:
9-Mar-2006
The first issue is due to the fact that 'table expects its data to 
be flat, as in:

	["A" 1 "B" 2]

not blocked:

	[ ["A" 1] ["B" 2] ]


Graham (a long time back) requested that 'table optionaly accept 
data in this format. I'll add it to the list of issues.


Second one is a known issue (#26 at: http://www.dobeash.com/it/rebgui/issues.html#section-2.1
)
Rebolek:
15-Mar-2006
Robert: I'm using hypernotes for this. There's tree-list on left 
and you can define whatever layout you want with VID tag. I also 
patched hypernotes with SCRIPT tag so I can write code in hypernotes 
and script is generated automatically.
Ashley:
15-Mar-2006
margin/spacing: added to the list.


The drop-down widget panel is actually a standard interface element 
on Mac (forget the name of it) which looks surprisingly similar to 
the JPG Pekr posted. A worthwhile addition I think, although hard 
to implement (as it changes the offset of every widget below it and 
forces a window resize).
Robert:
16-Mar-2006
Rebolek, is/could the tree-list be made RebGUI compliant? That would 
be really great!! Especially the idea with the VID tag and the SCRIP 
stuff.
Rebolek:
16-Mar-2006
Robert: I don't know, I'm not author of HyperNotes, Martin Johannesson 
is. However, he wrote to me, that current version of his list is 
little bit tricky and he's working on new version. So maybe the new 
version may be rewritten for RebGUI. If you like to have a look at 
my patched version of HyperNotes, just let me know.
Pekr:
18-Mar-2006
quite non typical ... I wonder ppl don't miss underlined accelerator 
keys, ctrl + tab to toggle between the tabs and clicking away from 
list-down to close :-)
Ashley:
19-Mar-2006
Because those issues are important to IT folks and totally irrelevant 
to most real world users? ;) Most users don't even know they *can* 
drive a GUI via the keyboard, and if they click on a drop-list they 
*will* pick an item, even it's a blank "no selection" choice (I always 
have the first item of my pick lists as an empty string so users 
can easily click their way out instead of having to press ESC).


  As an aside, what most of my customers were complaining about, until 
  recently fixed, was the fact that drop-lists didn't scale to fit 
  the most items possible ... something no-one here even noticed! ;)
Pekr:
19-Mar-2006
well, drop list is not good example of how to use gui via keyboard, 
I do agree :-) our users are not typical users maybe, as they come 
from terminal SAP R2historically, where there was no mouse :-)
Pekr:
19-Mar-2006
my complaint to drop-list is, that it is kind of menu ... and in 
rebol it is driven via show-popup? And that is broken .... I am used 
to close menu by clicking somewhere else .... it happens occassionally, 
when I unintentionally press right mouse button etc., and I really 
don't want any option to be selected ..... so I just move mouse out 
of the menu, and do a left mouse press ... not so with rebol ....
Ashley:
19-Mar-2006
If the mouse is a waste of time for your users, then they don't need 
a GUI. Just deliver data entry functionality via a console type application. 
My users [medical] make extensive use of TabletPCs so no mouse / 
pen is a bit of a deal-breaker for me. ;)

the mouse is waste of time, totally

 ... so you don't use a mouse for file management (File Explorer) 
 or browsing? And of course you don't need one for Paint type operations? 
 Not everyone who uses a computer is doing pure keyed data entry. 
 Different strokes for different folks.


Anyway, I'm gradually adding keyboard support to RebGUI as time and 
REBOL fixes permit; but it's not high on my list of priorities.
Ashley:
25-Mar-2006
0.4.1 is out and is predominantly a maintenance release. From a REBOL/View 
console:

	do http://www.dobeash.com/get-rebgui.r
	do view-root/public/www.dobeash.com/RebGUI/tour.r

Main changes include:

	- set-sizes, set-colors, set-fonts added to global context
	- CTRL-A fires action in text-list / table 'multi mode
	- radio-group, led-group, check-group now auto-size vertically
	- layout now handles false (logic!) correctly

 - effects, sizes and colors can be loaded at startup via like-named 
 dat files (simple skinning system)
	- Minor documentation updates to reflect above changes
ChristianE:
25-Mar-2006
Pekr, I promise I have this on my list; I'd like to do so, too! But 
the problem with events is that you'll have to deal with problems 
in any event ;-)
Ashley:
28-Mar-2006
Yes to the first question, with six widgets not making the cut (I'll 
upload them later):

	area2 (area plus horizontal scroll ... does not work correctly)
	auto-fill (needs to be reworked)
	list-view (code needs a bit more work)
	spinner (not completed)
	icon (awaiting SVG renderer code)
	svg-tool-bar (awaiting SVG renderer code)

Alternate distributions: let's keep it simple for the moment ...
Graham:
28-Mar-2006
How to clear the text in a title group?


title-group/text: copy "" show title-group doesn't work as junk is 
still left on the screen, and there's no title-group/text/line-list 
attribute to set.
[unknown: 5]:
29-Mar-2006
Graham - not sure if the problem with the clearng of text area but 
most often I almost always set line-list to 0 each time I clear a 
field  so that might be the issue your seeing.
Graham:
29-Mar-2006
In this case, there is no line-list attribute :(
Anton:
30-Mar-2006
huh? every face has a line-list attribute.
Ashley:
30-Mar-2006
line-list is the culprit. Replace the 'show-text and 'clear-text 
functions in %rebgui.r with the following:

show-text: make function! [
	"Sets a widget's text attribute."
	face [object!] "Widget"
	text [any-type!] "Text"
	/focus
][
	face/line-list: none
	insert clear face/text form text

 all [face/type = 'area face/para face/para/scroll: 0x0 face/pane/data: 
 0]
	either focus [ctx-rebgui/edit/focus face] [show face]
]

clear-text: make function! [
	"Clears a widget's text attribute."
	face [object!]
	/no-show "Don't show"
	/focus
][
	face/line-list: none
	clear face/text

 all [face/type = 'area face/para face/para/scroll: 0x0 face/pane/data: 
 0]
	unless no-show [
		either focus [ctx-rebgui/edit/focus face] [show face]
	]
]
Henrik:
30-Mar-2006
ashley, are you still interested in list-view?
Normand:
31-Mar-2006
Small question.  I try to insert a list from a select in Rebdb into 
the data block  of a rebgui table.  It does give me an error in RebGui 
: invalid data block.  I did try to call the variable (''do'' does 
not fit the bill here, is it?).  The same example from the rebgui 
tour would be a: [1 "One" a] and ex-table: table (tab-size - 48x18) 
#WH options ["ID" right .3 "Number" left .4 "Char" center .3] data 
:a.   From start I would like to populate the table from RebDB, and 
from there my block is valid.  I am trying to make an example of 
a small phone book using rebDB and RebGui, it could be usefull as 
an example working app.  But it has been some month I did not touch 
the keyboard.  I do get rusty.  Thanks for any help on this.
Normand:
1-Apr-2006
Can some one tell me why the path value of face/picked is sometimes 
valid sometimes invalid ? The last call is invalid but the precedings 
are valid.  prospect-table: table 120x40  #HW options ["ID" left 
.1 "Date M-à-J" left .22 "Nom" left .34 "Prenom" left .34] data (current-list) 
[
			show-text this-text pick face/data first face/picked 
			print "" print face/data print face/picked
			print (type? face/picked)

   ; ** Script Error: Invalid path value: picked ]; I want to use face/picked 
   in a formula to change the index to the pick function.
Robert:
2-Apr-2006
Next one: What's the best way to create "user-selection-dependent-layouts"? 
For example the User select one entry in a drop-down box and depending 
on the value, a different layout should be shown below the drop-list.
Robert:
2-Apr-2006
Yes, it's in a tab-panel and depending on the selection of one drop-list 
the data-input form that follows the drop-list has to display different 
labes & fields.
Anton:
2-Apr-2006
How many entries has the drop-list ?  Because if it's small I might 
suggest using another tab-panel. Otherwise I would try to create 
the layout for each selection before the window is displayed.
Anton:
2-Apr-2006
Or, if most of the time the labels and fields are common, but with 
some differences, I might use the drop-list action to hide all and 
show only those fields which go with the current selection.
Ashley:
3-Apr-2006
put-form/all my-display block-of-values-returned-by-sql-call
blk: get-form my-display


I've got as far as thinking about how it could / should be implemented 
(there are some interesting issues with grouping widgets like group-box, 
table, text-list, etc); but my focus at the moment is to complete 
the SVN setup / structure / documentation / usage instructions so 
as collaborative development can begin (and I am no longer the bottle-neck 
in changes being implemented). Unfortunately, I'm two weeks into 
an intensive four week certification course (non-IT related) so REBOL 
things are on the back burner for a while (although I'm popping in 
here to answer the odd question here and there where I can).
Robert:
7-Apr-2006
I have the following problem: I need to provide a drop-list with 
two columns. And one of the columns has long texts in it, so that 
you can't read it if the drop-list isn't made extremly wide. Has 
anybody an idea how to best create the GUI for such a selection?
shadwolf:
11-Apr-2006
hummm drop down list is a nightmare of coding ... this is typically 
(in my opinion) one of the easyly doable in C/C++ but tricky to do 
with rebol. Tricky but why ?? Mainly because of the speed when you 
have to redreaw the main pane and the scrolling interface
Robert:
16-Apr-2006
Here is a short example when it fails:
rebol []

;--- Startup
if system/product == 'Link [

 attempt [call reduce ["d:\rebol\view\rebol.exe" system/script/header/file] 
 quit]

 attempt [call reduce ["c:\programme\rebol\view\rebview.exe" system/script/header/file] 
 quit]

 attempt [call reduce ["c:\rebol\view\rebol.exe" system/script/header/file] 
 quit]
	quit
]

;-- use xpeers framework structure
link-root: first split-path system/script/path
link-root: copy/part link-root index? find link-root "/xpeers/"
append link-root %xpeers/
do link-root/framework/anamonitor300.r
do link-root/framework/slim.r

;-- RebGUI stuff

#include %rebgui.r unless value? 'ctx-rebgui [do link-root/framework/libraries/rebgui.r]

;-- SLIM stuff
slim/open 'debug none ; [mark-my-words]
; mark-my-words/init

unit-size: 4
font-size: 12
tab-size: 120x55

display/min-size "CalcIT" compose/deep [
	label "Land"
	drop-list 60 data ["A" "B"] return
] 1024x768
do-events
halt
Cyphre:
21-Apr-2006
I have made small fix so the drop-list behaves like Reichart wants 
under View 1.3.x. If anyone is  interested you can grab it here:
http://cyphre.mysteria.cz/stuff/rebgui-widgets.r
Ashley:
21-Apr-2006
Works well, although it stll requires a click outside the popup for 
it to be dismissed (not merely moving the mouse pointer off the list 
as some have requested). Also note that this changes the behaviour 
of clicking from one drop-list to another (you have to click the 
new drop-list button twice ... once to dismiss the old list and now 
a second time to activate the new list). Note that the first hide-popup 
in the choose function (line 405) is no longer needed with this change.
Anton:
21-Apr-2006
I think requiring a click outside is good behaviour, but it is only 
good if that click is not consumed, but passed on (so that the second 
drop-list  activates straight away)..
Graham:
22-Apr-2006
And if I didn't, Ashley has a list of clients on his main page at 
http://trac.geekisp.com/rebgui
Robert:
22-Apr-2006
Might be related to the discussion above:

If I have a 'field that uses an on-unfocus event and I enter some 
test and than click on a drop-down list, the on-unfocus event for 
the field isn't generated.
Ashley:
24-Apr-2006
Not quite, it was logged as issue#21 ... its just never been high 
on my priority list to fix.
Graham:
28-Apr-2006
Did you want to announce on the mailing list that the trac is open, 
and/or change your issues page to reflect this?
Ashley:
30-Apr-2006
RebGUI 0.4.2 is up. Grab it the usual way with:

	do http://www.dobeash.com/get-rebgui.r


You may want to delete view-root/public/www.dobeash.com/RebGUI first 
as a number of old files are now redundant.

This build is the latest snapshot of the repository and includes:


 - %rebgui.r is now a single monolithic (72Kb single line) script 
 (individual source files are in SVN)
	- Cyphre's drop-list change
	- Anton's quit [not] when only one pane remains
	- clear-text and show-text fixes
	- led widget fix (failed when encap'ed)
	- language file for Italian added
	- %tour.r Opera icons replaced with Tango Desktop equivalents


Also note that the RebGUI home page has moved to http://www.dobeash.com/RebGUI/
and that all active issues / tickets can now be found (and updated) 
at http://trac.geekisp.com/rebgui/report/1
Robert:
30-Apr-2006
How about changing drop-list in that it opens the list even when 
the user clicks on the field and not only on the arrow?
Graham:
2-May-2006
I didn't see a way of creating layouts with no borders, so, in rebgui-display.r, 
line 50, I added this to the list of refinements
Graham:
6-May-2006
Another option is to have a list popup that covers the whole of the 
space above and below.
Robert:
6-May-2006
Just a note to all of you: I contracted Cyphre to develop some RebGUI 
widgets. In the next couple of weeks you will see two new widgets:
1. drop-tree: Is a mix of a drop-list with a tree view.
2. tree widget as we can derive this from the drop-tree
Robert:
6-May-2006
And those quirks as mentioned by Graham are on my list as well. So, 
we will improve existing widgets as well.
Robert:
15-May-2006
Yes, but don't expect it in the near future as this isn't high on 
my priority list. I need other stuff fixed first.
Robert:
15-May-2006
Step by step. With List-View we have a very good implementation that 
"just" needs to be made RebGUI compliant.
Henrik:
15-May-2006
if anyone wants to help with the port of LIST-VIEW... I know nothing 
of RebGUI.
Anton:
20-May-2006
list-dir path-thru http://www.dobeash.com/rebgui/
Ashley:
20-May-2006
Had a look at porting Henrik's list-view over to RebGUI. Main challenge 
would be to convert / merge 4 styles (list-icon, list-field, list-text 
and list-view) into a single rebface. This would require quite a 
bit of code restructing. The actual internals don't need too much 
work (functions and feel code are pretty VID/RebGUI neutral), but 
a lot of references to RebGUI 'standards' need to be added; such 
as:

	default-* objects instead of system objects
	ctx-rebgui/sizes
	ctx-rebgui/colors


And the span facet needs to be added (and support logic added) to 
enable dynamic resize / rescale. Given the amount of code that needs 
to be changed, I don't believe a VID and RebGUI version can be [easily] 
built from the same code-base (i.e. the port will in effect create 
a fork).


Also, from a code complexity POV, the list-view widget is almost 
as large as *all other widgets combined* ... and it includes functionality 
that could probably otherwise go into a grid / spreadsheet type widget 
(list-view is almost a GUI framework in its own right now! ;)). If 
anyone's in doubt, I think Henrik's work rocks and fills a much needed 
gap in VID functionality. ;)
Ashley:
21-May-2006
Having converted (or at least used as a starting base) a number of 
VID styles to RebGUI widgets I've observed that the final code is 
40%-60% smaller (YMMV) and easier to understand in that most of the 
logic resides in the widget itself (i.e. it is self-contained). But, 
once the code to be converted reaches a certain size where I can 
no longer 'grok' it in a single reading (about a hundred lines for 
me) I find it easier to code from scratch. ;)


I'd also break it into two separate widgets: grid and list-view, 
and look at the minimum function set each requires (KISS).


Simplest way to start is to read all the doco under 'RebGUI Documentation' 
at http://www.dobeash.com/RebGUI/then look at the source code of 
a few widgets (start with something simple like %button.r then move 
onto %table.r which shares a lot in common with list-view).


If you run into any brick walls (or find yourself asking, "why oh 
why did they do it that way?") just drop a note here. ;)
Robert:
21-May-2006
I just want to inform you what enhancements I needed and Cyphre did 
so far for RebGUI:


table: Add an API to table that allows to change the columns layout 
at runtime: my-table/set-columns ["Column 1" left 0.25 "Column2" 
center 0.75]


drop-list: fire action only if selection was made/changed, at the 
moment action fires if clicked on field too


general: on-un/focus should be fired if user clicks an other widget, 
not only if carets leaves the widget when TAB is pressed


table: moving bar up/down with keyboard should fire click-action, 
alternativ: pressing RETURN can fire click action

table: align header text like data (left, center, right) at the moment 
always left
table: TRAC #21


TRAC #5 Cyphre: should be fixed but please test it and let me know. 

TRAC #6
Robert:
21-May-2006
WRT Henrik's list-view: I think Ashley is right, that we should try 
to seperate the list-view and grid-view and see if we can extract 
common code to both. I would preferr a layered approach, where I 
can add more "comfort layers" if I want but I'm not forced to always 
have this code included.
Graham:
21-May-2006
I'd also like to see the drop list drop down on clicking on the text 
and not just the down arrow.
Volker:
21-May-2006
in rebgui-edit
	tabbed: [area field edit-list password button]

    tabbed?: make function! [face [object!]] [all [find tabbed face/type 
    face]] ; [che] Returns TRUE if a face itself (not one of it's pane's 
    subfaces) is tabbable (NONE otherwise).
Ashley:
21-May-2006
Robert

 Docs: the 'Widgets' section of the 'RebGUI Display User's Guide' 
 is already in the Repository (the WidgetList Wiki entry) ... I'll 
 be removing that section from the guide once all the widget details 
 have been copied across. Feel free to update the Wiki with any widget 
 specific usage notes / instructions. Forward any other doc changes 
 to me and I'll put them in. I plan to eventually move all the docs 
 across to the Wiki, just haven't got around to doing it yet.

 "do you first want to take a look at the changes or should I just 
 check them in?" ... Just check them in thanks.
	screenshots: added to the ToDo list

 widget placement: I'm coming around to the idea that BELOW may be 
 unavoidable, even if undesirable from a design / complexity POV
	tabbing: Anton about summed it up

Volker
	Type: also used by accessor functions
Ashley:
22-May-2006
can you add get-rebgui.r into SVN
 ... done
should be moved into RebGUI/ directory
 ... on the list
Ashley:
31-May-2006
First cut attempt at set- functions to replace various show- functions:

set-attribute: make function! [
	face [object!] "Window dialog face"
	attribute [word!] "Attribute to set"
	value [any-type!]
	/no-show "Don't show"
	/focus
] [
	face/:attribute: case [
		string? value		[
			face/line-list: none

   all [face/type = 'area face/para face/para/scroll: 0x0 face/pane/data: 
   0]
			form value
		]
		series? value		[copy value]
		attribute = 'color	[either word? value [get value] [value]]
		true				[value]
	]
	unless no-show [
		either focus [ctx-rebgui/edit/focus face] [show face]
	]
]

set-attributes: make function! [
	face [object!] "Window dialog face"
	attributes [block!] "Block of attribute/value pairs to set"
	/no-show "Don't show"
] [
	foreach [attribute value] attributes [
		set-attribute/no-show face attribute value
	]
	any [no-show show face]
]

Used like this:

	display "" [
		b: box
		button "A" [set-attribute b 'color red]
		button "B" [set-attributes b [color blue effect arrow]]
		button "Clear" [set-attributes b [color none effect none]]
	]
Robert:
6-Jun-2006
From my side not yet. First need to get editor access to the widget 
list.
Volker:
9-Jun-2006
line-list related?
Robert:
18-Jun-2006
ATTENTION: rebgui-edit.r was not yet merged. Latest revision doesn't 
include older changes. We will do this ASAP. But rebgui-edit.r is 
required in this version otherwise all other changes done by us might 
not work.



FIXED *rebgui/pad: Now only works for horizontal padding. Padding 
should happen depending on the layout direction left-to-right or 
top-to-down.
	Cyphre: now PAD works according to the AFTER settigns. Example:
	display "Test" [
		after 3
	    field
		pad 5
	    field
	    pad 5
	    field
	    pad 5
	    field
	    pad 5
	    field
	    pad 5
	    field
	]
	Robert,let me know if it works like you wanted.

FIXED *group-box: When setting a new title group-box/text: "new-title" 
the surounding frame needs to be adjusted to the new text-width.

FIXED *drop-tree: When selecting different quick-access buttons directly 
one after the other, the drop-tree shouldn't close

FIXED *drop-tree: Highlighting the pressed quick-access button with 
green, the hovered one as is in orange. To give user visial feedback.

FIXED *general: a way to sepcify "align ['left]" for all further 
widgets to avoide repeation. Idea: Add disaply keywords: left, right, 
center
	Cyphre: added keyword TEXT-ALIGN left/right/center. Example:
	display "Test" [
		text-align right
		after 3
	    t: text 20 "test 1"
	    field "test 2"
	    field "test 3"
	    text-align left
	    field "test 4"
	    field "test 5"
	    field "test 6"
	]

FIXED *drop-list: an option that will show the list layered above 
everything (like the tree list of drop-tree).
	Cyphre: added drop-list/popup-mode: 'inside(default) or 'outside
	note: the same works for drop-tree

FIXED *drop-tree: changing state of the drop-tree (a new entry was 
selected) should only be done if the ACTION code returns TRUE. Otherwise 
the old state is kept, the drop-tree is closed and nothing happens. 
This allows the code to check for some pre-conditions before changing 
the state, and give some feedback to the user. Much like the on-unfocus 
functionality of RebGUI.

FIXED *drop-tree: pressing the quick-access numbers doesn't work 
any more as the drop-tree closes now if the mouse is clicked outside 
the drop-tree

FIXED *table: table/selected returns NONE if the table is empty and 
no record is selected. If there was one recrod selected at any time, 
than table/selected returns [none none <repeated for number of columns>]. 
If not row is selected at any time, table/selected should just return 
NONE.

FIXED *table: If a table is re-used in that the table is reused with 
code like:
	insert clear table/data [...]
	people/redraw

and there was a row selected before, than the internal state is still 
in "row selected" but the new row isn't highlighted. Here internal 
state and GUI don't match.

FIXED *drop-tree: clicking a "+/-" in the tree only open/closes the 
tree without calling the action for the node

FIXED *drop-tree: Re-add whole line selection and hovering functionality 
(so that mouse does not have to be over text)

FIXED *drop-tree: Add an option to get big fast-selction keys aligned 
left-to-right
	Cyphre: added drop-tree/expander-mode: 'big(default) or 'small

FIXED *button: Add an option to disable a button my-button/active: 
true/false, if disabled the button is drawn greyed-out
	Cyphre: usage is my-button/active: true/false show my-button

FIXED *field: Support number datatypes for TEXT so that things like 
field-a/text + field-b/text can be used

 Cyphre: you need to set field/edit-mode: 'numbers to activate this 
 behaviour for field(othervise it works like a normal field)
	2nd implementation uses own styel: number-field

FIXED *radio-group: Add an API that allows to provide a new DATA 
specification block at runtime or a way to alter the text of the 
radio fields at runtime.

 Cyphre: now you can just change the data content and do show on the 
 radio-group like:
		my-radio-group/data: ["item1" "item2" "item3" "item4"]
		show my-radio-group

 Note that it won't react on change of number of items. Just change 
 of texts.

FIXED *radio-group: Add a way to select one radio field at run-time
	added accesor select-item item [integer!] usage:
		my-radio-group/select-item 2
		show my-radio-group

 note: you can get the selected item using my-radio-group/picked, 
 you can get the text of selected item using my-radio-group/selected

FIXED *drop-tree/grey-out: Can it be done in that we only show the 
text in a light grey instead of black? Like Windows does it.
	Cyphre: now the masked text is light grey

FIXED *on-focus / on-unfocus: If FALSE is return from the ACTION 
and the user clicked somewhere on the screen, the focus is still 
in the "field" but no cursor bar is visible

FIXED *drop-list: IIRC in your widgets it was possible to start typing 
and the selection list was filtered. A mandatory feature for the 
drop-list :-))

 Cyphre: added drop-list/editable? flag to enable/disable editing 
 of the drop-list field

 also added drop-list/auto-fill? flag which enables automatic text 
 filterin from the selection list

FIXED *general: add hover tooltip help option to every widget (global 
patch)

 Cyphre: added TOOL-TIP facet to rebface object. If TOOL-TIP is set 
 to string! value a tooltip is shown when mouseover such widget.
	example:
		display "test" [
			button "press me" tool-tip "press this button to continue"
		]

FIXED*drop-list: proivde a much better selection-list opening algorithm 
especially for long lists. Open upward, downward, middle like so 
that as much entries are shown for the given screen space. And an 
option that will show the list layered above everything (like the 
tree list of drop-tree).
	Cyphre:

 -added droplist/lines - can be 'auto (default) or integer! to force 
 number of shown lines in droplist

 -added droplist/droplist-mode - can be 'auto (default) 'upward, 'downward 
 or 'middle to force way how the list is popped up
	you can use various combination of those settings.
FIXED*table: Add an API that allows to select a row at run-time.
	Cyphre: Usage is for example:
		my-table/select-row 5
		show my-table

FIXED*table: Add an API to table that allows to change the columns 
layout at runtime: my-table/reset ["Column 1" left 0.25 "Column2" 
center 0.75]

 Cyphre: I added the functionality byt the API call is my-table/set-columns 
 ["Column 1" left 0.25 "Column2" center 0.75]

FIXED*drop-list: fire action only if selection was made/changed, 
at the moment action fires if clicked on field too

FIXED*general: on-un/focus should be fired if user clicks an other 
widget, not only if carets leaves the widget when TAB is pressed

FIXED*table: moving bar up/down with keyboard should fire click-action, 
alternativ: pressing RETURN can fire click action

FIXED*table: align header text like data (left, center, right) at 
the moment always left
FIXED*table: TRAC #21

FiXED*TRAC #5 Cyphre: should be fixed but please test it and let 
me know.
FIXED*TRAC #6
Ingo:
24-Jun-2006
I have tried to create something like a calendar layout:

two TEXTs, and a TEXT-LIST below them, and then 2 rows and 2 columns 
of this. 

The internal resizer was not able to cope with this, either the left 
widgets, or the right widgets were resized. Is it just me, or is 
the resizer not able to cope with this?
Ingo:
24-Jun-2006
Version 1, left, down resized ...

display "Test 1" [
   tight
   text 40 #w "free" 
   text 10 #w "11"
   text 40 #w "empty" 
   text 10 #w "12"
   return
   text-list 50x50 #hw data ["entry1" "entry2"]
   text-list 50x50 #hw data ["entry3" ]
   return
   text 40 #w "nothing" 
   text 10 #w "21"
   text 40 #w "whatever" 
   text 10 #w "22"
   return
   text-list 50x50 #hw data ["entry1" "entry2"]
   text-list 50x50 #hw data ["entry3" ]
]
do-events
Ingo:
24-Jun-2006
Version 2, upper left resized ...
display "Test 2" [
   tight
   text 40 #w "free" 
   text 10 #wx "11"
   text 40 #wx "empty" 
   text 10 #wx "12"
   return
   text-list 50x50 #hw data ["entry1" "entry2"]
   text-list 50x50 #hwx data ["entry3" ]
   return
   text 40 #wy "nothing" 
   text 10 #wxy "21"
   text 40 #wxy "whatever" 
   text 10 #wxy "22"
   return
   text-list 50x50 #hwy data ["entry1" "entry2"]
   text-list 50x50 #hwxy data ["entry3" ]
]
do-events
Ingo:
24-Jun-2006
Hi Graham, in my example-2 the the right-most text-lists keep their 
widths, and the lower text-lists keep their height, and the upper 
left text-list is maximized to fill the size of the window.
I would like to have equal sizes for all text-lists.
Graham:
25-Jun-2006
reset: func [ value /local type ][
    foreach f face/parent-face/pane [
        if f/type = 'group-box [    
            foreach widget f/pane [    
                type: form widget/type
                switch type [
                    "field" [ show-text widget copy "" ]
                    "area" [show-text widget copy "" ]
                    "edit-list" [ show-text widget copy "" ]

                    "radio-group" [ widget/select-item value]                
                ]
            ]    
        ]
    ]
]
Henrik:
26-Jun-2006
I had a very quick glance at RebGUI widgets. Would it be possible/easier 
to implement LIST-VIEW as a widget?
Anton:
26-Jun-2006
Henrik, I suggest first convert your list-view from being based on 
BOX to being based on FACE. Then it's slightly less work to port 
to rebgui.
Anton:
26-Jun-2006
also, I don't think it's any easier to create a list style using 
VID or REBGUI - the same basic issues are there, but porting to rebgui 
is fairly straightforward. Just keep the rebgui source handy as you 
will need to dip into it a few times.
Robert:
26-Jun-2006
Henrik, looking forward to see your first version of the list-view 
widget.
Gordon:
27-Jun-2006
I'm having trouble running the list-view.r demo.  The error message 
that comes up is:
list-view has no value
  where: layout  Near: list-view 100x80 data [[...

I've checked and found the list-view widget in rebgui-widgets.r so 
I added that to my test program as follows:

do %../rebgui-widgets.r

and I get the following error message:

Error: colors has no value  near: color: colors/edge


this latest error is happening during the execution of the "do rebgui-widgets.r" 
as the statement following this  is not being reached.

All other demos seem to work okay.
Ashley:
27-Jun-2006
Gordon, the demo directory and scripts (bubble-menu, list-view & 
triggers) were part of earlier releases. The directory was removed 
when the source was migrated to SVN, and all non-stable widgets (including 
list-view, bubble-menu and a few others) were removed. There is no 
need to "do %rebgui-widgets.r" as this is included directly in the 
new merged %rebgui.r script (and invoked from %rebgui-ctx.r if you 
run from the SVN source direct). LIST-VIEW is an important widget 
which we are hoping Henrik will be able to port to RebGUI from the 
excellent work he has done on this already.
Volker:
28-Jun-2006
check-repository, you get a change-list.
Volker:
28-Jun-2006
that chatting was about how to patch, not how to get it to me.

when you have a list of typical commands, eg ctx-menu checkout, its 
as easy as ftp
Normand:
4-Jul-2006
I am unable to refresh a textlist.  My text list is defined as

Fall-ids: text-list 80x60 #HW data (db-select uniqueid contactDB) 
[
			new-cursor: rowid-of-identifier? face/selected
			valid-set: validate-cursor new-cursor
			if valid-set [show-values-of-current-cursor]
			]
And my function to refresh it is :
refresh-ids-list: does [
	Fall-ids/data: (db-select uniqueid contactDB)
	Fall-ids/redraw
]

Calling this, the data gets changed, but the textlist does not redraws 
itself?  I did try with set in Fall-dis 'data and show Fall-ids, 
without effect either. 3 hours later I am still in neverland.  Any 
Ideas?.
Graham:
4-Jul-2006
try


refresh-ids-list: does [ insert clear head fall-ids/data db-select 
uniqueid contact db fall-ids/redraw ]
Pekr:
11-Jul-2006
can list-box work in mode as in html forms? You simply select value, 
and key is returned instead?
Pekr:
11-Jul-2006
why drop-list does not exceed the border of owning app window?
Anton:
11-Jul-2006
Pekr, the drop-list would have to be a window itself to do that.
Anton:
11-Jul-2006
Henrik, you now have to add your widget's name to the total list 
of widgets, since rebgui-layout.r revision 16,  like this:

	append ctx-rebgui/words 'my-rebgui-widget

(I'm updating the doc)
Pekr:
11-Jul-2006
Anton - are you sure? :-) I just looked lately at the source, and 
there seems to be one param -inbound, or outbound, for drop-list 
.... inbound is set by default. Separate window - why? We have show-popup 
...
Anton:
11-Jul-2006
So you're just saying you'd like the drop-list to also use borderless 
windows in its implementation.
Pekr:
11-Jul-2006
hmm, you are probably right, Anton ... just downloaded drop-list.r, 
changed 'inline to 'outline, but nothing changed, it can't go outside 
the parent window ... (which is maybe logical, as everything lives 
in screen-face/app-window/pane .... unless show-popup does not allow 
for other modes ...
Pekr:
12-Jul-2006
Anton - today I consulted with Cyphre, and it is really how I thought 
about it - drop-list, and its inside/outside argument really allows 
you to have the drop-list to go beyond the border of parent app. 
The case is, that there is simply a bug, which Cyphre nearly fixed 
(hilite stopped working)
Pekr:
13-Jul-2006
just talking to Cyphre on icq - he will look into problem - he thinks 
there is overall problem with iterator in rebgui ... he tried to 
fix inside/outside drop-list parameter, so now it works, but in outside 
mode it looses hilite .... he will look into it, once he produces 
newer grid update for me ...
Janeks:
19-Jul-2006
I do not need cell level adressing. It could be even enought with 
simple list. It seems that in begginging I will use them and for 
statuss changes use just some part of text or some symbols:
F.ex:
Msg#1 2006-Jun-01 Unread
Msg#2 2006-Jun-01 Read


But any way -  what could you recoment to use for scrollable list 
with either changeable colors, font styles or including some small 
icon?
Graham:
19-Jul-2006
For VID, use list-view
Henrik:
31-Jul-2006
I'm doing that in LIST-VIEW and it can easily be done fast enough, 
if you are worried about performance.
1401 / 323312345...1314[15] 1617...2930313233