Claims
- 1. A method of generating a layout for a computer user interface comprising:
receiving a plurality of elements to be placed in a layout; and distributing the elements in the layout according to an algorithm taking into account sizes of the elements and a size of the layout.
- 2. The method of claim 1, wherein a user provides the plurality of elements to generate a layout for an existing computer user interface.
- 3. The method of claim 1, wherein, if there are at most three elements that are wider than one-third of the layout, these at most three elements are distributed on separate rows, and the remaining elements are distributed row-wise in the layout in three columns.
- 4. The method of claim 1, wherein, if there are at least four elements that are wider than one-third of the layout, and if there are at most three elements that are wider than half the layout, these at most three elements are distributed on separate rows, and the remaining elements are distributed row-wise in the layout in two columns.
- 5. The method of claim 1, wherein at least one element comprises a label and a field, the label being located to the left of the field in the layout.
- 6. The method of claim 1, comprising distributing the elements row-wise if the layout is wider than a predetermined width.
- 7. The method of claim 6, wherein the predetermined width is related to a standard unit width for the elements.
- 8. The method of claim 1, further comprising receiving a plurality of group boxes to be placed in the layout, the group boxes to include groups of the plurality of elements, and distributing the group boxes in the layout.
- 9. The method of claim 8, wherein the algorithm comprises distributing the group boxes row-wise in the layout.
- 10. The method of claim 8, wherein the algorithm comprises taking into account sizes of the group boxes.
- 11. The method of claim 8, further comprising redistributing at least one group box to symmetrize the plurality of group boxes.
- 12. The method of claim 11, further comprising redistributing at least one group box to avoid misleading semantics in the layout.
- 13. The method of claim 8, further comprising determining whether to redistribute at least one group box.
- 14. The method of claim 13, further comprising redistributing at least one group box to reduce a cumulative size of the plurality of group boxes in the layout.
- 15. The method of claim 13, wherein the algorithm takes into account differences in height between at least two group boxes.
- 16. The method of claim 15, wherein the algorithm redistributes a group box from a first row to a second row if the group box fits on the second row and if the difference in height between group boxes on the first row and the difference in height between group boxes on the second row are less than a predetermined amount.
- 17. A method of generating a layout for a computer user interface comprising:
receiving a plurality of elements to be placed in a layout, the plurality of elements including a plurality of group boxes, wherein groups of the elements are to be placed in the group boxes; distributing the group boxes in the layout according to a first algorithm taking into account sizes of the group boxes and a size of the layout; and distributing the elements in the layout according to a second algorithm taking into account sizes of the elements and a size of the layout, including distributing the groups of elements in the group boxes.
- 18. The method of claim 17, wherein the first algorithm redistributes a group box from a first row to a second row if the group box fits on the second row and if the difference in height between group boxes on the first row and the difference in height between group boxes on the second row are less than a predetermined amount.
- 19. The method of claim 17, wherein, if there are at most three elements that are wider than one-third of the layout, the second algorithm distributes these at most three elements on separate rows, and distributes the remaining elements row-wise in the layout in three columns.
- 20. The method of claim 17, wherein, if there are at least four elements that are wider than one-third of the layout, and if there are at most three elements that are wider than half the layout, these at most three elements are distributed on separate rows, and the remaining elements are distributed row-wise in the layout in two columns.
- 21. Computer readable medium having stored thereon instructions for causing a digital data processing system to perform operations comprising:
receives a plurality of elements to be placed in a layout; and distributes the elements in the layout according to an algorithm taking into account sizes of the elements and a size of the layout.
- 22. The medium of claim 21, further comprising receives a plurality of group boxes to be placed in the layout, the group boxes to include groups of the plurality of elements, wherein, if more than two group boxes fit side-by-side on a row in the layout, the algorithm determines whether to redistribute at least one group box.
- 23. The medium of claim 21, further comprising a user selecting the plurality of elements to generate a layout for an existing computer user interface.
- 24. A system for automatic layout generation comprising:
a plurality of elements to be placed in a layout, a width of each element being an integer multiple of a standard width; and a layout generating module distributing the elements in the layout according to an algorithm taking into account sizes of the elements and a size of the layout.
- 25. The system of claim 24, further comprising a plurality of group boxes to be placed in the layout, the group boxes to include groups of the plurality of elements, wherein, if more than two group boxes fit side-by-side on a row in the layout, the layout generating module determines whether to redistribute at least one group box.
- 26. The system of claim 24, wherein the system includes an existing computer user interface, and wherein a user can provide the plurality of elements to the layout generating module to generate a layout for the existing computer user interface.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims benefit from U.S. Provisional Application Ser. No. 60/386,106, filed Jun. 4, 2002 and entitled “Methods and Apparatus for Automatic Form Generation,” which is incorporated by reference in its entirety. Pending U.S. Application Ser. No. 10/232,942 filed Aug. 30, 2002 and entitled “Automatic Layout Generation” also claims benefit from said provisional and is incorporated by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60386106 |
Jun 2002 |
US |