Flow Layout Manager (PRIM_FWLM)

Flow Layout Manager

Ancestors - Base Layout Manager (PRIM_DTVW)Object (PRIM_OBJT)

Details

The Flow Layout Manager is used to position components in a display area by dividing the items into rows or columns and then flowing the items one after the other in the appropriate row/column.
 
The division into rows or columns is controlled by the Direction property and the number of rows/columns is controlled by the ItemsPerDivision property.

Example

Simple form using a flow layout to control the relative positions of controls.
Function Options(*DIRECT)
Begin_Com Role(*EXTENDS #PRIM_FORM) Clientwidth(454) Clientheight(140) Componentversion(2) Top(227) Left(199) Layoutmanager(#FlowLayout1)
 
   Define_Com Class(#PRIM_FWLM) Name(#FlowLayout1) Direction(TopToBottom)
   Define_Com Class(#PRIM_FWLI) Name(#FlowLayoutItem1) Manage(#Button1) Parent(#FlowLayout1)
   Define_Com Class(#PRIM_FWLI) Name(#FlowLayoutItem2) Manage(#Button2) Parent(#FlowLayout1)
   Define_Com Class(#PRIM_FWLI) Name(#FlowLayoutItem3) Manage(#Button3) Parent(#FlowLayout1)
   Define_Com Class(#PRIM_FWLI) Name(#FlowLayoutItem4) Manage(#Button4) Parent(#FlowLayout1)
   Define_Com Class(#PRIM_FWLI) Name(#FlowLayoutItem5) Manage(#Button5) Parent(#FlowLayout1)
   Define_Com Class(#PRIM_FWLI) Name(#FlowLayoutItem6) Manage(#Button6) Parent(#FlowLayout1)
   Define_Com Class(#PRIM_FWLI) Name(#FlowLayoutItem7) Manage(#Button7) Parent(#FlowLayout1)
   Define_Com Class(#PRIM_FWLI) Name(#FlowLayoutItem8) Manage(#Button8) Parent(#FlowLayout1)
   Define_Com Class(#PRIM_FWLI) Name(#FlowLayoutItem9) Manage(#Button9) Parent(#FlowLayout1)
   Define_Com Class(#PRIM_FWLI) Name(#FlowLayoutItem10) Manage(#Button10) Parent(#FlowLayout1)
 
   Define_Com Class(#PRIM_PHBN) Name(#Button1) Caption('Button1') Displayposition(1) Left(0) Parent(#COM_OWNER) Tabposition(1) Top(0)
   Define_Com Class(#PRIM_PHBN) Name(#Button2) Caption('Button2') Displayposition(2) Left(0) Parent(#COM_OWNER) Tabposition(2) Top(35)
   Define_Com Class(#PRIM_PHBN) Name(#Button3) Caption('Button3') Displayposition(3) Left(0) Parent(#COM_OWNER) Tabposition(3) Top(70)
   Define_Com Class(#PRIM_PHBN) Name(#Button4) Caption('Button4') Displayposition(4) Left(0) Parent(#COM_OWNER) Tabposition(4) Top(105)
   Define_Com Class(#PRIM_PHBN) Name(#Button5) Caption('Button5') Displayposition(5) Left(90) Parent(#COM_OWNER) Tabposition(5) Top(0)
   Define_Com Class(#PRIM_PHBN) Name(#Button6) Caption('Button6') Displayposition(6) Left(90) Parent(#COM_OWNER) Tabposition(6) Top(35)
   Define_Com Class(#PRIM_PHBN) Name(#Button7) Caption('Button7') Displayposition(7) Left(90) Parent(#COM_OWNER) Tabposition(7) Top(70)
   Define_Com Class(#PRIM_PHBN) Name(#Button8) Caption('Button8') Displayposition(8) Left(90) Parent(#COM_OWNER) Tabposition(8) Top(105)
   Define_Com Class(#PRIM_PHBN) Name(#Button9) Caption('Button9') Displayposition(9) Left(180) Parent(#COM_OWNER) Tabposition(9) Top(0)
   Define_Com Class(#PRIM_PHBN) Name(#Button10) Caption('Button10') Displayposition(10) Left(180) Parent(#COM_OWNER) Tabposition(10) Top(35)
 
End_Com

Properties

Name Description
ComponentClassName ComponentClassName is the name of the component's class. Inherited from Object (PRIM_OBJT)
ComponentMembers ComponentMembers provides access to all the member components of this component Inherited from Object (PRIM_OBJT)
ComponentPatternName ComponentPatternName is used to qualify the class of the component. Inherited from Object (PRIM_OBJT)
ComponentTag Generic space allowing a value to be stored for the instance Inherited from Object (PRIM_OBJT)
ComponentType ComponentType gives you access to the type information about the component Inherited from Object (PRIM_OBJT)
ComponentTypeName ComponentTypeName is the fully qualified name of the component's class. Inherited from Object (PRIM_OBJT)
Direction Defines the direction of flow management
FlowOperation Defines the flow operation used to flow the rows/columns
FlowOperationHor Defines the horizontal flow operation for components in a row or column
FlowOperationVer Defines the vertical flow operation for components in a row or column
ItemsPerDivision Defines the number of items to position in each row/column
MarginBottom Bottom margin in pixels
MarginLeft Left margin in pixels
MarginRight Right margin in pixels
MarginTop Top margin in pixels
MaxColumns Maximum number of columns allowed in the layout
MaxHeight Maximum height of the control when the container is resized Inherited from Base Layout Manager (PRIM_DTVW)
MaxRows Maximum number of rows allowed in the layout
MaxWidth Maximum width of the control when the container is resized Inherited from Base Layout Manager (PRIM_DTVW)
MinColumns Minimum number of columns allowed in the layout
MinHeight Minimum height of the control when the container is resized Inherited from Base Layout Manager (PRIM_DTVW)
MinRows Minimum number of columns allowed in the layout
MinWidth Minimum width of the control when the container is resized Inherited from Base Layout Manager (PRIM_DTVW)
Name Name identifies the component Inherited from Object (PRIM_OBJT)
Owner Owner owns this component Inherited from Object (PRIM_OBJT)
Parent The component instance to which this instance is attached. The visual container for a control or the collector of a set of child instances Inherited from Object (PRIM_OBJT)
Sizing Determines how the layout manager will behave within the composite control it manages Inherited from Base Layout Manager (PRIM_DTVW)
SizingRuleHor Defines horizontal sizing rule for a control within the cell
SizingRuleVer Defines vertical sizing rule for a control within the cell
Spacing Defines spacing between rows or columns
SpacingItems Defines spacing between items in a row or column

Events

Name Description
CreateInstance CreateInstance is signalled when an instance of a component is created Inherited from Flow Layout Manager (PRIM_FWLM)
DestroyInstance DestroyInstance is signalled when an instance of a component is about to be destroyed Inherited from Flow Layout Manager (PRIM_FWLM)

See also

All Component Classes

Technical Reference

LANSA Version 15, April 2020