NAME

IUP::Normalizer - [GUI element] normalizes all controls from a list to be the biggest natural size

DESCRIPTION

Normalizes all controls from a list so their natural size to be the biggest natural size among them. All natural width will be set to the biggest width, and all natural height will be set to the biggest height according to is value.

my $normalizer = IUP::Normalizer( child=>[$elem1, $elem2, $elem3],
                                  NORMALIZE=>"HORIZONTAL" );
#at his point $elem1 ... $elem3 are normalized, IUP::Normalizer instance can be destroyed
undef $normalizer;

USAGE

CREATION - new() method

$normalizer = IUP::Normalizer->new( );

XXX-child-named-param-not implemented-yet

Returns: the identifier of the created element, or undef if an error occurs.

NOTE: You can pass to new() other ATTRIBUTE=>'value' or CALLBACKNAME=>\&func pairs relevant to this element - see IUP::Manual::02_Elements.

ATTRIBUTES

For more info about concept of attributes (setting/getting values etc.) see IUP::Manual::03_Attributes. Attributes specific to this element:

  • NORMALIZE (non inheritable)

    Normalization direction. Can be HORIZONTAL, VERTICAL or BOTH. These are the same values of the NORMALIZESIZE attribute. Default: HORIZONTAL.

  • NORMALIZERGROUP (non inheritable, for contained controls use)

    Name of a normalizer to automatically add the control. If a normalizer with that name does not exists then one is created.

  • ADDCONTROL (non inheritable)

    Adds a control to the normalizer. The value passed must be the name of an element. Use SetName or XXX-FIX_ME to associate an element to a name. In Lua you can also use the element reference directly.

  • ADDCONTROL_HANDLE (non inheritable)

    Adds a control to the normalizer. The value passed must be a handle of an element.

NOTES

It is NOT necessary to add the normalizer to a dialog hierarchy. Every time the NORMALIZE attribute is set a normalization occurs. If the normalizer is added to a dialog hierarchy, then whenever the Natural size is calculated a normalization occurs, so add it to the hierarchy before the elements you want to normalize or its normalization will be not used.

The elements do NOT need to be children of the same parent, do NOT need to be mapped, and do NOT need to be in a complete hierarchy of a dialog.

The elements are NOT children of the normalizer. To remove or add other elements, the normalizer must be destroyed and created a new one.

Has the same effect of the NORMALIZESIZE attribute of the IUP::Vbox and IUP::Hbox controls, but it can be used for elements with different parents, it changes the User size of the elements.

EXAMPLES

Unfortunately there are no sample scripts using this element.

SEE ALSO

IUP::Hbox, IUP::Vbox

The original doc: iupnormalizer.html