GtkCellRenderer
An object for rendering a single cell on a #GdkDrawable
The #GtkCellRenderer is a base class of a set of objects used for
rendering a cell to a #GdkDrawable. 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 #GdkDrawable. 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 #GObjects property system. Then, the
cell is measured using gtk_cell_renderer_get_size(). Finally, the cell
is rendered in the correct location using gtk_cell_renderer_render().
There are a number of rules that must be followed when writing a new
#GtkCellRenderer. First and formost, it's important that a certain set
of properties will always yield a cell renderer of the same size,
barring a #GtkStyle 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 #GtkCellRendererToggle,
which toggles when it gets activated by a mouse click, or it can be
editable like #GtkCellRendererText, which
allows the user to edit the text using a #GtkEntry.
To make a cell renderer activatable or editable, you have to
implement the @activate or @start_editing virtual functions,
respectively.
#GtkCellRendererText,#GtkCellRendererPixbuf,#GtkCellRendererToggle
Tells how a cell is to be rendererd.
@GTK_CELL_RENDERER_SELECTED: The cell is currently selected, and
probably has a selection colored background to render to.
@GTK_CELL_RENDERER_PRELIT: The mouse is hovering over the cell.
@GTK_CELL_RENDERER_INSENSITIVE: The cell is drawn in an insensitive manner
@GTK_CELL_RENDERER_SORTED: The cell is in a sorted row
@GTK_CELL_RENDERER_FOCUSED:
Identifies how the user can interact with a particular cell.
@GTK_CELL_RENDERER_MODE_INERT: The cell is just for display
and cannot be interacted with. Note that this doesn't mean that eg. the
row being drawn can't be selected -- just that a particular element of
it cannot be individually modified.
@GTK_CELL_RENDERER_MODE_ACTIVATABLE: The cell can be clicked.
@GTK_CELL_RENDERER_MODE_EDITABLE: The cell can be edited or otherwise modified.
@cellrenderer: the object which received the signal.
@cellrenderer: the object which received the signal.
@arg1:
@arg2:
@cell:
@widget:
@cell_area:
@x_offset:
@y_offset:
@width:
@height:
@cell:
@window:
@widget:
@background_area:
@cell_area:
@expose_area:
@flags:
@cell:
@event:
@widget:
@path:
@background_area:
@cell_area:
@flags:
@Returns:
@cell:
@event:
@widget:
@path:
@background_area:
@cell_area:
@flags:
@Returns:
@cell:
@cell:
@width:
@height:
@cell:
@width:
@height: