class sizer

superclass(es) object
subclass(es) sizerClient - sizerFixed - sizerPercent
description The sizer class is the abstract base class for all of derived sizers. A sizer is an object that automatically adapts a panel window to the new dimensions of a frame window. A frame can contain one or more panel windows and each panel window has a separate sizer. 
remarks Through using of one of the derived classes the appropriate sizer is selected.
see also frame - panel

tasks

A frame window can contain one or more panel windows, a panel window is a window on which can be drawn and which can contain controls. If the frame is resized then the panels must also be resized to fill the new area or to make them smaller, a sizer can do this automatically.
The sizerClient class makes sure that a panel fills the (remaining) client area of a frame window, if a frame contains a single panel that has a sizerClient instance as sizer the panel completely fills the client area of the frame.
A sizerFixed instance makes sure that a panel 'sticks' to the top, left, right or bottom side of a frame window and remains there, the size (=width or height, this depends on the orientation of the sizer) of the panel is specified in a number of pixels.
A sizerpercent instance also makes sure that a panel 'sticks' to a side of a frame window but the size of the panel is a percentage of the size of the frame window.

methods

owner(Output)

func Retrieve the owner of the sizer, this is the panel window that uses the sizer.
pre TRUE.
post If the sizer is associated with a panel window then Output will refer to that panel instance, else the value of Output will not change.

putAlignment(Input)

func Determine the alignment of the sizer, i.e. to which side of the frame window must the panel 'stick'.
pre The input variable must be one of the following four atoms: top, bottom, left or right.
post The alignment of the sizer was changed, the change of alignment is visible the next time the panel window of the sizer is resized.

fixed(Output)

func Check if the sizer is a fixed sizer.
pre TRUE.
post If the sizer is an instance of the class sizerFixed then Output is assigned true, else it is assigned false.

percent(Output)

func Check if the sizer is a percent sizer.
pre TRUE.
post If the sizer is an instance of the class sizerpercent then Output is assigned true, else it is assigned false.

client(Output)

func Check if the sizer is a client sizer.
pre TRUE.
post If the sizer is an instance of the class sizerClient then Output is assigned true, else it is assigned false.

top(Output)

func Check if the orientation of the sizer is top.
pre TRUE.
post If the sizer 'sticks' to the top of a frame window then Output is assigned true, else it is assigned false.

bottom(Output)

func Check if the orientation of the sizer is bottom.
pre TRUE.
post If the sizer 'sticks' to the bottom of a frame window then Output is assigned true, else it is assigned false.

left(Output)

func Check if the orientation of the sizer is left.
pre TRUE.
post If the sizer 'sticks' to the left of a frame window then Output is assigned true, else it is assigned false.

right(Output)

func Check if the orientation of the sizer is the right side of a frame window.
pre TRUE.
post If the sizer 'sticks' to the right side of a frame window then Output is assigned true, else it is assigned false.