1 <!-- ##### SECTION Title ##### -->
4 <!-- ##### SECTION Short_Description ##### -->
5 An object for rendering a single cell on a #GdkDrawable
7 <!-- ##### SECTION Long_Description ##### -->
9 The #GtkCellRenderer is a base class of a set of objects used for
10 rendering a cell to a #GdkDrawable. These objects are used primarily by
11 the #GtkTreeView widget, though they aren't tied to them in any
12 specific way. It is worth noting that #GtkCellRenderer is not a
13 #GtkWidget and cannot be treated as such.
17 The primary use of a #GtkCellRenderer is for drawing a certain graphical
18 elements on a #GdkDrawable. Typically, one cell renderer is used to
19 draw many cells on the screen. To this extent, it isn't expected that a
20 CellRenderer keep any permanent state around. Instead, any state is set
21 just prior to use using #GObject<!-- -->s property system. Then, the
22 cell is measured using @gtk_cell_renderer_get_size. Finally, the cell
23 is rendered in the correct location using @gtk_cell_renderer_render.
27 There are a number of rules that must be followed when writing a new
28 #GtkCellRenderer. First and formost, it's important that a certain set
29 of properties will always yield a cell renderer of the same size,
30 barring a #GtkStyle change. The #GtkCellRenderer also has a number of
31 generic properties that are expected to be honored by all children.
34 <!-- ##### SECTION See_Also ##### -->
36 #GtkCellRendererText,#GtkCellRendererPixbuf,#GtkCellRendererToggle
39 <!-- ##### ENUM GtkCellRendererState ##### -->
41 Tells how a cell is to be rendererd.
44 @GTK_CELL_RENDERER_SELECTED: The cell is currently selected, and
45 probably has a selection colored background to render to.
46 @GTK_CELL_RENDERER_PRELIT: The mouse is hovering over the cell.
47 @GTK_CELL_RENDERER_INSENSITIVE: The cell is drawn in an insensitive manner
48 @GTK_CELL_RENDERER_SORTED: The cell is in a sorted row
49 @GTK_CELL_RENDERER_FOCUSED:
51 <!-- ##### ENUM GtkCellRendererMode ##### -->
53 Identifies how the user can interact with a particular cell.
56 @GTK_CELL_RENDERER_MODE_INERT: The cell is just for display
57 and cannot be interacted with. Note that this doesn't mean that eg. the
58 row being drawn can't be selected -- just that a particular element of
59 it cannot be individually modified.
60 @GTK_CELL_RENDERER_MODE_ACTIVATABLE: The cell can be clicked.
61 @GTK_CELL_RENDERER_MODE_EDITABLE: The cell can be edited or otherwise modified.
63 <!-- ##### STRUCT GtkCellRenderer ##### -->
69 <!-- ##### ARG GtkCellRenderer:cell-background ##### -->
74 <!-- ##### ARG GtkCellRenderer:cell-background-gdk ##### -->
79 <!-- ##### ARG GtkCellRenderer:cell-background-set ##### -->
84 <!-- ##### ARG GtkCellRenderer:height ##### -->
89 <!-- ##### ARG GtkCellRenderer:is-expanded ##### -->
94 <!-- ##### ARG GtkCellRenderer:is-expander ##### -->
99 <!-- ##### ARG GtkCellRenderer:mode ##### -->
104 <!-- ##### ARG GtkCellRenderer:visible ##### -->
109 <!-- ##### ARG GtkCellRenderer:width ##### -->
114 <!-- ##### ARG GtkCellRenderer:xalign ##### -->
119 <!-- ##### ARG GtkCellRenderer:xpad ##### -->
124 <!-- ##### ARG GtkCellRenderer:yalign ##### -->
129 <!-- ##### ARG GtkCellRenderer:ypad ##### -->
134 <!-- ##### FUNCTION gtk_cell_renderer_get_size ##### -->
148 <!-- ##### FUNCTION gtk_cell_renderer_render ##### -->
162 <!-- ##### FUNCTION gtk_cell_renderer_activate ##### -->
177 <!-- ##### FUNCTION gtk_cell_renderer_start_editing ##### -->
192 <!-- ##### FUNCTION gtk_cell_renderer_get_fixed_size ##### -->
202 <!-- ##### FUNCTION gtk_cell_renderer_set_fixed_size ##### -->