# FormLayout

A layout is a type of frame that contains other items. Layouts are often used to make logical groupings of items and are therefore mainly design components. Functionally, layouts make it easier to hide or disable several items simultaneously by simply modifying the properties of the layout.

## Example

app = pf.GetApplication()
project = app:NewProject()

form = pf.Form.New()

-- Create a few form items

checkbox = pf.FormCheckBox.New("Include currents.")
lineEdit = pf.FormLineEdit.New("Frequency:")

-- Create a 'FormLayout' item

formLayout = pf.FormLayout.New(pf.Enums.FormLayoutEnum.Horizontal)

-- Add items to the layout

-- Add the layout to the form

form:Run()


## Inheritance

The FormLayout object is derived from the FormItem object.

## Property List

Enabled
Controls the item enabled state. Setting the enabled state of an item to false will also disable items or their contents. (Read/Write boolean)
FixedHeight
The fixed height of the item in pixels. When the fixed height is set to a positive value, it is the height of the item. Setting the fixed height to zero or a negative value will restore the default/auto setting and the height will be dynamically determined. The fixed height takes precedence over the minimum height and thus the minimum height is ignored when a fixed height is set. (Read/Write number)
FixedWidth
The fixed width of the item in pixels. When the fixed width is set to a positive value, it is the width of the item. Setting the fixed width to zero or a negative value will restore the default/auto setting and the width will be dynamically determined. The fixed width takes precedence over the minimum width and thus the minimum width is ignored when a fixed width is set. (Read/Write number)
ItemHeight
The height of the item in pixels. (Read only number)
ItemWidth
The width of the item in pixels. (Read only number)
MinimumHeight
The minimum height of the item in pixels. When the height is dynamically determined, it will not be less than the minimum height setting. The minimum height value will only be used when the FixedWidth is not set (restored to the default/auto setting). Setting the minimum height to zero or a negative value will restore the default/auto setting where no minimum height is enforced. (Read/Write number)
MinimumWidth
The minimum width of the item in pixels. When the width is dynamically determined, it will not be less than the minimum width setting. The minimum width value will only be used when the FixedWidth is not set (restored to the default/auto setting). Setting the minimum width to zero or a negative value will restore the default/auto setting where no minimum width is enforced. (Read/Write number)
Type
The object type string. (Read only string)
Visible
Controls the item visibility. Setting the visibility of an item to false will also hide items or their contents. (Read/Write boolean)

## Collection List

FormItems
The collection of item widgets contained in the layout. (FormLayoutItemCollection of FormItem.)

## Method List

Adds the given item to the layout. Items can be any of the defined form item types.
Add (item FormItem, row number, column number)
Adds the given item to the layout at the specified position. Positions are defined as a row and column, starting at (1,1).
Remove (item FormItem)
Removes the given item from the layout. The item can be any of the items that resides in the collection of the form items contained in the layout.

## Constructor Function List

New (layout FormLayoutEnum)
Create a new layout item with a specified item arrangement. (Returns a FormLayout object.)
New ()
Create a new layout item with a vertical item arrangement. (Returns a FormLayout object.)

## Property Details

Enabled
Controls the item enabled state. Setting the enabled state of an item to false will also disable items or their contents.
Type
boolean
Access
FixedHeight
The fixed height of the item in pixels. When the fixed height is set to a positive value, it is the height of the item. Setting the fixed height to zero or a negative value will restore the default/auto setting and the height will be dynamically determined. The fixed height takes precedence over the minimum height and thus the minimum height is ignored when a fixed height is set.
Type
number
Access
FixedWidth
The fixed width of the item in pixels. When the fixed width is set to a positive value, it is the width of the item. Setting the fixed width to zero or a negative value will restore the default/auto setting and the width will be dynamically determined. The fixed width takes precedence over the minimum width and thus the minimum width is ignored when a fixed width is set.
Type
number
Access
ItemHeight
The height of the item in pixels.
Type
number
Access
ItemWidth
The width of the item in pixels.
Type
number
Access
MinimumHeight
The minimum height of the item in pixels. When the height is dynamically determined, it will not be less than the minimum height setting. The minimum height value will only be used when the FixedWidth is not set (restored to the default/auto setting). Setting the minimum height to zero or a negative value will restore the default/auto setting where no minimum height is enforced.
Type
number
Access
MinimumWidth
The minimum width of the item in pixels. When the width is dynamically determined, it will not be less than the minimum width setting. The minimum width value will only be used when the FixedWidth is not set (restored to the default/auto setting). Setting the minimum width to zero or a negative value will restore the default/auto setting where no minimum width is enforced.
Type
number
Access
Type
The object type string.
Type
string
Access
Visible
Controls the item visibility. Setting the visibility of an item to false will also hide items or their contents.
Type
boolean
Access

## Collection Details

FormItems
The collection of item widgets contained in the layout.
Type
FormLayoutItemCollection

## Method Details

Adds the given item to the layout. Items can be any of the defined form item types.
Input Parameters
item(FormItem)
The item widget to add to the layout.
Add (item FormItem, row number, column number)
Adds the given item to the layout at the specified position. Positions are defined as a row and column, starting at (1,1).
Input Parameters
item(FormItem)
The form item to add to the layout.
row(number)
The layout row position.
column(number)
The layout column position.
Remove (item FormItem)
Removes the given item from the layout. The item can be any of the items that resides in the collection of the form items contained in the layout.
Input Parameters
item(FormItem)
The form item to remove from the layout.

## Static Function Details

New (layout FormLayoutEnum)
Create a new layout item with a specified item arrangement.
Input Parameters
layout(FormLayoutEnum)
A value indicating how new items will be arranged.
Return
FormLayout
The newly created layout item.
New ()
Create a new layout item with a vertical item arrangement.
Return
FormLayout
The newly created layout item.