US2004268269A1PendingUtilityA1

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

Assignee: MICROSOFT CORPPriority: Aug 2, 2001Filed: Jul 23, 2004Published: Dec 30, 2004
Est. expiryAug 2, 2021(expired)· nominal 20-yr term from priority
G06F 8/38
45
PatentIndex Score
0
Cited by
0
References
0
Claims

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.

Claims

exact text as granted — not AI-modified
1 . 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 dynamically 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; and    automatically arranging child elements within the automatically created horizontal rows.    
     
     
         2 . 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.  
     
     
         3 . 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.  
     
     
         4 . The system of  claim 3  wherein the window is user resizable.  
     
     
         5 . The system of  claim 3  wherein the window is automatically resized.  
     
     
         6 . The system of  claim 1  further comprising specifying preferred vertical margins between the automatically created horizontal rows within at least one dynamically resizable frame.  
     
     
         7 . The system of  claim 1  further comprising automatically adjusting a width of at least one of the dynamically resizable frames by a specified amount.  
     
     
         8 . 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.  
     
     
         9 . 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.  
     
     
         10 . The system of  claim 9  wherein automatically aligning at least one child element comprises vertically aligning the at least one child element within at least one row of at least one dynamically resizable frame.  
     
     
         11 . The system of  claim 9  wherein automatically aligning at least one child element comprises horizontally aligning the at least one child element within at least one row of at least one dynamically resizable frame.  
     
     
         12 . The system of  claim 9  wherein automatically aligning at least 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.  
     
     
         13 . 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.  
     
     
         14 . 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.  
     
     
         15  (Cancelled).  
     
     
         16 . 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.  
     
     
         17 . The system of  claim 1  further comprising automatically expanding particular child elements to fill particular automatically created horizontal rows.  
     
     
         18 . The system of  claim 1  wherein at least one of the child elements includes at least one associated control.  
     
     
         19 . The system of  claim 18  wherein at least one of the controls is a text control.  
     
     
         20 . The system of  claim 19  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 as a single unwrapped text line within a particular automatically created horizontal row.  
     
     
         21 . 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; and    automatically arranging the controls within the automatically created horizontal rows in accordance with any preferred interrelationships between the controls.    
     
     
         22 . The computer-implemented process of  claim 21  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.  
     
     
         23 . The computer-implemented process of  claim 21  wherein the window is resizable, and wherein controls within at least one dynamically resizable frame are automatically arranged as the window is resized.  
     
     
         24 . The computer-implemented process of  claim 21  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 one 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.  
 
     
     
         25 . The computer-implemented process of  claim 21  further comprising automatically determining and reporting on which automatically created horizontal rows within at least one dynamically resizable frame holds particular child elements.  
     
     
         26  (Cancelled).  
     
     
         27 - 40  (Cancelled).

Join the waitlist — get patent alerts

Track US2004268269A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.