Jump to content

Kexi/Handbook/Building Simple Databases/Designing Forms/Widget layouts: Difference between revisions

From KDE UserBase Wiki
Claus chr (talk | contribs)
minor correction
Jstaniek (talk | contribs)
m KEXI uppercase
Line 75: Line 75:


<!--T:22-->
<!--T:22-->
Instead of setting a fixed size for your widgets, in '''Kexi''' you can choose between various widget's size policies. A size policy is a flexible strategy for controlling how a widget is stretched (or shrunk) depending on other neighbouring widgets and space available within the form.  
Instead of setting a fixed size for your widgets, in '''KEXI''' you can choose between various widget's size policies. A size policy is a flexible strategy for controlling how a widget is stretched (or shrunk) depending on other neighbouring widgets and space available within the form.  


<!--T:23-->
<!--T:23-->

Revision as of 01:50, 20 December 2024


Size policies for widgets

Instead of setting a fixed size for your widgets, in KEXI you can choose between various widget's size policies. A size policy is a flexible strategy for controlling how a widget is stretched (or shrunk) depending on other neighbouring widgets and space available within the form.

After putting widgets into the form, typically each widget gets a proportional (Preferred) size policy. These widgets will be automatically resized with preferred settings, depending on their type and size of the entire layout itself. For example, three buttons on a line will be resized to fit their visible text.

For each widget inserted into the form, there are settings for size policy available in the Property Editor. The settings are presented as a group of properties called Size Policy.

This group of properties contains:

Horizontal Size Policy
defining horizontal size of the widget,
Vertical Size Policy
defining vertical size of the widget,
Horizontal Stretch
defining strength of activity of the Horizontal Size Policy,
Vertical Stretch
defining strength of activity of the Vertical Size Policy
Values of size policies

The following values are available in the drop down list for Hor. Policy and Vert. Policy visible in the Property Editor:

Fixed
this value means that the widget cannot be automatically resized; it should maintain the constant size defined at design time (width or height),
Minimum
this value means that the original size of the widget is set as minimal allowed, it is sufficient and there is no need for expanding the widget, but the widget will be expanded if needed. This type of policy can be used to force the widget to be expanded to the whole width or height, especially if you set a stretch value greater than 0.
Maximum
this value means that the original size of the widget is set as maximum allowed and can be decreased without breaking the widget's usability and readability if other widgets need more space,
Preferred
this value means that the original size of the widget is the best and preferred; the widget can be shrunk or expanded however and it will stay readable,
Expanding
this value means that the original size of the widget is reasonable but the widget can be also shrunk; it can be expanded as well to take as much space as possible,
Minimum Expanding
this value means that the original size of the widget is allowed; it can be expanded to take as much space as possible,
Ignored
this value means that the original size of the widget is ignored; the widget can be expanded to take as much space as possible but other widgets usually will not allow for that

Different widget types have various default size policies; for example, button widgets have default size policy set to Minimum (in both directions), while text field widgets have vertical size policy set to Fixed.

The most frequently used size policies are Preferred, Minimum and Maximum.

Vertical and horizontal stretch

The Vert. Stretch and Hor. Stretch properties accept integer values greater than or equal to 0. These properties allow to fine-tune the behavior of size policies. The default value for the properties is 0. A higher value of the stretch means that the widget will be expanded more than widgets for which a lower stretch value is set.