World: r3wp
[!RebGUI] A lightweight alternative to VID
older newer | first last |
Robert 3-Apr-2007 [5692] | BTW: Can we somehow align while you do RebGUI 2? I want to follow the new release and provide our code to it as well. |
Pekr 3-Apr-2007 [5693] | Ashley - Cyphre was supposed to strip tree vidget from drop-tree IIRC. Dunno the status ... |
Graham 3-Apr-2007 [5694] | I was on xpeers recently .. didn't see a rebgui directory. |
Ladislav 3-Apr-2007 [5695] | Projects/RebGUI |
Robert 3-Apr-2007 [5696] | IIRC I saw some tree stuff. But didn't tested it yet. But will need it soon. |
Graham 3-Apr-2007 [5697x3] | I didn't see it initially, then rebol-link started doing an update. |
Now I have hundreds of these requesters coming up The file framework/libraries/gui.r was modified locally and a new version from the server is available. Do you want to create a backup-copy of the local file? | |
Must be some timezone problem. | |
Robert 3-Apr-2007 [5700] | Just say no, normally it's stopping after a couple of files. Or disable the requester in the options (IIRC it can be configured). |
Graham 3-Apr-2007 [5701x2] | finished now .. it was about 50 files or so that I had to do this for. |
Some nice looking charts you have there Robert. | |
Ashley 3-Apr-2007 [5703] | you will find it in the RebGUI directory on xpeers ... got it the first time, just making sure I was looking at the most current version. FYI, tooltips had me baffled for a long time (they worked for you, consumed tons of CPU for me) until I realized they were only a problem with the new tab-panel implementation ... which now stores all tabs in a pane and uses the show? attribute to work out which one is visible or not (the original stored hidden tabs in a data block). The fix was simple, change the tooltip code to ignore faces with show?: false. strip tree widget from drop-tree ... the tree widget I'm working on is similar to text-list but with leading triangles (indented by level) that toggle between sideways (close leaf) and down (open leaf). Not sure whether Cyphre's one is based on the same [simple] concept. Can we somehow align while you do RebGUI 2? ... as discussed previously (see post from 10-Mar), with the key points being: 1) Use (and possible extension) of global UI settings (colors, sizes, effects, behaviors) in %rebgui-ctx.r 2) Widgets should define a 'rebind func if they need to change a statically bound UI setting (e.g. color) 3) Use the new tab-panel widget and a fourth: 4) Layout uses 'tip (not 'tooltip) to specify the widget's tip string! Note that the current build has had most widget-specific exceptions removed, especially from %rebgui-edit.r; and that /dialog (hence popup) code has been rewritten to support true modal dialogs (that can in turn call additional modal dialogs). The later improvements are courtesy of recent REBOL/VIew popup changes. |
Ashley 4-Apr-2007 [5704] | I'm looking at adding a simple format mask attribute to RebGUI for editable widgets such as field, area, edit-list and drop-list. Basic idea is that if a bitset! exists in the spec it is assigned to a new 'mask attribute which is checked prior to every keystroke that would insert a char into the text attribute. This would allow specifications such as: display "Test" [ field (charset [#"0" - #"9"]) field digits area no-special-chars field phone-chars ] and has the advantage that the code resides within the RebGUI edit feel and can be used by any editable widget. Specification, as above, is also natural as bitset! is not mapped to any other attribute and is a natural mapping for character edit masks. If an invalid char is encountered then the keystroke will be discarded and perhaps the field can blink or flash as a visual cue? I'm also toying with adding a datatype! attribute to the spec which would be used like: display "Test" [ field digits integer! field digits-and-seperators date! ] and create an on-unfocus trigger that tries to "set-text self form to-datatype" and blanks or blinks the field on failure (and prevents leaving the field). Need to nut out exactly how this would work, but the question is, is this useful for folks; or is it more trouble than it's worth (given that it is not a fully fledged edit mask solution). |
Henrik 4-Apr-2007 [5705] | ashley, maybe you can find some inspiration in this: http://www.hmkdesign.dk/rebol/vid/docs/vid-field.html |
Anton 4-Apr-2007 [5706x4] | spelling: "sep*a*rators" |
It's a good idea - except the flashing and blinking should not be default. I think that is only necessary for specific cases. | |
Well, how do you provide a fully fledged edit mask solution ? Since folks could implement it many custom ways, I would provide a callback function when key input events are received. The user's callback function return value can indicate whether the key should be accepted or not. (it could return the character that should be inserted or none!) | |
When a bitset is provided, then the callback is set to a bitset masking function. | |
Ashley 4-Apr-2007 [5710] | Build#73 committed to SVN. Mainly code reorganization with functions split off into separate scripts in a new functions directory and %rebgui.r preserving carriage returns so 'source works and it can be edited & viewed more easily. Increased code size by 8 Kb. |
Pekr 4-Apr-2007 [5711] | I want date masks, tel. number masks, where e.g. date format dots can't be deleted, automatically are skipped, etc. Everything else is - underpowered :-) |
Ashley 4-Apr-2007 [5712] | Great. Define a spec that everyone is happy with and I'll implement it. |
Graham 5-Apr-2007 [5713x2] | I like the old dbase style of formatting. |
where you can specify capitals, numerics, non editable chars etc. | |
Gregg 5-Apr-2007 [5715x2] | I spent a lot of time working on that kind of thing for VB, and also used some commercial VBX/OCX packages that included them. Our target audience was data entry operators in call centers and, while this is what the internal analysts and user contacts said was what they wanted, the actual users hated it; it just got in their way. Asking around informally, I found that most users didn't care for them, while techies thought it was a great idea. |
My layman's analysis is that, since there is no standard about how these things should work, you, as a user, have *no idea* how to predict what's going to happen when you hit a key (accept, skip, beep, autofill and move to next field, etc.). I think there is also overhead in thinking actively, and looking at the screen, to determine what the format is, and what you need to *not* type in order to make it happy. | |
Graham 5-Apr-2007 [5717x2] | in other words, there is no universal user model |
So, the user needs a strong visual clue to show that a character is uneditable - perhaps even so much as to make it look like not part of the field. | |
btiffin 5-Apr-2007 [5719] | Ashley; Thanks for the newlines. Well worth the 8K. |
Ashley 5-Apr-2007 [5720] | Looking at how the rebface object has evolved I note we now have: action alt-action dbl-action focus-action unfocus-action and possibly a new keystroke-action. To restore some sanity to this (one attribute for each possible type of action), I propose that action become a block of the following structure: action: make object! [ on-click: on-alt-click: on-dbl-click: on-focus: on-unfocus: on-keystroke: none ] the on- prefix is deliberate so: a) You can read each entry as "action on such-and-such happening" b) there is no inadvertent mix-up with underlying functions such as 'unfocus Note that this change only effects the internal representation of actions, it will not change the layout specification (i.e. it will not require app script changes). Comments? Names OK? Any additional actions we need to handle? |
PeterD 5-Apr-2007 [5721x2] | on-over: on-out: Mose movement without the focus |
Mose=Mouse | |
btiffin 5-Apr-2007 [5723] | Looks good. I've not delved deep enough, this may be redundant. Do faces handle scroll events or is that just at the window level? |
Ashley 5-Apr-2007 [5724x2] | Just at the window level (with some hard-coded exceptions for slider and spinner). An 'on-scroll action is probably a good addition. |
on-over and on-away are also probably useful (they can be coded in the feel object, but this is tough for widgets like button with an existing feel definition). Another good addition. | |
JaimeVargas 5-Apr-2007 [5726] | Ashley, This API reminds me of Hypercard. |
btiffin 5-Apr-2007 [5727] | Thanks Ashley. I'm hoping to have screenshots of the FirM app up soon. |
Ashley 5-Apr-2007 [5728] | This API reminds me of Hypercard ... is this a good thing or a bad thing? ;) |
btiffin 5-Apr-2007 [5729] | I'm liking the new %tour.r Ashley. The font selector works great on this Debian box...Thankees. |
Ashley 5-Apr-2007 [5730] | What font names look good? List them here and I'll add them to the default ones. Note that as the new ctx-rebgui/font? function filters out fonts not available on the machine running RebGUI we can build up a superset of default font names for the big three: Win, Max and *nix. |
btiffin 5-Apr-2007 [5731x3] | Oh, your defaults. monspace and serif, everything but courier on this box. |
I'll do some more investigating and get back to you here. Thanks again. | |
Ashley; Well I'm more confused than when I started. I got sick of bad Courier and fixed it. It had to do with the order of 100dpi and 75dpi font lists and removing ghostscript font mapping. Anyway, now REBOL/View can't find Serif, Sans Serif or Monospace. The "real" names "DejaVu Serif", "DejaVu Sans", and "DejaVu Sans Mono" work in font [name: ] blocks. So, I can't help much yet. The short list (and I'll need to look into this more) is DejaVu Sans Mono for a good font-fixed DejaVu Serif for a good font-serif DejaVu Sans for a good font-sans-serif These names may be very specific to my setup...not sure yet. These fonts should map to "Monospace" "Serif" "Sans Serif", which I just broke. And after I mucked around the stock font names, which on this REBOL/View 2.7.5.4.2 18-Mar map to font-fixed = "courier" font-serif = "times" and font-sans-serif = "helvetica", all look way better now. Maybe I'll just let you get on with it, and quit mudding the waters :) | |
Ashley 6-Apr-2007 [5734] | FYI, View sets its fonts in %gfx-objects.r (part of the SDK) with the following code: set [font-serif font-sans-serif font-fixed] any [ select [ 1 ["CGTimes" "CGTriumvirate" "LetterGothic"] 2 ["times" "arial" "courier new"] 3 ["times" "arial" "courier new"] 5 ["baskerville" "zurich" "courier10 bt"] ] system/version/4 ["times" "helvetica" "courier"] ] |
Frank 6-Apr-2007 [5735] | With my config (Mandriva 2007) fonts selector opens behind "user interface" window |
Robert 6-Apr-2007 [5736x3] | RebGUI2: Cyphre and I will take a look. |
format attributes: Using the DBase approach is IMO good. A lot of people still know it and IIRC it was pretty complete. | |
actions: We have added a RESET-ACTION. With this I can call something like my-form-gui/reset and it will reset all contained widgets to some default values. IMO a must have and keeps default values etc. near the widget, the source of information. | |
Gregg 6-Apr-2007 [5739] | The ON-* convention has been used in a number of frameworks. It should be familiar to a lot of people. |
Graham 6-Apr-2007 [5740x2] | Any way to selectively change the row colors on a table ? |
for the text and not the highlight | |
older newer | first last |