World: r3wp
[!RebGUI] A lightweight alternative to VID
older newer | first last |
Anton 30-May-2005 [1077x2] | Ashley, I had also wrote a VID integer-edit style, then I decided to make a single function to generate pair, integer and decimal-edit styles. I could convert this in future. It kind of violates your "each widget self-contained" design feature, but the code shrinkage was too hard to resist, and the potential is there to support more datatypes... |
5) Extending widgets object: I was looking for a doc to show how to create the simplest widget ever. If you are happy keeping it this way (ie. "do it yourself") then I could write the example script and accompanying doc, to add to the Widget Designer's Guide. | |
Ashley 30-May-2005 [1079] | ... simplest widget ever ... How much is there to write about? widgets: make widgets [my-widget: make face []] Or am I missing something? ;) Your VID edit styles sound interesting, but I'm looking for a more universal solution to "field input masks" and "field input validation". Something that would let me define a telephone number mask for example. |
shadwolf 30-May-2005 [1080x9] | some thing like a ###-#### for fone number for example and ??##??? for 2 strings followed by 2 number then by three strings |
like 555-1234 | |
or AD21SQF | |
rafinement could be a coded like mask like 3#-4# (for fone number mask ) and 2?2#3? (for the 2chars then 2 number then 3 chars mask ) | |
as fone number are different betwin areas it would be nice to can specify localisation for masks rules in the localisation file ;) | |
so ? = what ever a to z ot A to Z character and # = What ever 0 to 9 char all other caracteres in it are considered as always needed things. Repetition can be simplify be using numbers in the mask | |
like 2?-3#-5? | |
I think parsing rules that complains to my description is not so hard to do ;) | |
when an entry doesn"t feet to the mask a message must be displayed showwing and automated example of what must be a good entry to warn user :) | |
Ammon 30-May-2005 [1089] | Nice, try just typing rebgui into the location bar on FireFox... |
shadwolf 31-May-2005 [1090] | Ammon :when I type rebgui in the firefox 1.0.4 location bar I get the redirection to the rebol france article (in french) I wrote ;) king of little presentation for french readers |
Ammon 31-May-2005 [1091] | Hm... You must be in france and Google's france branch must be redirecting you differently... |
james_nak 31-May-2005 [1092] | Ashley, very nice work. I have probably asked everyone in this group at one time or another about how VID works (or doesn't seem to). I really appreciate that you are working on something like this. I had all but given up trying to get my interfaces to function the way I wanted them to. At some point one has to just give in and focus on the actual program. Now I'm thinking I can have my cake and eat it too. Thanks big guy. |
Anton 1-Jun-2005 [1093x2] | Ashley, I felt the need for this kind of validation / masking as well. Just never got around to it. It's not simple. |
Simplest widget ever : you got it. :-) That saves a lot of time getting started. | |
james_nak 1-Jun-2005 [1095] | What is the mechanism to know which line in a table has been selected? |
Ashley 1-Jun-2005 [1096] | Not implemented yet. |
james_nak 1-Jun-2005 [1097] | Thanks. |
Ashley 2-Jun-2005 [1098] | Latest build available at: http://www.dobeash.com/files/RebGUI-024.zip Highlights include: - New edit object / feel added in a separate file, %rebgui-edit.r - Documentation on above at: http://www.dobeash.com/it/rebgui/edit.html - Face redefinition localised to widgets object - Radio-group color toned down from green to leaf Known issues: - auto-fill broken for the time being - edit feel needs to support tab / shift+tab into and out of "grouping" widgets - cursor down goes to end of text instead of next line?! (yell if you know the answer as I'm stumped on this one) On the drawing board - area widget needs a scroller added to it by default - field format / validation masks - inline spell-checker |
Allen 2-Jun-2005 [1099] | ashley I'll take a look at auto-fill on the weekend, and try and get it to behave like the VID version does. anything to look out for? |
shadwolf 3-Jun-2005 [1100x3] | request-color ** Script Error: in expected object argument of type: object port ** Where: wake-event ** Near: if in pop-face/feel 'pop-detect [event: pop-face/feel/pop-detect pop-face event] >> |
drop-list ** Script Error: in expected object argument of type: object port ** Where: wake-event ** Near: if in pop-face/feel 'pop-detect [event: pop-face/feel/pop-detect pop-face event] >> | |
with rebol/VM 1.2.116.3.1 and windows XP SP2 ( i don't experiment those bugs by my own there where submitted in the Form of rebolfrance.org website by cr8825.) | |
Ashley 3-Jun-2005 [1103] | Allen: Thanks, should be a bit easier now that we have a [relatively] complete feel / focus system that is similar to VID's. ;) shadwolf: these occur with latest View releases. They'll be corrected once View 1.3 is released. |
ChristianE 3-Jun-2005 [1104x3] | Regarding use of color in RebGUI: I don't think color choices for LEDs in RebGUI are good, which is namely because the default colors are red and green. That not only excludes the color blinds, but even the red-green-blinds (sort of lesser color blinds), which applies to even more people (mainly male ones). Using blue and yellow would make things slightly better, but would still be a hurdle for full color blinds. Probably different shapes would be more usefull here, as they'd give an additional clue. And, finally, the colours are named wrong in the LED group: check-group 60x4 data ["Red" true "Green" false "Blue" none] Believe me, I had to measure the valve values to find that out ;-) |
And personally, I find the visuals of the sliders and draggering irritating, too. The gradient in the sliders container IMHO doesn't integrate in the overall RebGUI appearence - since it's (button left aside) nearly the only pseudo-3d effect - and the visual contrast between dragger an container IMHO isn't very strong. I usually find me clicking in the container when I expected to grab the dragger. The gradient in itself is somewhat unsual, too, since it makes the container appear standing out of screen, if one assumes that light falls from upper left corner (which is how most pseudo-3d screen elements are designed). | |
draggering = draggers | |
Brock 3-Jun-2005 [1107] | I second Christian's thoughts on the dragger and gradient. I also found myself reaching for the gradient section thinking it was the dragger. Because it has more graphic detail, it attracts the eye first... that should be left for the dragger/button itself in my opinion. The background of the slider area should be flat. |
Robert 4-Jun-2005 [1108] | Yep. And the current style doesn't fit to the rest of RebGUI. |
Anton 4-Jun-2005 [1109] | I think the slider and scroller were quite quickly implemented and are not expected to be perfect at this stage. Having said that, I am now wondering if anyone else is working on new ones. It's the scroller widget I noticed yesterday needs some work and I thought I might contribute a new one. |
Ashley 4-Jun-2005 [1110] | By all means, please do. With regards to, "... wondering if anyone else is working on ...", I am in the process of putting together a dependency / project plan that shows how everything is related and what stage each widget / functional area is at (along with who is currently working on it). It's the first step to a more cooperative development model, but I'll implement it as a static web page until REBOL/Services is out. |
Anton 4-Jun-2005 [1111x3] | Ok, so I'll do slider and scroller. |
Good idea about the plan. | |
Here's another issue: rebgui 0.2.4 defines a new global word 'edit This interfered with my custom edit function, which I use to launch my favourite editor. I'm not changing it for you ! :) This is an example of the problem of adding words to the global context without doing an environmental impact study first. The user should be given the choice whether to export your words to the global context or not. But probably most of them don't need to be out there at all. My advice is to add only these words to the global context: [ ctx-rebgui display show-text show-data show-title splash request-color request-date request-file ] --- rebgui.r --- CTX-REBGUI: context [ ... edit: none widgets: none requestors: none display: none foreach [word file][ edit %rebgui-edit.r widgets %rebgui-widgets.r requestors %rebgui-requestors.r display %rebgui-display.r ][ if none? word [set word do file] ] ] ;if not value? 'edit [do %rebgui-edit.r] ;if not value? 'widgets [do %rebgui-widgets.r] ;if not value? 'requestors [do %rebgui-requestors.r] ;if not value? 'display [do %rebgui-display.r] ; export DISPLAY and the accessor functions to global context foreach word [display show-text show-data show-title splash][ set word get in ctx-rebgui word ] And each file no longer has a *named* context: --- edit.r --- REBOL [...] context [...] The above changes should mean few changes to the rebgui code. For example, the body of the display function refers to the widgets context, but this is still accessible because both DISPLAY and WIDGETS are inside ctx-rebgui. | |
Ashley 4-Jun-2005 [1114] | ChristianE 1) LED color / design choices. Agreed. Can anyone point me to where this has been solved? Or suggest a design alternative? 2) Red, Green, Blue. These were example LED titles (much like the previous "One Two Three" example) *not* a statement about the actual LED colors. ;) If the example's that confusing I'll change it. 3) Sliders / Scrollers. Agreed. The priority has been to get a complete set of widgets, *then* ensure each is functionally complete, and *then* ensure they are aesthetically pleasing as a whole and in their own right. As I'm no graphics artist, I've taken the easy approach at first by mimicking what I'm familiar with: Windows XP. |
Anton 4-Jun-2005 [1115] | The words I don't think need to be global are: [sld slm slc slw edit widgets requestors] (and even the ones I have set out above I would scrutinize more.) |
Ashley 4-Jun-2005 [1116] | Excellent suggestion and far better than the approach I was going to use to solve this problem! ;) I'll incorporate it in the next build. |
Anton 4-Jun-2005 [1117] | cool :) |
Ashley 4-Jun-2005 [1118] | One consideration though; how would this scheme be extended to handle SDK use of #include's (as folks using the SDK won't want to ship rebgui-*.r files with their executables)? Oh for a #do-include command! ;) |
Anton 4-Jun-2005 [1119x4] | edit: #include %edit.r |
? dunno, don't have SDK myself. | |
I think this may work (not sure, can't test): sdk?: is-this-sdk? ; <--- need to find out a real flag set 'edit do #either [sdk?][#include %rebgui-edit.r][%reb-gui-edit.r] set 'widgets do #either [sdk?][#include %rebgui-widgets.r][%rebgui-widgets.r] set 'requestors do #either [sdk?][#include %rebgui-requestors.r][%rebgui-requestors.r] set 'display do #either [sdk?][#include %rebgui-display.r][%rebgui-display.r] | |
sdk?: #do [true] false | |
ChristianE 4-Jun-2005 [1123] | Ashley, you may have a look at this modified LED stuff: |
Anton 4-Jun-2005 [1124] | ah heck, that won't work.... |
ChristianE 4-Jun-2005 [1125x2] | ; 15-Mar-2005 Pascal Lefevre ; 27-Apr-2005 Pascal Lefevre ; 4-Jun-2005 Christian Ensel (minor color and shape suggestions) led: make face [ size: -1x4 effect: [draw [pen edge-color fill-pen window-color box 0x0 0x0]] font: default-font para: make default-para [origin: as-pair base-size 2] feel: make default-feel [ redraw: func [face act pos /local colors] [ if act = 'show [ colors: reduce case [ any [face/data = 1 face/data = true] [ [btn-text-color btn-text-color] ] any [face/data = 0 face/data = false] [ [edge-color btn-up-color] ] true [ [edge-color white] ] ] face/effect/draw/2: colors/1 face/effect/draw/4: colors/2 ] ] ] init: does [ if word? data [data: to logic! data] if negative? size/x [size/x: 1000000 size/x: 4 + para/origin/x + first size-text self] effect/draw/6/y: unit-size effect/draw/7: as-pair unit-size * 3 unit-size * 2,5 ] ] |
I gave the LEDs a slightly different shape to make them look different from the check boxes, to make it clearer that they are informative only and not meant to accept user interaction. I dropped my previous color suggestions in favour of using only colors you've allready featured. | |
older newer | first last |