CellRenderer
An object for rendering a single cell
The GtkCellRenderer
is a base class of a set of objects used for rendering a cell to a cairo_t
. These objects are used primarily by the GtkTreeView
widget, though they aren’t tied to them in any specific way. It is worth noting that GtkCellRenderer
is not a GtkWidget
and cannot be treated as such.
The primary use of a GtkCellRenderer
is for drawing a certain graphical elements on a cairo_t
. Typically, one cell renderer is used to draw many cells on the screen. To this extent, it isn’t expected that a CellRenderer keep any permanent state around. Instead, any state is set just prior to use using GObject
s property system. Then, the cell is measured using gtk_cell_renderer_get_preferred_size(). Finally, the cell is rendered in the correct location using gtk_cell_renderer_snapshot().
There are a number of rules that must be followed when writing a new GtkCellRenderer
. First and foremost, it’s important that a certain set of properties will always yield a cell renderer of the same size, barring a style change. The GtkCellRenderer
also has a number of generic properties that are expected to be honored by all children.
Beyond merely rendering a cell, cell renderers can optionally provide active user interface elements. A cell renderer can be “activatable” like GtkCellRenderer
Toggle, which toggles when it gets activated by a mouse click, or it can be “editable” like GtkCellRenderer
Text, which allows the user to edit the text using a widget implementing the GtkCellEditable
interface, e.g. GtkEntry
. To make a cell renderer activatable or editable, you have to implement the GtkCellRenderer
Class.activate or GtkCellRenderer
Class.start_editing virtual functions, respectively.
Many properties of GtkCellRenderer
and its subclasses have a corresponding “set” property, e.g. “cell-background-set” corresponds to “cell-background”. These “set” properties reflect whether a property has been set or not. You should not set them independently.
Skipped during bindings generation
parameter
xalign
: xalign: Out parameter is not supportedparameter
width
: width: Out parameter is not supportedparameter
xpad
: xpad: Out parameter is not supportedparameter
minimum_size
: minimum_size: Out parameter is not supportedparameter
minimum_height
: minimum_height: Out parameter is not supportedparameter
minimum_size
: minimum_size: Out parameter is not supportedparameter
minimum_width
: minimum_width: Out parameter is not supportedparameter
snapshot
: missing cType for GirClass Snapshotmethod
cell-background
: Property has no getter nor settermethod
cell-background-rgba
: Property has no getter nor settermethod
cell-background-set
: Property has no getter nor settermethod
editing
: Property has no getter nor settermethod
height
: Property has no getter nor settermethod
mode
: Property has no getter nor settermethod
width
: Property has no getter nor settermethod
xalign
: Property has no getter nor settermethod
xpad
: Property has no getter nor settermethod
yalign
: Property has no getter nor settermethod
ypad
: Property has no getter nor setter
Inheritors
Constructors
Functions
Passes an activate event to the cell renderer for possible processing. Some cell renderers may use events; for example, GtkCellRendererToggle
toggles when it gets a mouse click.
This signal gets emitted when the user cancels the process of editing a cell. For example, an editable cell renderer could be written to cancel editing when the user presses Escape.
This signal gets emitted when a cell starts to be edited. The intended use of this signal is to do special setup on @editable, e.g. adding a GtkEntryCompletion
or setting up additional columns in a GtkComboBox
.
Gets the aligned area used by @cell inside @cell_area. Used for finding the appropriate edit and focus rectangle.
Retrieves the minimum and natural size of a cell taking into account the widget’s preference for height-for-width management.
Gets whether the cell renderer prefers a height-for-width layout or a width-for-height layout.
Translates the cell renderer state to GtkStateFlags
, based on the cell renderer and widget sensitivity, and the given GtkCellRenderer
State.
Checks whether the cell renderer can do something when activated.
Sets the renderer’s alignment within its available space.
Sets the renderer size to be explicit, independent of the properties set.
Sets the renderer’s padding.
Starts editing the contents of this @cell, through a new GtkCellEditable
widget created by the GtkCellRenderer
Class.start_editing virtual function.
Informs the cell renderer that the editing is stopped. If @canceled is true, the cell renderer will emit the GtkCellRenderer
::editing-canceled signal.