ClutterGridLayout

ClutterGridLayout — A layout manager for a grid of actors

Properties

gboolean column-homogeneous Read / Write
guint column-spacing Read / Write
ClutterOrientation orientation Read / Write
gboolean row-homogeneous Read / Write
guint row-spacing Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── ClutterLayoutManager
            ╰── ClutterGridLayout

Description

ClutterGridLayout is a layout manager which arranges its child widgets in rows and columns. It is a very similar to ClutterTableLayout and 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 “orientation” property.

Functions

clutter_grid_layout_new ()

ClutterLayoutManager *
clutter_grid_layout_new (void);

Creates a new ClutterGridLayout

Returns

the new ClutterGridLayout


clutter_grid_layout_attach ()

void
clutter_grid_layout_attach (ClutterGridLayout *layout,
                            ClutterActor *child,
                            gint left,
                            gint top,
                            gint width,
                            gint height);

Adds a widget to the grid.

The position of child is determined by left and top . The number of 'cells' that child will occupy is determined by width and height .

Parameters

layout

a ClutterGridLayout

 

child

the ClutterActor to add

 

left

the column number to attach the left side of child to

 

top

the row number to attach the top side of child to

 

width

the number of columns that child will span

 

height

the number of rows that child will span

 

Since: 1.12


clutter_grid_layout_attach_next_to ()

void
clutter_grid_layout_attach_next_to (ClutterGridLayout *layout,
                                    ClutterActor *child,
                                    ClutterActor *sibling,
                                    ClutterGridPosition side,
                                    gint width,
                                    gint height);

Adds a actor to the grid.

The actor is placed next to sibling , on the side determined by side . When sibling is NULL, the actor is placed in row (for left or right placement) or column 0 (for top or bottom placement), at the end indicated by side .

Attaching widgets labeled [1], [2], [3] with sibling == NULL and side == CLUTTER_GRID_POSITION_LEFT yields a layout of 3[1].

Parameters

layout

a ClutterGridLayout

 

child

the actor to add

 

sibling

the child of layout that child will be placed next to, or NULL to place child at the beginning or end.

[allow-none]

side

the side of sibling that child is positioned next to

 

width

the number of columns that child will span

 

height

the number of rows that child will span

 

Since: 1.12


clutter_grid_layout_get_child_at ()

ClutterActor *
clutter_grid_layout_get_child_at (ClutterGridLayout *layout,
                                  gint left,
                                  gint top);

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

Parameters

layout

a ClutterGridLayout

 

left

the left edge of the cell

 

top

the top edge of the cell

 

Returns

the child at the given position, or NULL.

[transfer none]

Since: 1.12


clutter_grid_layout_insert_column ()

void
clutter_grid_layout_insert_column (ClutterGridLayout *layout,
                                   gint position);

Inserts a column at the specified position.

Children which are attached at or to the right of this position are moved one column to the right. Children which span across this position are grown to span the new column.

Parameters

layout

a ClutterGridLayout

 

position

the position to insert the column at

 

Since: 1.12


clutter_grid_layout_insert_row ()

void
clutter_grid_layout_insert_row (ClutterGridLayout *layout,
                                gint position);

Inserts a row at the specified position.

Children which are attached at or below this position are moved one row down. Children which span across this position are grown to span the new row.

Parameters

layout

a ClutterGridLayout

 

position

the position to insert the row at

 

Since: 1.12


clutter_grid_layout_insert_next_to ()

void
clutter_grid_layout_insert_next_to (ClutterGridLayout *layout,
                                    ClutterActor *sibling,
                                    ClutterGridPosition side);

Inserts a row or column at the specified position.

The new row or column is placed next to sibling , on the side determined by side . If side is CLUTTER_GRID_POSITION_LEFT or CLUTTER_GRID_POSITION_BOTTOM, a row is inserted. If side is CLUTTER_GRID_POSITION_LEFT of CLUTTER_GRID_POSITION_RIGHT, a column is inserted.

Parameters

layout

a ClutterGridLayout

 

sibling

the child of layout that the new row or column will be placed next to

 

side

the side of sibling that child is positioned next to

 

Since: 1.12


clutter_grid_layout_set_orientation ()

void
clutter_grid_layout_set_orientation (ClutterGridLayout *layout,
                                     ClutterOrientation orientation);

Sets the orientation of the layout .

ClutterGridLayout uses the orientation as a hint when adding children to the ClutterActor using it as a layout manager via clutter_actor_add_child(); changing this value will not have any effect on children that are already part of the layout.

Parameters

layout

a ClutterGridLayout

 

orientation

the orientation of the ClutterGridLayout

 

Since: 1.12


clutter_grid_layout_get_orientation ()

ClutterOrientation
clutter_grid_layout_get_orientation (ClutterGridLayout *layout);

Retrieves the orientation of the layout .

Parameters

layout

a ClutterGridLayout

 

Returns

the orientation of the layout

Since: 1.12


clutter_grid_layout_set_column_homogeneous ()

void
clutter_grid_layout_set_column_homogeneous
                               (ClutterGridLayout *layout,
                                gboolean homogeneous);

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

Parameters

layout

a ClutterGridLayout

 

homogeneous

TRUE to make columns homogeneous

 

Since: 1.12


clutter_grid_layout_get_column_homogeneous ()

gboolean
clutter_grid_layout_get_column_homogeneous
                               (ClutterGridLayout *layout);

Returns whether all columns of layout have the same width.

Parameters

layout

a ClutterGridLayout

 

Returns

whether all columns of layout have the same width.


clutter_grid_layout_set_row_homogeneous ()

void
clutter_grid_layout_set_row_homogeneous
                               (ClutterGridLayout *layout,
                                gboolean homogeneous);

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

Parameters

layout

a ClutterGridLayout

 

homogeneous

TRUE to make rows homogeneous

 

Since: 1.12


clutter_grid_layout_get_row_homogeneous ()

gboolean
clutter_grid_layout_get_row_homogeneous
                               (ClutterGridLayout *layout);

Returns whether all rows of layout have the same height.

Parameters

layout

a ClutterGridLayout

 

Returns

whether all rows of layout have the same height.

Since: 1.12


clutter_grid_layout_set_column_spacing ()

void
clutter_grid_layout_set_column_spacing
                               (ClutterGridLayout *layout,
                                guint spacing);

Sets the spacing between columns of layout

Parameters

layout

a ClutterGridLayout

 

spacing

the spacing between columns of the layout, in pixels

 

Since: 1.12


clutter_grid_layout_get_column_spacing ()

guint
clutter_grid_layout_get_column_spacing
                               (ClutterGridLayout *layout);

Retrieves the spacing set using clutter_grid_layout_set_column_spacing()

Parameters

layout

a ClutterGridLayout

 

Returns

the spacing between coluns of layout

Since: 1.12


clutter_grid_layout_set_row_spacing ()

void
clutter_grid_layout_set_row_spacing (ClutterGridLayout *layout,
                                     guint spacing);

Sets the spacing between rows of layout

Parameters

layout

a ClutterGridLayout

 

spacing

the spacing between rows of the layout, in pixels

 

Since: 1.12


clutter_grid_layout_get_row_spacing ()

guint
clutter_grid_layout_get_row_spacing (ClutterGridLayout *layout);

Retrieves the spacing set using clutter_grid_layout_set_row_spacing()

Parameters

layout

a ClutterGridLayout

 

Returns

the spacing between rows of layout

Since: 1.12

Types and Values

enum ClutterGridPosition

Grid position modes.

Members

CLUTTER_GRID_POSITION_LEFT

left position

 

CLUTTER_GRID_POSITION_RIGHT

right position

 

CLUTTER_GRID_POSITION_TOP

top position

 

CLUTTER_GRID_POSITION_BOTTOM

bottom position

 

Since: 1.12


struct ClutterGridLayout

struct ClutterGridLayout;

The ClutterGridLayout structure contains only private data and should be accessed using the provided API

Since: 1.12


struct ClutterGridLayoutClass

struct ClutterGridLayoutClass {
};

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

Since: 1.12

Property Details

The “column-homogeneous” property

  “column-homogeneous”       gboolean

Whether all columns of the layout should have the same width

Flags: Read / Write

Default value: FALSE

Since: 1.12


The “column-spacing” property

  “column-spacing”           guint

The amount of space in pixels between two consecutive columns

Flags: Read / Write

Default value: 0

Since: 1.12


The “orientation” property

  “orientation”              ClutterOrientation

The orientation of the layout, either horizontal or vertical

Flags: Read / Write

Default value: CLUTTER_ORIENTATION_HORIZONTAL

Since: 1.12


The “row-homogeneous” property

  “row-homogeneous”          gboolean

Whether all rows of the layout should have the same height

Flags: Read / Write

Default value: FALSE

Since: 1.12


The “row-spacing” property

  “row-spacing”              guint

The amount of space in pixels between two consecutive rows

Flags: Read / Write

Default value: 0

Since: 1.12