GtkGrid

GtkGrid — Pack widgets in a rows and columns

Synopsis

#include <gtk/gtk.h>

                    GtkGrid;
GtkWidget*          gtk_grid_new                        (void);
void                gtk_grid_attach                     (GtkGrid *grid,
                                                         GtkWidget *child,
                                                         gint left,
                                                         gint top,
                                                         gint width,
                                                         gint height);
void                gtk_grid_attach_next_to             (GtkGrid *grid,
                                                         GtkWidget *child,
                                                         GtkWidget *sibling,
                                                         GtkPositionType side,
                                                         gint width,
                                                         gint height);
void                gtk_grid_set_row_homogeneous        (GtkGrid *grid,
                                                         gboolean homogeneous);
gboolean            gtk_grid_get_row_homogeneous        (GtkGrid *grid);
void                gtk_grid_set_row_spacing            (GtkGrid *grid,
                                                         guint spacing);
guint               gtk_grid_get_row_spacing            (GtkGrid *grid);
void                gtk_grid_set_column_homogeneous     (GtkGrid *grid,
                                                         gboolean homogeneous);
gboolean            gtk_grid_get_column_homogeneous     (GtkGrid *grid);
void                gtk_grid_set_column_spacing         (GtkGrid *grid,
                                                         guint spacing);
guint               gtk_grid_get_column_spacing         (GtkGrid *grid);

Description

GtkGrid is a container which arranges its child widgets in rows and columns. It is a very similar to GtkTable and GtkBox, but it consistently uses GtkWidget's "margin" and "expand" properties instead of custom child properties, and it fully supports height-for-width geometry management.

Children are added using gtk_grid_attach(). They can span multiple rows or columns. It is also possible to add a child next to an existing child, using gtk_grid_attach_next_to().

GtkGrid can be used like a GtkBox by just using gtk_container_add(), which will place children next to each other in the direction determined by the "orientation" property.

Details

GtkGrid

typedef struct {
} GtkGrid;


gtk_grid_new ()

GtkWidget*          gtk_grid_new                        (void);

Creates a new grid widget.

Returns :

the new GtkGrid

gtk_grid_attach ()

void                gtk_grid_attach                     (GtkGrid *grid,
                                                         GtkWidget *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.

grid :

a GtkGrid

child :

the widget 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

gtk_grid_attach_next_to ()

void                gtk_grid_attach_next_to             (GtkGrid *grid,
                                                         GtkWidget *child,
                                                         GtkWidget *sibling,
                                                         GtkPositionType side,
                                                         gint width,
                                                         gint height);

Adds a widget to the grid.

The widget is placed next to sibling, on the side determined by side.

grid :

a GtkGrid

child :

the widget to add

sibling :

the child of grid that child will be placed next to

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

gtk_grid_set_row_homogeneous ()

void                gtk_grid_set_row_homogeneous        (GtkGrid *grid,
                                                         gboolean homogeneous);

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

grid :

a GtkGrid

homogeneous :

TRUE to make rows homogeneous

gtk_grid_get_row_homogeneous ()

gboolean            gtk_grid_get_row_homogeneous        (GtkGrid *grid);

Returns whether all rows of grid have the same height.

grid :

a GtkGrid

Returns :

whether all rows of grid have the same height.

gtk_grid_set_row_spacing ()

void                gtk_grid_set_row_spacing            (GtkGrid *grid,
                                                         guint spacing);

Sets the amount of space between rows of grid.

grid :

a GtkGrid

spacing :

the amount of space to insert between rows

gtk_grid_get_row_spacing ()

guint               gtk_grid_get_row_spacing            (GtkGrid *grid);

Returns the amount of space between the rows of grid.

grid :

a GtkGrid

Returns :

the row spacing of grid

gtk_grid_set_column_homogeneous ()

void                gtk_grid_set_column_homogeneous     (GtkGrid *grid,
                                                         gboolean homogeneous);

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

grid :

a GtkGrid

homogeneous :

TRUE to make columns homogeneous

gtk_grid_get_column_homogeneous ()

gboolean            gtk_grid_get_column_homogeneous     (GtkGrid *grid);

Returns whether all columns of grid have the same width.

grid :

a GtkGrid

Returns :

whether all columns of grid have the same width.

gtk_grid_set_column_spacing ()

void                gtk_grid_set_column_spacing         (GtkGrid *grid,
                                                         guint spacing);

Sets the amount of space between columns of grid.

grid :

a GtkGrid

spacing :

the amount of space to insert between columns

gtk_grid_get_column_spacing ()

guint               gtk_grid_get_column_spacing         (GtkGrid *grid);

Returns the amount of space between the columns of grid.

grid :

a GtkGrid

Returns :

the column spacing of grid

See Also

GtkTable, GtkHBox, GtkVBox