Areas are containers that have certain layout characteristics and contain other areas or Gizmos
The Area class implements the Windows.Forms.Panel object.
It acts as a container for other Area objects or Gizmos and contains the layout algorithm .
The layout algorithm sets the size of outermost window Form Object and the size and position of all components contained within the Form Object. It is implemented by the layout Method.
The Workflow application is a heavy user of the various GUI facilities and can be referenced for working examples.
It layout algorithm assumes the Form Object is resizable. The layout algorithm's goal is to determine the minimum size of the outermost window Form Object.
If the existing size is less than the minimum required, the height and width are set to the minimum required values.
An Area has a notion of horizontal or vertical (default) layout.
The layout calculations are controlled by the following settings.
The width is the sum of the contained Elem Object widths plus margins plus gaps.
The height is the highest of the contained Elem objects.
The width of the widest of the contained Elem objects.
The height is the sum of the contained Elem Object heights plus margins plus gaps.
Adds a gap (padding) between Elem objects of the specified x and y value.
Adds a margin around Elem objects of the specified x and y value.
Sets the absolute position of the Elem Object within the immediate Area Object. An X or Y value of 0 means the Elem Object floats in the horizontal or vertical direction respectively.
An X or Y value of 1 will cause the layout algorithm to calculate the closest value without overlapping in the horizontal or vertical direction respectively. Otherwise additional space, if any, is inserted between each element in the container.
An X and Y value of 0 is the default value.
A value of $true will cause the components to expand themselves to fill the container in which they reside.
If there are multiple Elems with the bFill option the additional space is divided by their count so that each bFill component expands by an equal amount in each direction.
A value of "right" will cause right adjustment of the contained Elem objects.
Other values such as "centre" are untested.
This is handled by the Peer Object positioning of the underlying .NET support code.
addChild TODO - find out what thi does
adjustFormAreas TODO - find out what thi does
calcElemPositions TODO - find out what thi does
calcMinHeight TODO - find out what thi does
calcMinWidth TODO - find out what thi does
detailStr TODO - find out what thi does
dump TODO - find out what thi does
layout Implements the layout algorithm. See @@link.layout-alg.
resetChildren This removes the children from an @@Elem and the @@peer
setElemPositions TODO - find out what thi does
[void] addChild ( [Elem]$kid)
Parameter Format Description
$kid Elem parm description missing
TODO - find out what thi does
[void] adjustFormAreas ( [Form]$form, [int32]$maxW, [int32]$maxH, [boolean]$bNoJam)
Parameter Format Description
$form Form parm description missing
$maxW int32 parm description missing
$maxH int32 parm description missing
$bNoJam boolean parm description missing
TODO - find out what thi does
[void] calcElemPositions ()
TODO - find out what thi does
[int32] calcMinHeight ()
TODO - find out what thi does
[int32] calcMinWidth ()
TODO - find out what thi does
[String] detailStr ()
TODO - find out what thi does
[void] dump ( [string]$mar)
Parameter Format Description
$mar string parm description missing
TODO - find out what thi does
[void] layout ()
Implements the layout algorithm. See Layout Algorithm.
[void] resetChildren ()
This removes the children from an ?@Elem@? and the ?@peer@?
This is used when a rebuild is required. All down-tree objects need to be repopulated.
[void] setElemPositions ()
TODO - find out what thi does
Copyright © 2018-2021, 2022, Rexcel System Inc.