[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gnue-designer
From: |
Randall Whitman |
Subject: |
Re: gnue-designer |
Date: |
Thu, 30 Sep 2010 11:36:35 -0700 |
> maxLength is now simply called "length", both are still generally
> allowed (of course "length" is preferred"), they are just forbidden for
> field datatypes with implicit length (boolean, date...)
Right, i see i typo-omitted "date" one of the most important words in the
sentence; let's try again:
3. Do not put [max]length attribute in <field> elements whose types carry
implicit length (date, boolean...), as Forms now strictly forbids that.
(keep length attr for fields whose type does not imply its length.)
> Yes, with the sizer: namespace, there is sizer:min_width,
> sizer:max_width etc.
OK, as an exercise in better understanding the use of hbox/vbox - well
the use of managed layout - I started manually making a managed-layout
equivalent of absolute.gfd . Made quick attempt to add max-length to
one entry - looks like i didnt get it right yet, dont see max-length
in samples.
(migrate1.gfd below)
> However, I'm not really happy with the way it works now, and I'm
> considering to change how this works. Maybe it's best to just not
> support this feature in designer for the time being.
Well, it may have to be incremental in any case. It may be that partway
through, Designer serves to make a first pass, then app developer has to
refine the XML by hand, which is at least one step forward from having to
start from scratch.
> Other than that, gnue-forms automatically decides the entry size based
> on the length of the attached field, and this is what makes the most
> sense anyway.
Would we consider absolute.gfd a bit anomalous in having all unbound fields?
> [Can we give the option to migrate old to new?]
> Some things which have changed could surely be automated, like name
> changes of attributes (e.g. "maxLength" -> "length").
I've been brainstorming some ideas for migration.
Not sure that any of them will pan out, but if even one does, great.
a. maybe dialog on Open of old file:
( ) Continue using old format
( ) Migrate to new format
[ ] make backup now as xzy.gf~
[ ] choose new name now [________]
b. Layout:Char - Layout:Sizers
"maxLength" -> "length"
maybe some more straightforward text substitutions
c. <entry>,<label> pairs - to <entry> with label= attr.
d. define some sort/ordering of the existing elements, by X-Y coordinates?
is the ordering of <field> elements meaningful (order in the XML)?
e. add a vbox element (required or optional?); existing <box> -> vbox
o. just b-e will not preserve the positional/visual layout of existing form.
does current managed-layout give person designing form, much control?
( ) Continue using absolute positioning (old format)
( ) Redo form with managed layout - you will have to reposition the entries
Backup or rename:
( ) make backup now as [xyz.gf~]
( ) choose new name now [xyz2.gfd]
General/overall layout structure of your form:
( ) 1-column
( ) 2-column
( ) 2-column
( ) 2-row
( ) Other
[OK]
Make histogram of X (and/or Y) coordinates.
Look for biggest gaps in X-coord and conclude columns/members (|Y/row).
Then w/in deduced columns (vbox in hbox), order by Y-coord (|rows/X).
Assume that most forms have far fewer rows than columns [char/abs]
(at least for ISO-8859-1 scope). Make a histogram of number of entries
per row, and from that make deductions about rows/column box/groups.
____________________________________________
<?xml version="1.0"?>
<form title="Migrate from Absolute to Managed">
<options>
<version/>
</options>
<logic>
<block name="blk">
<field name="text1"/>
<field name="text2"/>
<field name="text3"/>
<field name="text4"/>
<field name="bool1" typecast="boolean"/>
<field name="bool2" typecast="boolean"/>
<field name="bool3" typecast="boolean"/>
<field name="bool4" typecast="boolean"/>
</block>
</logic>
<layout xmlns:s="GNUe:Layout:Sizer">
<page name="main">
<hbox name="try">
<vbox name="v1">
<vbox name="v1a" label="Entries">
<entry block="blk" field="text1" label="First:" s:width="20"/>
<entry block="blk" field="text2" label="Second:" s:length="20"/>
<entry block="blk" field="text3" label="Third:" s:max_width="20"/>
<entry block="blk" field="text4" label="Fourth:"/>
</vbox>
<vbox name="v1b" label="Labels">
<entry s:width="20" block="blk" field="text1" style="label"
label="Number One:"/>
<entry s:width="20" block="blk" field="text2" style="label"
label="Number Two:"/>
<entry s:width="20" block="blk" field="text3" style="label"
label="Number Three:"/>
<entry s:width="20" block="blk" field="text4" style="label"
label="Number Four:"/>
</vbox>
<vbox name="v1c" label="Checkboxes">
<entry s:width="38" block="blk" field="bool1" style="checkbox"
label="First Checkbox"/>
<entry s:width="38" block="blk" field="bool2" style="checkbox"
label="Second Checkbox"/>
<entry s:width="38" block="blk" field="bool3" style="checkbox"
label="Third Checkbox"/>
<entry s:width="38" block="blk" field="bool4" style="checkbox"
label="Fourth Checkbox"/>
</vbox>
</vbox>
<vbox name="v2">
<vbox name="v2a" label="Labels">
<entry s:length="20" block="blk" field="text1" style="label"
label="Number One:"/>
<entry s:width="20" block="blk" field="text2" style="label"
label="Number Two:"/>
<entry s:max_width="20" block="blk" field="text3" style="label"
label="Number Three:"/>
</vbox>
<vbox name="v2b" label="Multi">
<entry s:width="38" s:height="2" block="blk"
field="text1" style="multiline"/>
<entry s:width="38" s:height="2" block="blk"
field="text2" style="multiline"/>
</vbox>
<vbox name="v2c" label="Button">
<button s:width="38" label="Button 1"/>
<button s:width="38" label="Button 2"/>
<button s:width="38" label="Button 3"/>
<button s:width="38" label="Button 4"/>
</vbox>
</vbox>
<vbox name="v3">
<entry s:width="20" block="blk" field="text1" />
<entry s:width="20" block="blk" field="text2" />
<entry s:width="20" block="blk" field="text3" />
<entry s:width="20" block="blk" field="text4" />
<entry s:width="20" block="blk" field="text1" />
<entry s:width="20" block="blk" field="text2" />
<entry s:width="20" block="blk" field="text3" />
<entry s:width="20" block="blk" field="text4" />
<entry s:width="20" block="blk" field="text1" />
<entry s:width="20" block="blk" field="text2" />
<entry s:width="20" block="blk" field="text3" />
<entry s:width="20" block="blk" field="text4" />
<entry s:width="20" block="blk" field="text1" />
<entry s:width="20" block="blk" field="text2" />
<entry s:width="20" block="blk" field="text3" />
<entry s:width="20" block="blk" field="text4" />
<entry s:width="20" block="blk" field="text1" />
<entry s:width="20" block="blk" field="text2" />
</vbox>
</hbox>
</page>
</layout>
</form>
- Re: gnue-designer, (continued)
- Re: gnue-designer, Reinhard Mueller, 2010/09/25
- Re: gnue-designer, Randall Whitman, 2010/09/27
- Re: gnue-designer, Reinhard Mueller, 2010/09/28
- Re: gnue-designer, Randall Whitman, 2010/09/28
- Re: gnue-designer, Reinhard Mueller, 2010/09/29
- Re: gnue-designer, Randall Whitman, 2010/09/29
- Re: gnue-designer, Randall Whitman, 2010/09/29
- Re: gnue-designer, Reinhard Mueller, 2010/09/29
Re: gnue-designer, Randall Whitman, 2010/09/30
- Re: gnue-designer, Reinhard Mueller, 2010/09/30
- Re: gnue-designer,
Randall Whitman <=