# Layout

Description of the different layouts and constraints for uicontrols and figures.

## Description

Layouts control how figures or `frame` uicontrols manage the positions and display of nested uicontrols. Layout options can be created/set using the createLayoutOptions function.

## Properties

nolayout | none

  No layout is applied, nested uicontrols do not have any constraint.

  Nested uicontrols must be positionned manually and their size is fixed.

grid

  A grid layout is applied to all nested uicontrols.

  Nested uicontrols are positionned in a grid defined in `layout_options` from left to right and top to bottom.

  See grid layout options for information on grid layouts.

border

  A border layout is applied to all nested uicontrols.

  Nested uicontrols are positionned on a border of the parent frame or in the center.

  See border layout options for information on border layouts.

gridbag

  A gridbag layout is applied to all nested uicontrols.

  Nested uicontrols are positionned on a virtual grid as in the grid layout but can occupy several grid spaces, fill empty space horizontally or vertically.

  The gridbag layout allows finer control over the uicontrol behaviour during resize.

  see gridbag layout options for information on gridbag layouts.

## Layout Constraints

Constraints define behaviour of a uicontrol inside a layout.

All nested elements in a layout must define its `constraint` attribute relative to their parent layout. Layouts are thus defined on the parent while constraints are defined on the children.

Constraints can be created/set using the createConstraints function.

## See Also

- uicontrol_properties