### RowLayout

RowLayout lays out widgets in rows, but is more flexible than FillLayout. The type field controls whether the widgets will be placed in horizontal rows or vertical columns.

It can optionally wrap the widgets, creating as many rows or columns as are needed to display them. It also provides configurable margins on each edge of the layout, and configurable spacing between widgets within the layout. You can pack a RowLayout, which will force all widgets to be the same size. If you justify a RowLayout, extra space remaining in the Composite will be allocated as margins between the widgets.

The height and width of each widget in a RowLayout can be specified in a RowData object which should be set in the widget using setLayoutData(Object).

The following table summarizes the attributes of RowLayout.

Attribute | Description
--- | ---
justify | Can be one of HORIZONTAL (layout in a row), VERTICAL (layout in a column).
marginBottom | Specifies the number of pixels to be placed along the bottom edge of the layout.
marginLeft | Specifies the number of pixels to be placed along the left edge of the layout.
marginRight | Specifies the number of pixels to be placed along the right edge of the layout.
marginTop | Specifies the number of pixels to be placed along the top edge of the layout.
pack | Specifies whether all widgets should be forced to be the same size.
spacing | Specifies the number of pixels between one cell and its adjacent cells
type | Can be one of HORIZONTAL (layout in rows), VERTICAL (layout in columns).
wrap | Specifies whether a control will be wrapped to the next row or column if there is insufficient space in the current row or column.

The following table summarize the attributes of RowData.

Attribute | Description
--- | ---
width | Specifies the width of the cell in pixels.
height | Specifies the height of the cell in pixels.