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.