World: r3wp
[!RebGUI] A lightweight alternative to VID
older newer | first last |
Pekr 20-Sep-2005 [2001x2] | One of the most difficult fields was date entry field 99.99.9999, with VO we had three or more implementations. Native one pretty sucked - it is all about what chars you allow, what happens if you press tab, del, how is field hilighted by default, what part is hilighted, if your backspace key deleting letters stops at dot or not etc ec. With date field - do you want to allow user to enter any number? 67 or other number is surely not a good day-number, is it? :-) Now do you want to disallow user to type nonsense directly? How do you know without linking it to calendar? Or do you do your validation when leaving your field? Some ppl do validation once per form, e.g. when you try to press "Save" button (not my preferred way, at least for some field-types, but some do prefer that) ... |
I don't want to complicte the whole thing - but if you are about to add some functionality - first answer to yourself some of above questions - because semi-functional solution is not a solution for me and in that case it is just becoming a bloatware, which sooner or later, will be replaced by custom solutions, as ppl simply will need above functionality. And the worst possible thing is, if your solution does not allow to be replaced in an easy way ... | |
Sunanda 20-Sep-2005 [2003] | Some of those are philosphical questions about application design / user interface. For example, I have one application that permits things like "Not sure, maybe next tuesday. must ask Bob" in a date field. That's perfectly valid until they click the "publish" button. Then we need a real date. So *private* data conforms to their rules; *public* conforms to ours. |
Graham 20-Sep-2005 [2004x3] | perhaps we need different field types. |
field accepts every character, but if I had integer-field, or alpha-field, or bitmask-field .. it would help. | |
it sucks having to validate after the event. better to stop the user from entering the characters in the first place if we wish to disallow them. | |
Pekr 20-Sep-2005 [2007] | Graham - aren't character of integer field another level of complication? Let's have one type of field, with kind of clever masking/validation - then, using the SAME rules, let's define your character or integer field, please ;-) |
Sunanda 20-Sep-2005 [2008] | *Some* validation can only happen after the event -- unless you enforce the order in which fields are completed. And even then it's not always possible. May you need some lightweight masks for simple things. Plus the ability to skip off to a tailored validation function for the more awkward stuff. |
Graham 20-Sep-2005 [2009] | It depends upon how easy this is to implement. |
Pekr 20-Sep-2005 [2010] | ... it was just food for thoughts from my side - maybe most of developers don't need such advanced functionality ... so let's think about possible ways of how to implement that and then let's present some solutions ... |
Graham 20-Sep-2005 [2011x2] | I am currently doing field validation by datatypes, but it does have it's limitations as Pekr says. |
Is a zip code an integer! or string! Is a password field string! or integer! ? | |
Pekr 20-Sep-2005 [2013x2] | zip code might by an integer, if the space used in that is part of your mask - e.g. in CZ we have "739 92", PL uses "73-992" etc. |
(not mentioning some countries, which allow chars,not just digits) | |
Sunanda 20-Sep-2005 [2015x2] | Good questions.....A zio code format depends on the country....even if you switch masks vy country name, the country name may be entered after the zip code. You'll only handle that correctly with post-form completion validation. |
vy == by | |
Graham 20-Sep-2005 [2017] | load "739 92" == [739 92] |
Pekr 20-Sep-2005 [2018] | imo some simplified parse dialect could work (we have Gab's parse rules, so we could be able to define parsing rules dynamically, or we implement it other way, dunno), the tricky part could be, if you would like to do validation upon each event (key-press), or only when your field is losing focus ... |
Graham 20-Sep-2005 [2019x4] | in some ways you have to implement a mini editor for the field. prevent scrolling. skip over characters. |
Back again regarding the data format for tables, sometimes I want to include a database key in the data without displaying it. So, it might the 3rd element in a row where there are only two columns displayed. With a flat data spec, I can not do this. | |
Also, I don't know if this is intended, but if you manage to click on the arrow in a table header, nothing happens. to sort, you have to avoid the arrow. | |
show-focus highlights all the text in a field. Wonder if better to just show the cursor at the end. | |
Ashley 20-Sep-2005 [2023] | Note the following user-configurable blocks under ctx-rebgui/edit: tabbed: [area field edit-list password button] hilight-on-focus: [field edit-list] caret-on-focus: [area field edit-list password] action-on-enter: [field edit-list password] But its probably a good idea to agree on the "correct" default behaviour anyway. |
Graham 21-Sep-2005 [2024] | show-text ( I think ) should set the slider back to the top when used with an area widget. |
Graham 22-Sep-2005 [2025x2] | If you do a show-text area {some rather large text},and then do a show-text area with small text, the small text appears at the bottom of the area field. If you then click on the area field, it moves to the top. |
You have to use the slider to move to the bottom of the large text before showing the small text to see this. | |
Ashley 22-Sep-2005 [2027] | Area / scroll / slider reset definitely needs more work. |
[unknown: 5] 22-Sep-2005 [2028] | Thanks for commenting James. |
Graham 22-Sep-2005 [2029] | Should a double click also fire the single click action ? |
Ashley 23-Sep-2005 [2030] | It does by default as a double-click generates two 'down actions with the latter having event/double-click = true. This is usually a good thing anyway as (in the case of lists with a highlight bar) double-clicking a new entry automatically triggers the default single-click action (highlight a new row) plus the double-click action we are interested in trapping. |
Graham 23-Sep-2005 [2031] | Any reason why request-file has lost the /keep refinement ? |
Geomol 23-Sep-2005 [2032] | Version 1.3.1.3.1 has /keep. Is it in a newer version? |
Graham 23-Sep-2005 [2033] | Rebgui redefines 'request-file without the /keep refinement |
Ashley 23-Sep-2005 [2034] | Oversight I think. ;) |
Graham 23-Sep-2005 [2035x3] | Ahh.... |
I'm doing some async io, which works with View, but in Rebgui, I get the following error when I click on my button make object! [ code: 312 type: 'script id: 'cannot-use arg1: 'path arg2: 'none! arg3: none near: [if pf/data <> face/data [ old: pf/data if old [ clear skip pf/pane/:old/effect/draw 7 show pf/pane/:old ] pf/data: face/data insert tail face/effect/draw [pen leaf fill-pen leaf circle 6x10 3] show face face/action face ]] where: 'switch ] | |
nope ... something else going on. | |
Ladislav 24-Sep-2005 [2038] | I think, that Cyphre will be able to give you an advice on that |
Graham 24-Sep-2005 [2039] | it was my fault |
Pekr 24-Sep-2005 [2040] | Ashley - why request-date was redone? It has strange metrics here ... too wide (x axis) and it looks like 80ies jurrasic Win3.1 period with btns :-) - old look was much nicer with chevron kind of buttons ... and it was merely the same size X and Y axis wise ... |
Ashley 24-Sep-2005 [2041] | Had to increase width to account for longer three letter day abbreviations (previous version used two letters), but having each cell being a square yielded too much white space (especially when the last row has no entries in it). "<" and "<<" buttons will eventually be replaced with SVG icons when support for that is added. |
Pekr 24-Sep-2005 [2042] | Thanks for your answers, Ashley. Will SVG support be RebGUI system-wide? |
Graham 24-Sep-2005 [2043x3] | Ashleny, just wondering how complex a GUI you've managed to build with the current version. |
*Ashley* | |
Though I guess tour.r is pretty complex | |
Ashley 24-Sep-2005 [2046x2] | Pekr, yes. The code for svg-toolbar, icon, etc widgets is all there ... just waiting on SVG renderer project (which in turn is waiting on some REBOL/AGG fixes). |
Graham, I've messaged you privately. When I get back from the DevCon (November 1st) I'll put some screen-shots of some of my commercial apps up. Maybe a demo or two as well. | |
Graham 25-Sep-2005 [2048x2] | Any idea on why this error occurs? make object! [ code: 312 type: 'script id: 'cannot-use arg1: 'path arg2: 'none! arg3: none near: [if pf/data <> face/data [ old: pf/data if old [ clear skip pf/pane/:old/effect/draw 7 show pf/pane/:old ] pf/data: face/data insert tail face/effect/draw [pen leaf fill-pen leaf circle 6x10 3] show face face/action face ]] where: 'switch ] |
I'm setting a radio-group using the following code field/pane/2/feel/engage field/pane/:value 'down none The radio group appears in a pane, and if I display that pane first, then there is no problem. But if I try it before I display the pane containing the radio-group, I get this error. | |
Geomol 25-Sep-2005 [2050] | Because data is none? >> layout [r: radio] >> probe r/data none |
older newer | first last |