Gtk.CellAreaBox
Description: Reference for Gtk.CellAreaBox

### Class

# GtkCellAreaBox

#### Description [src]

    final class Gtk.CellAreaBox : Gtk.CellArea {
      /* No available fields */
    }

A cell area that renders GtkCellRenderers into a row or a column

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 `GtkCellRenderer`s 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()`.

#### Ancestors

- GtkCellArea
- GInitiallyUnowned
- GObject

#### Implements

- GtkBuildable
- GtkCellLayout
- GtkOrientable

#### Constructors

###### gtk_cell_area_box_new

Creates a new `GtkCellAreaBox`.

#### Instance methods

###### gtk_cell_area_box_get_spacing

Gets the spacing added between cell renderers.

###### gtk_cell_area_box_pack_end

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

###### gtk_cell_area_box_pack_start

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

###### gtk_cell_area_box_set_spacing

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

##### Methods inherited from GtkCellArea (44)

###### gtk_cell_area_activate

Activates `area`, usually by activating the currently focused cell, however some subclasses which embed widgets in the area can also activate a widget if it currently has the focus.

###### gtk_cell_area_activate_cell

This is used by `GtkCellArea` subclasses when handling events to activate cells, the base `GtkCellArea` class activates cells for keyboard events for free in its own GtkCellArea->`activate()` implementation.

###### gtk_cell_area_add

Adds `renderer` to `area` with the default child cell properties.

###### gtk_cell_area_add_focus_sibling

Adds `sibling` to `renderer`’s focusable area, focus will be drawn around `renderer` and all of its siblings if `renderer` can focus for a given row.

###### gtk_cell_area_add_with_properties

Adds `renderer` to `area`, setting cell properties at the same time. See `gtk_cell_area_add()` and `gtk_cell_area_cell_set()` for more details.

###### gtk_cell_area_apply_attributes

Applies any connected attributes to the renderers in `area` by pulling the values from `tree_model`.

###### gtk_cell_area_attribute_connect

Connects an `attribute` to apply values from `column` for the `GtkTreeModel` in use.

###### gtk_cell_area_attribute_disconnect

Disconnects `attribute` for the `renderer` in `area` so that attribute will no longer be updated with values from the model.

###### gtk_cell_area_attribute_get_column

Returns the model column that an attribute has been mapped to, or -1 if the attribute is not mapped.

###### gtk_cell_area_cell_get

Gets the values of one or more cell properties for `renderer` in `area`.

###### gtk_cell_area_cell_get_property

Gets the value of a cell property for `renderer` in `area`.

###### gtk_cell_area_cell_get_valist

Gets the values of one or more cell properties for `renderer` in `area`.

###### gtk_cell_area_cell_set

Sets one or more cell properties for `cell` in `area`.

###### gtk_cell_area_cell_set_property

Sets a cell property for `renderer` in `area`.

###### gtk_cell_area_cell_set_valist

Sets one or more cell properties for `renderer` in `area`.

###### gtk_cell_area_copy_context

This is sometimes needed for cases where rows need to share alignments in one orientation but may be separately grouped in the opposing orientation.

###### gtk_cell_area_create_context

Creates a `GtkCellArea`Context to be used with `area` for all purposes. `GtkCellArea`Context stores geometry information for rows for which it was operated on, it is important to use the same context for the same row of data at all times (i.e. one should render and handle events with the same `GtkCellArea`Context which was used to request the size of those rows of data).

###### gtk_cell_area_event

Delegates event handling to a `GtkCellArea`.

###### gtk_cell_area_focus

This should be called by the `area`’s owning layout widget when focus is to be passed to `area`, or moved within `area` for a given `direction` and row data.

###### gtk_cell_area_foreach

Calls `callback` for every `GtkCellRenderer` in `area`.

###### gtk_cell_area_foreach_alloc

Calls `callback` for every `GtkCellRenderer` in `area` with the allocated rectangle inside `cell_area`.

###### gtk_cell_area_get_cell_allocation

Derives the allocation of `renderer` inside `area` if `area` were to be renderered in `cell_area`.

###### gtk_cell_area_get_cell_at_position

Gets the `GtkCellRenderer` at `x` and `y` coordinates inside `area` and optionally returns the full cell allocation for it inside `cell_area`.

##### Methods inherited from GtkBuildable (1)

###### gtk_buildable_get_buildable_id

Gets the ID of the `buildable` object.

##### Methods inherited from GtkCellLayout (10)

###### gtk_cell_layout_add_attribute

Adds an attribute mapping to the list in `cell_layout`.

###### gtk_cell_layout_clear

Unsets all the mappings on all renderers on `cell_layout` and removes all renderers from `cell_layout`.

###### gtk_cell_layout_clear_attributes

Clears all existing attributes previously set with `gtk_cell_layout_set_attributes()`.

###### gtk_cell_layout_get_area

Returns the underlying `GtkCellArea` which might be `cell_layout` if called on a `GtkCellArea` or might be `NULL` if no `GtkCellArea` is used by `cell_layout`.

###### gtk_cell_layout_get_cells

Returns the cell renderers which have been added to `cell_layout`.

###### gtk_cell_layout_pack_end

Adds the `cell` to the end of `cell_layout`. If `expand` is `FALSE`, then the `cell` is allocated no more space than it needs. Any unused space is divided evenly between cells for which `expand` is `TRUE`.

###### gtk_cell_layout_pack_start

Packs the `cell` into the beginning of `cell_layout`. If `expand` is `FALSE`, then the `cell` is allocated no more space than it needs. Any unused space is divided evenly between cells for which `expand` is `TRUE`.

###### gtk_cell_layout_reorder

Re-inserts `cell` at `position`.

###### gtk_cell_layout_set_attributes

Sets the attributes in the parameter list as the attributes of `cell_layout`.

###### gtk_cell_layout_set_cell_data_func

Sets the `GtkCellLayout`DataFunc to use for `cell_layout`.

##### Methods inherited from GtkOrientable (2)

###### gtk_orientable_get_orientation

Retrieves the orientation of the `orientable`.

###### gtk_orientable_set_orientation

Sets the orientation of the `orientable`.

#### Properties

###### Gtk.CellAreaBox:spacing

The amount of space to reserve between cells.

##### Properties inherited from GtkCellArea (3)

###### Gtk.CellArea:edit-widget

The widget currently editing the edited cell.

###### Gtk.CellArea:edited-cell

The cell in the area that is currently edited.

###### Gtk.CellArea:focus-cell

The cell in the area that currently has focus.

##### Properties inherited from GtkOrientable (1)

###### Gtk.Orientable:orientation

The orientation of the orientable.