World: r3wp
[!RebGUI] A lightweight alternative to VID
older newer | first last |
Robert 18-Jun-2006 [3885x5] | Let's shift dicussion to view group. |
Ok, I finally made it to publish all our RebGUI changes. I hope this helps the rest of the community. We did change a lot: | |
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 | |
Please give all changes a try, and help to enhance RebGUI even more. | |
Docs not updated yet, feel free to pick up this task :-) and I didn't checked against the TRAC database. | |
Graham 18-Jun-2006 [3890] | if table/selected returns none, does table/selected/1 now give an error? |
Robert 18-Jun-2006 [3891] | I think yes. |
Pekr 18-Jun-2006 [3892] | is it possible to obtain rebgui.r with proper white-space? |
Volker 18-Jun-2006 [3893x2] | from the cvs |
(if you mean propper formated source) | |
Pekr 18-Jun-2006 [3895] | yes, thanks ... |
Robert 18-Jun-2006 [3896] | You have all the single files, so why you need it? |
Pekr 18-Jun-2006 [3897x2] | that was question of one of my friends ... |
you know, ppl get distracted sometimes by simple things, which complicate it a bit ..... - what is the point of new install scheme? what is the point of packing it? Those are not my words (althoug I do agree with him) | |
Volker 18-Jun-2006 [3899] | did he know full source is available? |
Pekr 18-Jun-2006 [3900] | probably not ... I now write longer letter to him, as he thought that it is a kind of protecting source code :-) |
Volker 18-Jun-2006 [3901] | performance. Once you are used to it, you optimize everything.. a single file for installation is good, and while we areat it, why not kill all this whitespaces? source is available anyway. (thinking loudwith Ashleys voice ;) |
Pekr 18-Jun-2006 [3902x2] | as for get-rebgui - problem is with path ... could it be extended so that it would save get-rebgui itself into HOME directory, so that next-time I simply get-rebgui, instead of going to Dobeash.com and looking-up for url? |
whitespace? what not to compress it? :-) | |
Volker 18-Jun-2006 [3904x3] | i guess he does that too, no? have not looked. |
or maybe he really tried a new obfuscation-scheme? | |
where do you get get-rebgui currently? (messed up my bookmarks) | |
Robert 18-Jun-2006 [3907x2] | get-rebgui.r and create-distribution.r are two different things. The later creates the rebgui.r file. And yes, whitespaces can be stripped and even the whole thing than be compressed. |
The former get's the latest stable release with images etc. | |
Pekr 18-Jun-2006 [3909] | how do you guys use get-rebgui? do you download it to your rebol directory? Because - in other case, I still struggle with not remembering the url to run it .... |
Volker 18-Jun-2006 [3910] | I use the cvs.. |
Pekr 18-Jun-2006 [3911x2] | CVS means external sw usage .... that is for RebGUI devolopers, should not be needed for RebGUI users ... |
imo it is typical example, how we made simple thing a bit more complicated, or I would not met with such reaction ... | |
Volker 18-Jun-2006 [3913x2] | http://www.dobeash.com/RebGUI/get-rebgui.rthis could be easily changed to store in your own dir. |
a trick i started to use is to set view-root to the current directory. theni have a %public/ there with all the downloaded stuff nicely sorted by server, by using *-thru | |
Robert 18-Jun-2006 [3915x2] | Petr, I agree, that get-rebgui.r should download the current directory. |
I can't remember the location as well. | |
Pekr 18-Jun-2006 [3917x2] | hmm, I found varous paths are mentioned in - probe system/options .... maybe view-root could be exposed there too? That way rebol developer could be sure, where the hell all his files are spreaded around :-) |
So please, could I ask for get-rebgui change, to place itself in rebol home dir, simply to allow ">> do %get-rebgui.r" with next usage? Thanks eventually ... | |
Robert 18-Jun-2006 [3919x2] | Petr, go for it and change it. |
And show up a requester to let the user choose. | |
Pekr 18-Jun-2006 [3921] | I can, and probably will do so tomorrow, just got back from 3 days trip, tired, so just relaxing today ... just dunno if other would not object. As for me, I can miss the requester ... |
Robert 18-Jun-2006 [3922] | Than add the feature, with command line options or something like this. Just provide both ways and let the user choose. There is no wrong/right here. |
Volker 18-Jun-2006 [3923] | wouldnt download to current directory be sufficient? |
Pekr 18-Jun-2006 [3924x3] | yes, it should be ... |
maybe I will even download it as-is now, and change also target location .... using cache directory does not work for me, I organise "library packages" a bit different way ... | |
maybe then it should check first, if new get-rebgui.r is not awailable? Not sure it is needed though ... | |
Ashley 18-Jun-2006 [3927] | Great work guys, just going through all the changes now. |
Graham 20-Jun-2006 [3928] | How to change the label font colour? |
Graham 21-Jun-2006 [3929x2] | How to get the label from a selected radio-group ? |
radio-group/pane/n/text ... | |
Ashley 21-Jun-2006 [3931] | display "" [ l: label "Test" font [color: red] button "Change" [l/font/color: random 255.255.255 show l] ] |
Graham 22-Jun-2006 [3932x3] | Thanks .. is there going to be a formal syntax description for the rebgui dialect ? |
This looks useful ... | |
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 | |
older newer | first last |