sizePolicy
The sizePolicy property is a sizing directive to display form elements.
This property defines how the front-ends compute the size of some form elements in grids. The
sizePolicy applies only to leaf elements, not to containers.
The default value of sizePolicy is initial
.
The sizePolicy property is ignored for the widgets used in Table and Tree columns, because in tables, the size policy is implicitly defined by the cell as fixed (i.e. the size of the column in the form layout).
When sizePolicy is fixed
, the form elements size is
exactly the one defined in the Form Specification File. The size of the element is
computed from the width and height in the form grid and the font used on the front-end
side.
When sizePolicy is dynamic
, the size of the element
grows and shrinks according to the width of the wider during the life time of the
application. This can be used for ComboBox or RadioGroup fields, when the size of the
widget must fit exactly to its content, which can vary during the program execution.
With sizePolicy=DYNAMIC
, Buttons, Labels, CheckBoxes, Images, and
RadioGroups can shrink and grow all the time, while ComboBoxes can only grow.
When sizePolicy is initial
, the size is computed the
first time the element appears on the screen. Once the widget is displayed, its size is
frozen. This is typically used when the size of the element must be fixed but is not
known at design time (for instance, when populating a ComboBox item list from a database
table). This option is also useful when the text of labels is unknown at design time
because of internationalization. With sizePolicy=initial
, the behavior
differs depending on the form element type. Keep in mind that after the first display,
the element size will be frozen:
- Buttons: The size defined in the form is a minimum size. If the text is bigger, the size grows (width and height).
- ComboBoxes: The width defined in the form is a minimum width. If one of the items in the value list is bigger, the size grows in order for the combobox to display the largest item fully.
- Labels, CheckBoxes, and RadioGroups can shrink or grow. The size defined in the form is ignored. The fields are sized according to the element text.
- Images can shrink and grow according to the picture displayed. Images can use the
stretch property, so that the size of the widget can be
dependant from the parent container, overriding the sizePolicy
property. If the width and height properties have to be used, the sizePolicy property
must be set to
FIXED
. - Other widgets such as Edit or ProgressBar are not sensitive to the sizePolicy property.
- Web components: The sizePolicy property is supported for web component fields. However, because the content and behavior is defined by the front-end, this property may have no effect. See the front-end web-component specific documentation for more details.
For additional information, see the SIZEPOLICY attribute topic in the Genero Business Development Language User Guide.