Dialogs for multiple operating systems and multiple languages
First Claim
1. A method of creating a dialog, comprising:
- receiving a dialog definition in a computer for a dialog having a graphical user interface including visible text and/or controls for a user to manipulate, the definition having a hierarchical array of elements including a first graphical user interface layout container including a first display element and a second display element, the hierarchical array further including a third display element that is not contained by the first container, the definition having a first portion describing the relative positioning of first and second display elements of the first container on the graphical user interface and a second portion describing the relative positioning of the first and third display elements on the graphical user interface, wherein the second portion includes cross-hierarchical constraints on positions on the graphical user interface between display elements of separate containers;
interpreting the dialog definition in the computer to lay out the dialog, including calculating a final position of the display elements on the graphical user interface using the relative positioning described in the first portion and the cross-hierarchical constraints included in the second portion; and
displaying the dialog on the graphical user interface.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides a method for a developer to create and display a “dialog definition”, i.e., a description of the dialog that has the position and size of its constituent elements expressed in relative layout rules. These layout rules include expressions of alignment and/or justification of the elements within a container, rather than expressions of the coordinate positions of the elements. In addition, a set of text strings is provided for each language in a separate language file. The user may identify an operating system and a language in which the dialog will be displayed, and the size of the elements in the identified operating system and language will be determined by the computer. The description is interpreted in the computer to lay out the dialog.
-
Citations
44 Claims
-
1. A method of creating a dialog, comprising:
-
receiving a dialog definition in a computer for a dialog having a graphical user interface including visible text and/or controls for a user to manipulate, the definition having a hierarchical array of elements including a first graphical user interface layout container including a first display element and a second display element, the hierarchical array further including a third display element that is not contained by the first container, the definition having a first portion describing the relative positioning of first and second display elements of the first container on the graphical user interface and a second portion describing the relative positioning of the first and third display elements on the graphical user interface, wherein the second portion includes cross-hierarchical constraints on positions on the graphical user interface between display elements of separate containers;
interpreting the dialog definition in the computer to lay out the dialog, including calculating a final position of the display elements on the graphical user interface using the relative positioning described in the first portion and the cross-hierarchical constraints included in the second portion; and
displaying the dialog on the graphical user interface. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
calculating default positions of the display elements in the first container using the first portion; and
after calculating the default positions, applying the cross-hierarchical constraints to calculate a final position of the display elements.
-
-
10. The method of claim 1, wherein calculating a final position of the display elements on the graphical user interface includes:
-
checking for impossible or contradictory cross-hierarchical constraints;
if any impossible or contradictory cross-hierarchical constraints are found, rejecting the impossible or contradictory cross-hierarchical constraints;
sorting remaining cross-hierarchical constraints into vertical and horizontal constraints, creating a sorted order of cross-hierarchical constraints; and
applying the cross-hierarchical constraints in the sorted order.
-
-
11. A method of creating a dialog, comprising:
-
receiving a dialog definition in a computer for a dialog having a graphical user interface, the definition having a hierarchical array of elements operable to be displayed on the graphical user interface, the definition having a first portion describing the relative positioning on the graphical user interface of elements that are in the same layout container and a second portion having at least one cross-hierarchical constraint describing the relative positioning on the graphical user interface of elements that are not in the same layout container, laying out the dialog in the computer according to the first portion of the dialog definition to determine default positions on the graphical user interface for the dialog elements;
applying the constraints in the second portion of the dialog definition to determine final positions on the graphical user interface for the dialog elements; and
displaying the dialog on the graphical user interface. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
checking for impossible or contradictory constraints;
if any impossible or contradictory constraints are found, rejecting the impossible or contradictory constraints;
sorting remaining constraints into vertical and horizontal constraints, creating a sorted order of constraints; and
applying the constraints in the sorted order.
-
-
23. A computer program product, tangibly stored on a computer-readable medium, for creating a dialog, comprising instructions operable to cause a programmable processor to:
-
receive a dialog definition in a computer for a dialog having a graphical user interface including visible text and/or controls for a user to manipulate, the definition having a hierarchical array of elements including a first graphical user interface layout container including a first display element and a second display element, the hierarchical array further including a third display element that is not contained by the first container, the definition having a first portion describing the relative positioning of first and second display elements of the first container on the graphical user interface and a second portion describing the relative positioning of the first and third display elements on the graphical user interface, wherein the second portion includes cross-hierarchical constraints on positions on the graphical user interface between display elements of separate containers;
interpret the dialog definition in the computer to lay out the dialog, including calculating a final position of the display elements on the graphical user interface using the relative positioning described in the first portion and the cross-hierarical constraints included in the second portion; and
display the dialog on the graphical user interface. - View Dependent Claims (24, 25, 26, 27, 29, 30, 31, 32)
calculate default positions of the display elements in the first container using the first portion; and
after calculating the default positions, apply the cross-hierarchical constraints to calculate a final position of the display elements.
-
-
32. The computer program product of claim 23, wherein instructions operable to calculate a final position of the display elements on the graphical user interface include instructions operable to:
-
check for impossible or contradictory cross-hierarchical constraints;
if any impossible or contradictory cross-hierarchical constraints are found, reject the impossible or contradictory cross-hierarchical constraints;
sort remaining cross-hierarchical constraints into vertical and horizontal constraints, creating a sorted order of cross-hierarchical constraints; and
apply the cross-hierarchical constraints in the sorted order.
-
-
28. The computer program product of 23, wherein the hierarchical array includes a second graphical user interface layout container that contains the first container and the third display element.
-
33. A computer program product, tangibly stored on a computer-readable medium, for creating a dialog, comprising instructions operable to cause a programmable processor to:
-
receive a dialog definition in a computer for a dialog having a graphical user interface, the definition having a hierarchical array of elements operable to be displayed on the graphical user interface, the definition having a first portion describing the relative positioning on the graphical user interface of elements that are in the same layout container and a second portion having at least one cross-hierarchical constraint describing the relative positioning on the graphical user interface of elements that are not in the same layout container;
lay out the dialog in the computer according to the first portion of the dialog definition to determine default positions on the graphical user interface for the dialog elements;
apply the constraints in the second portion of the dialog definition to determine final positions on the graphical user interface for the dialog elements; and
display the dialog on the graphical user interface. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
check for impossible or contradictory constraints;
if any impossible or contradictory constraints are found, reject the impossible or contradictory constraints;
sort remaining constraints into vertical and horizontal constraints, creating a sorted order of constraints; and
apply the constraints in the sorted order.
-
Specification