Clutter.BoxLayout
Description: Reference for Clutter.BoxLayout

### Class

# ClutterBoxLayout

#### Description [src]

    class Clutter.BoxLayout : Clutter.LayoutManager {
      /* No available fields */
    }

A layout manager arranging children on a single line

The `ClutterBoxLayout` is a `ClutterLayoutManager` implementing the following layout policy:

- all children are arranged on a single line
- the axis used is controlled by the `ClutterBoxLayout:orientation` property
- each child will be allocated to its natural size or, if `ClutterActor:x-expand` or `ClutterActor:y-expand` are set, the available size
- honours the `ClutterActor`‘s `ClutterActor:x-align` and `ClutterActor:y-align` properties to fill the available size
- if the `ClutterBoxLayout:homogeneous` boolean property is set, then all widgets will get the same size, ignoring expand settings and the preferred sizes

It is possible to control the spacing between children of a `ClutterBoxLayout` by using clutter_box_layout_set_spacing().

#### Ancestors

- ClutterLayoutManager
- GInitiallyUnowned
- GObject

#### Constructors

###### clutter_box_layout_new

Creates a new `ClutterBoxLayout` layout manager.

#### Instance methods

###### clutter_box_layout_get_homogeneous

Retrieves if the children sizes are allocated homogeneously.

###### clutter_box_layout_get_orientation

Retrieves the orientation of the `layout`.

###### clutter_box_layout_get_spacing

Retrieves the spacing set using `clutter_box_layout_set_spacing()`

###### clutter_box_layout_set_homogeneous

Sets whether the size of `layout` children should be homogeneous.

###### clutter_box_layout_set_orientation

Sets the orientation of the `ClutterBoxLayout` layout manager.

###### clutter_box_layout_set_spacing

Sets the spacing between children of `layout`.

##### Methods inherited from ClutterLayoutManager (12)

###### clutter_layout_manager_allocate

Allocates the children of `container` given an area.

###### clutter_layout_manager_child_get

Retrieves the values for a list of properties out of the `ClutterLayoutMeta` created by `manager` and attached to the child of a `container`.

###### clutter_layout_manager_child_get_property

Gets a property on the `ClutterLayoutMeta` created by `manager` and attached to a child of `container`.

###### clutter_layout_manager_child_set

Sets a list of properties and their values on the `ClutterLayoutMeta` associated by `manager` to a child of `container`.

###### clutter_layout_manager_child_set_property

Sets a property on the `ClutterLayoutMeta` created by `manager` and attached to a child of `container`.

###### clutter_layout_manager_find_child_property

Retrieves the `GParamSpec` for the layout property `name` inside the `ClutterLayoutMeta` sub-class used by `manager`.

###### clutter_layout_manager_get_child_meta

Retrieves the `ClutterLayoutMeta` that the layout `manager` associated to the `actor` child of `container`, eventually by creating one if the `ClutterLayoutManager` supports layout properties.

###### clutter_layout_manager_get_preferred_height

Computes the minimum and natural heights of the `container` according to `manager`.

###### clutter_layout_manager_get_preferred_width

Computes the minimum and natural widths of the `container` according to `manager`.

###### clutter_layout_manager_layout_changed

Emits the `ClutterLayoutManager::layout-changed` signal on `manager`.

###### clutter_layout_manager_list_child_properties

Retrieves all the `GParamSpec`s for the layout properties stored inside the `ClutterLayoutMeta` sub-class used by `manager`.

###### clutter_layout_manager_set_container

If the `ClutterLayoutManager` sub-class allows it, allow adding a weak reference of the `container` using `manager` from within the layout manager.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Properties

###### Clutter.BoxLayout:homogeneous

Whether the `ClutterBoxLayout` should arrange its children homogeneously, i.e. all children get the same size.

###### Clutter.BoxLayout:orientation

The orientation of the `ClutterBoxLayout`, either horizontal or vertical.

###### Clutter.BoxLayout:spacing

The spacing between children of the `ClutterBoxLayout`, in pixels.

#### Signals

##### Signals inherited from ClutterLayoutManager (1)

###### ClutterLayoutManager::layout-changed

The signal is emitted each time a layout manager has been changed. Every `ClutterActor` using the `manager` instance as a layout manager should connect a handler to the `ClutterLayoutManager::layout-changed` signal and queue a relayout on themselves:

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct ClutterBoxLayoutClass {
      /* no available fields */
    }

The `ClutterBoxLayoutClass` structure contains only private data and should be accessed using the provided API.