CellAreaBox
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().
Constructors
Properties
The cell in the area that is currently edited
The widget currently editing the edited cell
The cell in the area that currently has focus
The orientation of the orientable.
Functions
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.
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.
Adds @renderer to @area with the default child cell properties.
Adds an attribute mapping to the list in @cell_layout.
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.
Applies any connected attributes to the renderers in
Connects an @attribute to apply values from @column for the GtkTreeModel
in use.
Disconnects @attribute for the @renderer in @area so that attribute will no longer be updated with values from the model.
Returns the model column that an attribute has been mapped to, or -1 if the attribute is not mapped.
Gets the value of a cell property for @renderer in @area.
Sets a cell property for @renderer in @area.
Clears all existing attributes previously set with gtk_cell_layout_set_attributes().
Indicates that editing has started on @renderer and that @editable should be added to the owning cell-layouting widget at @cell_area.
Indicates that focus changed on this @area. This signal is emitted either as a result of focus handling or event handling.
Indicates that editing finished on @renderer and that @editable should be removed from the owning cell-layouting widget.
This is sometimes needed for cases where rows need to share alignments in one orientation but may be separately grouped in the opposing orientation.
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).
Delegates event handling to a GtkCellArea
.
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.
Calls @callback for every GtkCellRenderer
in @area.
Calls @callback for every GtkCellRenderer
in @area with the allocated rectangle inside @cell_area.
Gets the ID of the @buildable object.
Derives the allocation of @renderer inside @area if @area were to be rendered in @cell_area.
Gets the GtkCellRenderer
at @x and @y coordinates inside @area and optionally returns the full cell allocation for it inside @cell_area.
Gets the current GtkTreePath
string for the currently applied GtkTreeIter
, this is implicitly updated when gtk_cell_area_apply_attributes() is called and can be used to interact with renderers from GtkCellArea
subclasses.
Gets the GtkCellRenderer
in @area that is currently being edited.
Gets the GtkCellEditable
widget currently used to edit the currently edited cell.
Retrieves the currently focused cell for @area
Gets the GtkCellRenderer
which is expected to be focusable for which @renderer is, or may be a sibling.
Gets the focus sibling cell renderers for @renderer.
Retrieves the orientation of the @orientable.
Gets whether the area prefers a height-for-width layout or a width-for-height layout.
Gets the spacing added between cell renderers.
Checks if @area contains @renderer.
This is a convenience function for GtkCellArea
implementations to get the inner area where a given GtkCellRenderer
will be rendered. It removes any padding previously added by gtk_cell_area_request_renderer().
Returns whether the area can do anything when activated, after applying new attributes to @area.
Returns whether @sibling is one of @renderer’s focus siblings (see gtk_cell_area_add_focus_sibling()).
Adds the @cell to the end of @cell_layout. If @expand is false, then the
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.
Adds @renderer to @box, packed with reference to the start of @box.
Removes @renderer from @area.
Removes @sibling from @renderer’s focus sibling list (see gtk_cell_area_add_focus_sibling()).
Re-inserts @cell at @position.
Sets the GtkCellLayout
DataFunc to use for @cell_layout.
Explicitly sets the currently focused cell to @renderer.
Sets the orientation of the @orientable.
Sets the spacing to add between cell renderers in @box.
Explicitly stops the editing of the currently edited cell.