### Class

# Clutter GridLayout

#### Description [src]

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

A layout manager for a grid of actors

`ClutterGridLayout` is a layout manager which arranges its child widgets in rows and columns. It is a very similar to `ClutterBoxLayout`, but it consistently uses `ClutterActor`‘s alignment and expansion flags instead of custom child properties.

Children are added using clutter_grid_layout_attach(). They can span multiple rows or columns. It is also possible to add a child next to an existing child, using clutter_grid_layout_attach_next_to(). The behaviour of `ClutterGridLayout` when several children occupy the same grid cell is undefined.

`ClutterGridLayout` can be used like a `ClutterBoxLayout` by just using clutter_actor_add_child(), which will place children next to each other in the direction determined by the `ClutterGridLayout:orientation` property.

#### Ancestors

- ClutterLayoutManager
- GInitiallyUnowned
- GObject

#### Constructors

###### clutter_grid_layout_new

Creates a new `ClutterGridLayout`.

#### Instance methods

###### clutter_grid_layout_attach

Adds a widget to the grid.

###### clutter_grid_layout_attach_next_to

Adds a actor to the grid.

###### clutter_grid_layout_get_child_at

Gets the child of `layout` whose area covers the grid cell whose upper left corner is at `left`, `top`.

###### clutter_grid_layout_get_column_homogeneous

Returns whether all columns of `layout` have the same width.

###### clutter_grid_layout_get_column_spacing

Retrieves the spacing set using `clutter_grid_layout_set_column_spacing()`

###### clutter_grid_layout_get_orientation

Retrieves the orientation of the `layout`.

###### clutter_grid_layout_get_row_homogeneous

Returns whether all rows of `layout` have the same height.

###### clutter_grid_layout_get_row_spacing

Retrieves the spacing set using `clutter_grid_layout_set_row_spacing()`

###### clutter_grid_layout_insert_column

Inserts a column at the specified position.

###### clutter_grid_layout_insert_next_to

Inserts a row or column at the specified position.

###### clutter_grid_layout_insert_row

Inserts a row at the specified position.

###### clutter_grid_layout_set_column_homogeneous

Sets whether all columns of `layout` will have the same width.

###### clutter_grid_layout_set_column_spacing

Sets the spacing between columns of `layout`.

###### clutter_grid_layout_set_orientation

Sets the orientation of the `layout`.

###### clutter_grid_layout_set_row_homogeneous

Sets whether all rows of `layout` will have the same height.

###### clutter_grid_layout_set_row_spacing

Sets the spacing between rows 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.GridLayout:column-homogeneous

Whether all columns of the layout should have the same width.

###### Clutter.GridLayout:column-spacing

The amount of space in pixels between two consecutive columns.

###### Clutter.GridLayout:orientation

The orientation of the layout, either horizontal or vertical.

###### Clutter.GridLayout:row-homogeneous

Whether all rows of the layout should have the same height.

###### Clutter.GridLayout:row-spacing

The amount of space in pixels between two consecutive rows.

#### 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 ClutterGridLayoutClass {
      /* no available fields */
    }

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