CellAreaImpl
The CellAreaImpl type represents a native instance of the abstract CellArea class.
Constructors
Properties
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().
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).
Emits the "add-editable" signal. See onAddEditable.
Emits the "apply-attributes" signal. See onApplyAttributes.
Emits the "focus-changed" signal. See onFocusChanged.
Emits the "remove-editable" signal. See onRemoveEditable.
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
which is expected to be focusable for which @renderer is, or may be a sibling.
Gets the focus sibling cell renderers for @renderer.
Gets whether the area prefers a height-for-width layout or a width-for-height layout.
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()).
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.
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.
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.
Snapshots @area’s cells according to @area’s layout onto at the given coordinates.
Explicitly stops the editing of the currently edited cell.