## GtkCellAreaBox GtkCellAreaBox — A cell area that renders GtkCellRenderers into a row or a column |

## Functions

GtkCellArea * | gtk_cell_area_box_new ()
void | gtk_cell_area_box_pack_start ()
void | gtk_cell_area_box_pack_end ()
gint | gtk_cell_area_box_get_spacing ()
void | gtk_cell_area_box_set_spacing ()

## Properties

gint | spacing | Read / Write

## Child Properties

gboolean | align | Read / Write
gboolean | expand | Read / Write
gboolean | fixed-size | Read / Write
GtkPackType | pack-type | Read / Write

## Types and Values

struct | GtkCellAreaBox
struct | GtkCellAreaBoxClass

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkCellArea
                ╰── GtkCellAreaBox

## Implemented Interfaces

GtkCellAreaBox implements GtkCellLayout, GtkBuildable and GtkOrientable.

## Includes

    #include <gtk/gtk.h>

## Description

The GtkCellAreaBox renders cell renderers into a row or a column depending on its GtkOrientation.

GtkCellAreaBox uses a notion of packing. Packing refers to adding cell renderers with reference to a particular position in a GtkCellAreaBox. There are two reference positions: the start and the end of the box. When the GtkCellAreaBox is oriented in the `GTK_ORIENTATION_VERTICAL` orientation, the start is defined as the top of the box and the end is defined as the bottom. In the `GTK_ORIENTATION_HORIZONTAL` orientation start is defined as the left side and the end is defined as the right side.

Alignments of GtkCellRenderers rendered in adjacent rows can be configured by configuring the GtkCellAreaBox align child cell property with `gtk_cell_area_cell_set_property()` or by specifying the "align" argument to `gtk_cell_area_box_pack_start()` and `gtk_cell_area_box_pack_end()`.

## Functions

### gtk_cell_area_box_new ()

    GtkCellArea *
    gtk_cell_area_box_new (void);

Creates a new GtkCellAreaBox.

#### Returns

a newly created GtkCellAreaBox

Since: 3.0

### gtk_cell_area_box_pack_start ()

    void
    gtk_cell_area_box_pack_start (GtkCellAreaBox *box,
                                  GtkCellRenderer *renderer,
                                  gboolean expand,
                                  gboolean align,
                                  gboolean fixed);

Adds `renderer` to `box` , packed with reference to the start of `box` .

The `renderer` is packed after any other GtkCellRenderer packed with reference to the start of `box` .

#### Parameters

box | a GtkCellAreaBox |
renderer | the GtkCellRenderer to add |
expand | whether `renderer` should receive extra space when the area receives more than its natural size |
align | whether `renderer` should be aligned in adjacent rows |
fixed | whether `renderer` should have the same size in all rows |

Since: 3.0

### gtk_cell_area_box_pack_end ()

    void
    gtk_cell_area_box_pack_end (GtkCellAreaBox *box,
                                GtkCellRenderer *renderer,
                                gboolean expand,
                                gboolean align,
                                gboolean fixed);

Adds `renderer` to `box` , packed with reference to the end of `box` .

The `renderer` is packed after (away from end of) any other GtkCellRenderer packed with reference to the end of `box` .

#### Parameters

box | a GtkCellAreaBox |
renderer | the GtkCellRenderer to add |
expand | whether `renderer` should receive extra space when the area receives more than its natural size |
align | whether `renderer` should be aligned in adjacent rows |
fixed | whether `renderer` should have the same size in all rows |

Since: 3.0

### gtk_cell_area_box_get_spacing ()

    gint
    gtk_cell_area_box_get_spacing (GtkCellAreaBox *box);

Gets the spacing added between cell renderers.

#### Parameters

box | a GtkCellAreaBox |

#### Returns

the space added between cell renderers in `box` .

Since: 3.0

### gtk_cell_area_box_set_spacing ()

    void
    gtk_cell_area_box_set_spacing (GtkCellAreaBox *box,
                                   gint spacing);

Sets the spacing to add between cell renderers in `box` .

#### Parameters

box | a GtkCellAreaBox |
spacing | the space to add between GtkCellRenderers |

Since: 3.0

## Types and Values

### struct GtkCellAreaBox

    struct GtkCellAreaBox;

### struct GtkCellAreaBoxClass

    struct GtkCellAreaBoxClass {
    };

## Property Details

### The `“spacing”` property

      “spacing”                  gint

The amount of space to reserve between cells.

Flags: Read / Write

Allowed values: >= 0

Default value: 0

Since: 3.0

## Child Property Details

### The `“align”` child property

      “align”                    gboolean

Whether the cell renderer should be aligned in adjacent rows.

Flags: Read / Write

Default value: FALSE

Since: 3.0

### The `“expand”` child property

      “expand”                   gboolean

Whether the cell renderer should receive extra space when the area receives more than its natural size.

Flags: Read / Write

Default value: FALSE

Since: 3.0

### The `“fixed-size”` child property

      “fixed-size”               gboolean

Whether the cell renderer should require the same size for all rows for which it was requested.

Flags: Read / Write

Default value: TRUE

Since: 3.0

### The `“pack-type”` child property

      “pack-type”                GtkPackType

A GtkPackType indicating whether the cell renderer is packed with reference to the start or end of the area.

Flags: Read / Write

Default value: GTK_PACK_START

Since: 3.0