GtkCellRenderer

An object for rendering a single cell

The gtk.cell_renderer.CellRenderer is a base class of a set of objects used for rendering a cell to a cairo.context.Context. These objects are used primarily by the gtk.tree_view.TreeView widget, though they aren’t tied to them in any specific way. It is worth noting that gtk.cell_renderer.CellRenderer is not a gtk.widget.Widget and cannot be treated as such.

The primary use of a gtk.cell_renderer.CellRenderer is for drawing a certain graphical elements on a cairo.context.Context. 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.object.ObjectGs property system. Then, the cell is measured using gtk.cell_renderer.CellRenderer.getPreferredSize. Finally, the cell is rendered in the correct location using gtk.cell_renderer.CellRenderer.snapshot.

There are a number of rules that must be followed when writing a new gtk.cell_renderer.CellRenderer. 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 gtk.cell_renderer.CellRenderer 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 gtk.cell_renderer.CellRendererToggle, which toggles when it gets activated by a mouse click, or it can be “editable” like gtk.cell_renderer.CellRendererText, which allows the user to edit the text using a widget implementing the gtk.cell_editable.CellEditable interface, e.g. gtk.entry.Entry. To make a cell renderer activatable or editable, you have to implement the gtk.cell_renderer.CellRendererClass.activate or gtk.cell_renderer.CellRendererClass.start_editing virtual functions, respectively.

Many properties of gtk.cell_renderer.CellRenderer 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.

More...

Members

Variables

parentInstance
GInitiallyUnowned parentInstance;
priv
GtkCellRendererPrivate* priv;

Detailed Description

Deprecated: List views use widgets for displaying their contents