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

System and method for automatic and dynamic layout of resizable dialog type windows

Assignee: Microsoft Technology Licensing LLC
•
Filing: 2001-08-02
•
Granted: 2005-09-27
•
Expires: 2021-08-02
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention involves a new system and process for automatically and dynamically laying out elements within an overall window of a graphical user interface by using dynamically resizable frames, i.e., “FlowFrames” disposed within the window. FlowFrames are automatically and dynamically sized and positioned within the window, while one or more other frames, i.e., “child frames,” representing one or more conventional controls, nested within the FlowFrames are also sized and positioned within the window as the window is generated or resized. In particular, each FlowFrame arranges its children horizontally in a row, but dynamically wraps them to one or more additional rows and positions them in accordance with predefined relationships between the children, where they cannot all fit into the same row. Further, the size of each FlowFrame is computed hierarchically from its children up to the overall window and then back down to the individual children.

Inventors

  • 👤 Steven Adam Breinberg

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-25 09:44
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/30; G06F8/38

Claims Analysis

Total Claims: 41
Claim 1
Independent Claim 147 words
A system for automatically and dynamically laying out elements within a window, comprising: specifying at least one dynamically resizable frame in a hierarchical tree structure within a parent window; specifying at least one child element within at least one of the resizable frames; automatically hierarchically computing a size of each dynamically resizable frame based on the hierarchical tree structure, beginning with any child elements within each frame, up to the parent window, and then back down to the individual child elements within each frame; automatically creating a minimum sufficient number of horizontal rows within at least one dynamically resizable frame for displaying each of the child elements within each dynamically resizable frame; automatically arranging child elements within the automatically created horizontal rows; and binding at least two child elements in groups of two or more for controlling how the groups wrap into the automatically created horizontal rows.
Claim 2
Independent Claim 147 words
A system for automatically and dynamically laying out elements within a window, comprising: specifying at least one dynamically resizable frame in a hierarchical tree structure within a parent window; specifying at least one child element within at least one of the resizable frames; automatically hierarchically computing a size of each dynamically resizable frame based on the hierarchical tree structure, beginning with any child elements within each frame, up to the parent window, and then back down to the individual child elements within each frame; automatically creating a minimum sufficient number of horizontal rows within at least one dynamically resizable frame for displaying each of the child elements within each dynamically resizable frame; automatically arranging child elements within the automatically created horizontal rows; and binding at least two child elements in groups of two or more for controlling how the groups wrap into the automatically created horizontal rows.
Claim 3
Dependent Claim 33 words
The system of claim 1 wherein at least one dynamically resizable frame includes any number of nested frames, with at least one of the nested frames further including any number of child elements.
Claim 4
Dependent Claim 26 words
The system of claim 1 wherein the window is resizable, and wherein elements within at least one frame are automatically arranged as the window is resized.
Claim 5
Dependent Claim 11 words
The system of claim 3 wherein the window is user resizable.
Claim 6
Dependent Claim 11 words
The system of claim 3 wherein the window is automatically resized.
Claim 7
Dependent Claim 24 words
The system of claim 1 further comprising specifying preferred vertical margins between the automatically created horizontal rows within at least on dynamically resizable frame.
Claim 8
Dependent Claim 24 words
The system of claim 1 further comprising automatically adjusting a width of at least one of the dynamically resizable frames by a specified amount.
Claim 9
Dependent Claim 25 words
The system of claim 1 further comprising automatically indenting at least one of the automatically created horizontal rows within at least one dynamically resizable frame.
Claim 10
Dependent Claim 33 words
The system of claim 1 further comprising automatically aligning at least one child element within at least one of the automatically created horizontal rows within at least one of the dynamically resizable frames.
Claim 11
Dependent Claim 34 words
The system of claim 9 wherein automatically aligning at last one child element comprises vertically aligning the at least one child element within at least one row of at least one dynamically resizable frame.
Claim 12
Dependent Claim 34 words
The system of claim 9 wherein automatically aligning at last one child element comprises horizontally aligning the at least one child element within at least one row of at least one dynamically resizable frame.
Claim 13
Dependent Claim 36 words
The system of claim 9 wherein automatically aligning at lest one child element comprises vertically and horizontally aligning the at least one child element within at least one row of at least one dynamically resizable frame.
Claim 14
Dependent Claim 36 words
The system of claim 1 further comprising automatically vertically distributing the automatically created horizontal rows within at least one dynamically resizable frame to fill an available vertical space within the at least one dynamically resizable frame.
Claim 15
Dependent Claim 25 words
The system of claim 1 further comprising automatically equally distributing at least one child element within at least one of the automatically created horizontal rows.
Claim 16
Dependent Claim 28 words
The system of claim 1 further comprising automatically determining and reporting on which automatically created horizontal rows within at least one dynamically resizable frame holds particular child elements.
Claim 17
Dependent Claim 19 words
The system of claim 1 further comprising automatically expanding particular child elements to fill particular automatically created horizontal rows.
Claim 18
Dependent Claim 19 words
The system of claim 1 wherein at least one of the child elements includes at least one associated control.
Claim 19
Dependent Claim 16 words
The system of claim 17 wherein at least one of the controls is a text control.
Claim 20
Dependent Claim 53 words
The system of claim 18 wherein any text contained within the text control is automatically wrapped to at least two lines within the text control without using an additional automatically created horizontal row where the text is too wide to fit a single unwrapped text line within a particular automatically created horizontal row.
Claim 21
Dependent Claim 162 words
A computer-implemented process for automatically arranging controls within a window of a graphical user interface, comprising: constructing at least one dynamically resizable frame within a parent window; inserting at least one control frame having at least one associated control into at least one dynamically resizable frame; defining a preferred interrelationship between at least two controls in at least one of the dynamically resizable frames; automatically creating a minimum sufficient number of horizontal rows within at least one dynamically resizable frame for displaying the controls within any of the dynamically resizable frames; automatically arranging the controls within the automatically created horizontal rows in accordance with any preferred interrelationships between the controls; and wherein at least one of the controls is a text control, and wherein any text contained within the text control is automatically wrapped to at least two lines within the text control where the text is too wide to fit as a single unwrapped text line within a particular horizontal row.
Claim 22
Dependent Claim 162 words
A computer-implemented process for automatically arranging controls within a window of a graphical user interface, comprising: constructing at least one dynamically resizable frame within a parent window; inserting at least one control frame having at least one associated control into at least one dynamically resizable frame; defining a preferred interrelationship between at least two controls in at least one of the dynamically resizable frames; automatically creating a minimum sufficient number of horizontal rows within at least one dynamically resizable frame for displaying the controls within any of the dynamically resizable frames; automatically arranging the controls within the automatically created horizontal rows in accordance with any preferred interrelationships between the controls; and wherein at least one of the controls is a text control, and wherein any text contained within the text control is automatically wrapped to at least two lines within the text control where the text is too wide to fit as a single unwrapped text line within a particular horizontal row.
Claim 23
Dependent Claim 45 words
The computer-implemented process of claim 20 further comprising automatically computing a size of each dynamically resizable frame based on a hierarchical tree structure which defines a structural relationship between each dynamically resizable frame and each control within each dynamically resizable frame within the parent window.
Claim 24
Dependent Claim 29 words
The computer-implemented process of claim 20 wherein he window is resizable, and wherein controls within at least one dynamically resizable frame are automatically arranged as the window is resized.
Claim 25
Dependent Claim 150 words
The computer-implemented process of claim 20 further comprising an ability to customize the automatic arrangement of elements within at least one of the automatically created horizontal rows of at least one of the dynamically resizable frames by specifying any of: a preferred vertical margin between the horizontal rows; a preferred width of at least one of the dynamically resizable frames; a preferred indenting of at least one of the horizontal rows; a preferred horizontal alignment of at least one control within at least on of the horizontal rows; a preferred vertical alignment of at least one control within at least one of the horizontal rows; a preferred vertical distribution of horizontal rows within at least one dynamically resizable frame; a preferred horizontal distribution of controls within at least one of the horizontal rows; and a preferred expansion of at least one control within at least one of the horizontal rows.
Claim 26
Dependent Claim 29 words
The computer-implemented process of claim 20 further comprising automatically determining and reporting on which automatically created horizontal rows within at least one dynamically resizable frame holds particular child elements.
Claim 27
Dependent Claim 136 words
A computer-readable medium having computer executable instinct ions for automatically organizing elements within a user resizable dialog window, said computer executable instructions comprising: adding at least one automatically reconfigurable frame to a parent window; inserting at least one child element into at least one automatically reconfigurable frame; specifying preferred indenting rules for at least one of the child elements; dynamically creating wrapable horizontal rows within at least one automatically reconfigurable frame for displaying each of the child elements within any of the, automatically reconfigurable frames; automatically arranging child elements within the dynamically created wrapable horizontal rows in accordance with any specified preferred indenting rules as the resizable window is resized; and binding at least two child elements in groups of two or more for controlling how the groups wrap into the dynamically created wrapable horizontal rows.
Claim 28
Dependent Claim 136 words
A computer-readable medium having computer executable instinct ions for automatically organizing elements within a user resizable dialog window, said computer executable instructions comprising: adding at least one automatically reconfigurable frame to a parent window; inserting at least one child element into at least one automatically reconfigurable frame; specifying preferred indenting rules for at least one of the child elements; dynamically creating wrapable horizontal rows within at least one automatically reconfigurable frame for displaying each of the child elements within any of the, automatically reconfigurable frames; automatically arranging child elements within the dynamically created wrapable horizontal rows in accordance with any specified preferred indenting rules as the resizable window is resized; and binding at least two child elements in groups of two or more for controlling how the groups wrap into the dynamically created wrapable horizontal rows.
Claim 29
Dependent Claim 31 words
The computer-readable medium of claim 25 further comprising creating a hierarchical tree structure which defines a structural relationship between each automatically reconfigurable frame and each child element within the parent window.
Claim 30
Dependent Claim 23 words
The computer-readable medium of claim 26 further comprising using the hierarchical tree structure to automatically compute a size of each automatically reconfigurable frame.
Claim 31
Dependent Claim 36 words
The computer-readable medium of claim 25 further comprising a capability of nesting any number of frames within at least one automatically reconfigurable frame, with at least one nested frame further including any number of child elements.
Claim 32
Dependent Claim 69 words
The computer-readable medium of claim 25 further comprising specifying any of: a preferred vertical margin between the dynamically created wrapable horizontal rows within at least one automatically reconfigurable frame; a preferred width of the dynamically created wrapable horizontal rows within at least one automatically reconfigurable frame; and a preferred indenting width of at least one of the dynamically created wrapable horizontal rows within at least one automatically reconfigurable frame.
Claim 33
Dependent Claim 34 words
The computer-readable medium of claim 25 further comprising automatically aligning at least one child element within at least one automatically reconfigurable frame in accordance a specified preferred alignment of at least one child element.
Claim 34
Dependent Claim 31 words
The computer-readable medium of 30 wherein automatically aligning at least one child element comprises vertically aligning the at least one child element within at least one dynamically created wrapable horizontal row.
Claim 35
Dependent Claim 31 words
The computer-readable medium of 30 wherein automatically aligning at least one child element comprises vertically aligning the at least one child element within at least one dynamically created wrapable horizontal row.
Claim 36
Dependent Claim 32 words
The computer-readable medium of claim 30 wherein automatically aligning at least one child element comprises horizontally aligning the at least one child element within at least one dynamically created wrapable horizontal row.
Claim 37
Dependent Claim 34 words
The computer-readable medium of claim 30 wherein automatically aligning at least one child element comprises vertically and horizontally aligning the at least one child element within at least one dynamically created wrapable horizontal row.
Claim 38
Dependent Claim 38 words
The computer-readable medium of claim 25 further comprising automatically vertically distributing the dynamically created wrapable horizontal rows within at least one automatically reconfigurable frame to fill an available vertical space within the at least one automatically reconfigurable frame.
Claim 39
Dependent Claim 25 words
The computer-readable medium of claim 25 further comprising automatically equally distributing each child element within at least one of the dynamically created wrapable horizontal rows.
Claim 40
Dependent Claim 23 words
The computer-readable medium of claim 25 further comprising automatically determining and reporting on which dynamically created wrapable horizontal rows hold particular child elements.
Claim 41
Dependent Claim 21 words
The computer-readable medium of claim 25 further comprising automatically expanding particular child elements to fill particular dynamically created wrapable horizontal rows.

References Cited (Backward Citations)

US5745122A Cited
US5920316A Cited
US5760772A Cited
US6111573A Cited
US5886694A Cited
US6335743B1 Cited
US6392673B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2008-09-26 2009-03-28 2009-09-27 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2012-09-26 2013-03-28 2013-09-27 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2016-09-26 2017-03-28 2017-09-27 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag