Progress
AppBuilder
Developer’s Guide
Layout Inheritance Behavior at Run Time
At run time, inheritance always occurs from the master layout to all other layouts in the procedure file. However, inheritance is conditional in that a character layout does not inherit all of the widgets or properties in a graphical layout, and inheritance can be explicitly overridden.
Character Layout Inheritance
If Character Progress does not support a particular widget, a character layout cannot inherit the widget even if it appears in the master layout. Similarly, if Character Progress does not support a particular property for a widget, the character layout cannot inherit the property. For example, the height of Fill-ins, Combo Boxes, Toggle Boxes, Pushbuttons, and Text widgets is always 1 in a character interface.
When you create a character alternate layout, the AppBuilder changes the appearance of the design window and the widgets within the design window to fit within the limitations of a character environment. Thus, buttons can only be one line high, and the character window has a default width of 80 character units and a height of 21 character units. For more information, see the "Simulating Character Applications" section.
Overriding Layout Inheritance
If you change a property of a widget in an alternate layout, that layout no longer inherits the property from the master layout unless you explicitly re-establish layout inheritance. Also, if you insert a widget into an alternate layout, or delete a widget from an alternate layout, you disinherit the widget from the master layout.
There are two special cases:
- If you change either coordinate of a widget’s position, the other coordinate is disinherited as well. You must synchronize both coordinates with the master layout to re-establish layout inheritance.
- If you change either dimension of a widget, the other dimension is disinherited as well. You must synchronize both dimensions to re-establish layout inheritance.
Copyright © 2004 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |