Patent US5886694A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5886694A Expired / Lapsed US ⏱️ 0.0 years remaining

Method for automatically laying out controls in a dialog window

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1997-07-14
•
Granted: 1999-03-23
•
Expires: 2017-07-14
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer-based method of sizing and positioning controls within a window is disclosed. The method divides a window, and in particular a dialog window, into rectangular regions, referred to as frames. A logical description of the relative positions and sizes of the controls and frames within the dialog window is specified. The method automatically determines the coordinates of each control and positions the controls accordingly during execution of the computer program that is displaying the dialog window. The method is performed in two stages: a specification stage and a layout stage. In the specification stage, a dialog window is subdivided into multiple nested rectangular frames. The set of frames for a dialog window forms a hierarchical tree of frames. In the layout stage, the method traverses the tree of frames twice. The first traversal of the frame tree occurs in postorder sequence, and determines the minimum required size of each frame. The second traversal of the tree occurs in preorder sequence, selectively expanding or repositioning frames within the available space. When the method completes the determination for the Leaf Frames, the final coordinates of each control are known. The method then sets the coordinates of each control accordingly.

Inventors

  • 👤 Steven Adam Breinberg
  • 👤 Marc Rene Keller
  • 👤 Hannes Helmut Ruescher
  • 👤 Hiroya Chiba

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 20:51
CPC Classifications
G; G09; G09G; G09G5/00; G09G5/14; G06; G06F; G06F8/00; G06F8/30; G06F8/38

Claims Analysis

Total Claims: 56
Claim 1
Independent Claim 171 words
A method for specifying and laying out the display of a dialog window containing a plurality of controls in a computer system comprising a processor and a display screen, said method comprising: specifying a plurality of frames, each frame representing a region within the dialog window, the frames forming a hierarchical tree of frames, the tree of frames including at least one parent frame having at least one associated child frame, wherein a region represented by each parent frame encloses a region represented by its associated child frame, each control having an associated frame; determining a minimum size of each child frame; determining a minimum size of each parent frame based on the minimum sizes of its child frames; determining a position of each parent frame; determining a position of each child frame based on the position of its parent frame; determining a size and position of each control, based on the determined size and position of its associated frame; and displaying each control according to its determined size and position.
Claim 2
Independent Claim 171 words
A method for specifying and laying out the display of a dialog window containing a plurality of controls in a computer system comprising a processor and a display screen, said method comprising: specifying a plurality of frames, each frame representing a region within the dialog window, the frames forming a hierarchical tree of frames, the tree of frames including at least one parent frame having at least one associated child frame, wherein a region represented by each parent frame encloses a region represented by its associated child frame, each control having an associated frame; determining a minimum size of each child frame; determining a minimum size of each parent frame based on the minimum sizes of its child frames; determining a position of each parent frame; determining a position of each child frame based on the position of its parent frame; determining a size and position of each control, based on the determined size and position of its associated frame; and displaying each control according to its determined size and position.
Claim 3
Dependent Claim 54 words
The method of claim 1, wherein the frame tree includes a first frame and a second frame, further comprising: specifying at least one positional relationship between the first frame and the second frame; and determining a position of the first frame based on the positional relationship between the first frame and the second frame.
Claim 4
Dependent Claim 21 words
The method of claim 2, wherein the first frame is a parent frame and the second frame is a parent frame.
Claim 5
Dependent Claim 44 words
The method of claim 3, further comprising: specifying at least one size relationship between the first frame and the second frame; and determining at least one dimension of the first frame based on the size relationship between the first frame and the second frame.
Claim 6
Dependent Claim 17 words
The method of claim 2, wherein the first frame is a child frame of the second frame.
Claim 7
Dependent Claim 26 words
The method of claim 1, wherein the frame tree includes at least one grandparent frame that is a parent frame of at least one parent frame.
Claim 8
Dependent Claim 22 words
The method of claim 6, further comprising determining a size of the window based on the minimum size of the grandparent frame.
Claim 9
Dependent Claim 43 words
The method of claim 1, further comprising selectively determining a second size of each child frame based on the determined size of its parent frame, wherein the second size of each frame is greater in at least one dimension than its minimum size.
Claim 10
Dependent Claim 54 words
The method of claim 8, wherein the frame tree includes a first frame and a second frame, further comprising: specifying at least one positional relationship between the first frame and the second frame; and determining a position of the first frame based on the positional relationship between the first frame and the second frame.
Claim 11
Dependent Claim 21 words
The method of claim 9, wherein the first frame is a parent frame and the second frame is a parent frame.
Claim 12
Dependent Claim 44 words
The method of claim 10, further comprising: specifying at least one size relationship between the first frame and the second frame; and determining at least one dimension of the first frame based on the size relationship between the first frame and the second frame.
Claim 13
Dependent Claim 50 words
The method of claim 8, wherein the frame tree includes a first frame and a second frame, further comprising: specifying at least one size relationship between the first frame and the second frame; and determining the second size of the first frame based on the size of the second frame.
Claim 14
Dependent Claim 43 words
The method of claim 12, wherein the first frame and the second frame are parent frames, and wherein the second size of a child frame of the first frame is based on the minimum size of a child frame of the second frame.
Claim 15
Dependent Claim 96 words
The method of claim 8, wherein the frame tree includes a first frame, a second frame, and a third frame, wherein the third frame is a parent frame of the first frame and second frame, further comprising: determining a width of the third frame based on a total of a width of the first frame and a width of the second frame; determining a second width of the first frame based on the width of the third frame, wherein the second width of the first frame is greater than the first width of the first frame.
Claim 16
Dependent Claim 23 words
The method of claim 14, further comprising: specifying that the width component of the second frame's minimum size is not to be expanded.
Claim 17
Dependent Claim 41 words
The method of claim 14, wherein the frame tree includes a fourth frame that is not a child frame of the third frame, further comprising: determining a second width of the third frame based on a width of the fourth frame.
Claim 18
Dependent Claim 17 words
The method of claim 16, wherein the fourth frame is a sibling frame of the third frame.
Claim 19
Dependent Claim 64 words
The method of claim 1, further comprising: performing a first traversal of the frame tree, wherein the step of determining a minimum size of each parent frame occurs during the first traversal of the frame tree; performing a second traversal of the frame tree, wherein the step of determining a position of each child frame occurs during the second traversal of the frame tree.
Claim 20
Dependent Claim 26 words
The method of claim 18, wherein the step of determining a second size of each child frame occurs during the second traversal of the frame tree.
Claim 21
Dependent Claim 49 words
The method of claim 19, wherein the frame tree includes a root node, a plurality of leaf nodes, and a plurality of intermediate nodes, and the first traversal of the frame tree occurs from the leaf nodes of the frame tree to the root node of the frame tree.
Claim 22
Dependent Claim 18 words
The method of claim 20, wherein the first traversal of the frame tree is performed in postorder sequence.
Claim 23
Dependent Claim 31 words
The method of claim 21, wherein the second traversal of the frame tree is performed from the root node of the frame tree to the leaf nodes of the frame tree.
Claim 24
Dependent Claim 18 words
The method of claim 22, wherein the second traversal of the frame tree is performed in preorder sequence.
Claim 25
Dependent Claim 78 words
The method of claim 1, wherein the frame tree includes a first frame, a second frame, and a third frame, wherein the third frame is a parent frame of the first frame and second frame, further comprising: determining a width of the third frame based on the greater width between the first frame and the second frame; and determining a height of the third frame based on the greater height between the first frame and the second frame.
Claim 26
Dependent Claim 37 words
The method of claim 24, further comprising: determining a second width of the first frame based on the width of the third frame, wherein the second width of the first frame is greater than its minimum size.
Claim 27
Dependent Claim 35 words
The method of claim 1, further comprising: selectively displaying the border of each frame in a corresponding color, wherein a color corresponding to each frame is different from a color corresponding to its child frames.
Claim 28
Dependent Claim 30 words
The method of claim 1, further including: creating the window; and wherein the step of creating the window is performed prior to determining a size and position of each control.
Claim 29
Dependent Claim 74 words
The method of claim 1, further comprising: displaying the window a plurality of times; wherein the step of determining the minimum size of each child frame is performed a plurality of times, each said step being performed subsequent to a previous step of displaying the window, and wherein the minimum size of at least one child frame is determined to be different from a previous determination of the minimum size of the child frame.
Claim 30
Dependent Claim 181 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for specifying and laying out the display of a dialog window containing a plurality of controls, the method steps comprising: specifying a plurality of frames, each frame representing a region within the dialog window, the frames forming a hierarchical tree of frames, the tree of frames including at least one parent frame having at least one associated child frame, wherein a region represented by each parent frame encloses a region represented by its associated child frame, each control having an associated frame; determining a minimum size of each child frame; determining a minimum size of each parent frame based on the minimum sizes of its child frames; determining a position of each parent frame; determining a position of each child frame based on the position of its parent frame; determining a size and position of each control, based on the determined size and position of its associated frame; and displaying each control according to its determined size and position.
Claim 31
Dependent Claim 181 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for specifying and laying out the display of a dialog window containing a plurality of controls, the method steps comprising: specifying a plurality of frames, each frame representing a region within the dialog window, the frames forming a hierarchical tree of frames, the tree of frames including at least one parent frame having at least one associated child frame, wherein a region represented by each parent frame encloses a region represented by its associated child frame, each control having an associated frame; determining a minimum size of each child frame; determining a minimum size of each parent frame based on the minimum sizes of its child frames; determining a position of each parent frame; determining a position of each child frame based on the position of its parent frame; determining a size and position of each control, based on the determined size and position of its associated frame; and displaying each control according to its determined size and position.
Claim 32
Dependent Claim 62 words
The program storage device of claim 29, wherein the tree of frames includes a first frame and a second frame, and wherein the method steps further comprise: specifying at least one positional relationship between the first frame and the second frame; and determining a position of the first frame based on the positional relationship between the first frame and the second frame.
Claim 33
Dependent Claim 23 words
The program storage device of claim 30, wherein the first frame is a parent frame and the second frame is a parent frame.
Claim 34
Dependent Claim 50 words
The program storage device of claim 31, wherein the method steps further comprise: specifying at least one size relationship between the first frame and the second frame; and determining at least one dimension of the first frame based on the size relationship between the first frame and the second frame.
Claim 35
Dependent Claim 19 words
The program storage device of claim 30, wherein the first frame is a child frame of the second frame.
Claim 36
Dependent Claim 28 words
The program storage device of claim 29, wherein the frame tree includes at least one grandparent frame that is a parent frame of at least one parent frame.
Claim 37
Dependent Claim 48 words
The program storage device of claim 34, wherein the frame tree includes exactly one root frame that is an ancestor to all other frames in the frame tree, the method steps further comprising determining a size of the window based on the minimum size of the root frame.
Claim 38
Dependent Claim 41 words
The program storage device of claim 29, wherein the method steps further comprise selectively displaying the border of each frame in a corresponding color, wherein a color corresponding to each frame is different from a color corresponding to its child frames.
Claim 39
Dependent Claim 36 words
The program storage device of claim 29, wherein the method steps further comprise: creating the window; and wherein the step of creating the window is performed prior to determining a size and position of each control.
Claim 40
Dependent Claim 50 words
The program storage device of claim 29, wherein the method steps further comprise selectively determining a second size of each child frame based on the determined size of its parent frame, and wherein the second size of each frame is greater in at least one dimension than its minimum size.
Claim 41
Dependent Claim 62 words
The program storage device of claim 38, wherein the tree of frames includes a first frame and a second frame, and wherein the method steps further comprise: specifying at least one positional relationship between the first frame and the second frame; and determining a position of the first frame based on the positional relationship between the first frame and the second frame.
Claim 42
Dependent Claim 23 words
The program storage device of claim 39, wherein the first frame is a parent frame and the second frame is a parent frame.
Claim 43
Dependent Claim 50 words
The program storage device of claim 40, wherein the method steps further comprise: specifying at least one size relationship between the first frame and the second frame; and determining at least one dimension of the first frame based on the size relationship between the first frame and the second frame.
Claim 44
Dependent Claim 19 words
The program storage device of claim 39, wherein the first frame is a child frame to the second frame.
Claim 45
Dependent Claim 28 words
The program storage device of claim 38, wherein the frame tree includes at least one grandparent frame that is a parent frame of at least one parent frame.
Claim 46
Dependent Claim 55 words
The program storage device of claim 38, wherein the frame tree includes a first frame and a second frame, the method steps further comprising: specifying at least one size relationship between the first frame and the second frame; and determining the second size of the first frame based on the size of the second frame.
Claim 47
Dependent Claim 45 words
The program storage device of claim 44, wherein the first frame and the second frame are parent frames, and wherein the second size of a child frame of the first frame is based on the minimum size of a child frame of the second frame.
Claim 48
Dependent Claim 101 words
The program storage device of claim 38, wherein the frame tree includes a first frame, a second frame, and a third frame, wherein the third frame is a parent frame of the first frame and second frame, the method steps further comprising: determining a width of the third frame based on a total of a width of the first frame and a width of the second frame; determining a second width of the first frame based on the width of the third frame, wherein the second width of the first frame is greater than the first width of the first frame.
Claim 49
Dependent Claim 39 words
The program storage device of claim 46, wherein the method steps further comprise specifying, prior to determining the minimum size of the second frame that the width component of the second frame's minimum size is not to be expanded.
Claim 50
Dependent Claim 70 words
The program storage device of claim 38, wherein the method steps further comprise: performing a first traversal of the frame tree, wherein the step of determining a minimum size of each parent frame occurs during the first traversal of the frame tree; performing a second traversal of the frame tree, wherein the step of determining a position of each child frame occurs during the second traversal of the frame tree.
Claim 51
Dependent Claim 28 words
The program storage device of claim 48, wherein the step of determining a second size of each child frame occurs during the second traversal of the frame tree.
Claim 52
Dependent Claim 51 words
The program storage device of claim 49, wherein the frame tree includes a root node, a plurality of leaf nodes, and a plurality of intermediate nodes, and the first traversal of the frame tree occurs from the leaf nodes of the frame tree to the root node of the frame tree.
Claim 53
Dependent Claim 20 words
The program storage device of claim 50, wherein the first traversal of the frame tree is performed in postorder sequence.
Claim 54
Dependent Claim 33 words
The program storage device of claim 50, wherein the second traversal of the frame tree is performed from the root node of the frame tree to the leaf nodes of the frame tree.
Claim 55
Dependent Claim 85 words
The program storage device of claim 38, wherein the frame tree includes a first frame, a second frame, and a third frame, wherein the third frame is a parent frame of the first frame and second frame, and wherein the method steps further comprise: determining a width of the third frame based on the greater width between the first frame and the second frame; and determining a height of the third frame based on the greater height between the first frame and the second frame.
Claim 56
Dependent Claim 36 words
The program storage device of claim 38, wherein the method steps further comprise: creating the window; and wherein the step of creating the window is performed prior to determining a size and position of each control.

References Cited (Backward Citations)

US4860218A Cited
US5062060A Cited
US5119476A Cited
US5552982A Cited
US5416900A Cited
US5757369A Cited
US5459832A Cited
US5777687A Cited
US5579466A Cited
US5757364A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-03-22 2002-09-21 2003-03-23 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-03-22 2006-09-21 2007-03-23 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-03-22 2010-09-21 2011-03-23 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag