GtkCellRenderer
<!-- ##### SECTION Short_Description ##### -->
-
+An object for rendering a single cell on a GdkDrawable
<!-- ##### SECTION Long_Description ##### -->
<para>
+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.
+</para>
+<para>
+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 #GObject<!-- -->s 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().
</para>
-<!-- ##### SECTION See_Also ##### -->
<para>
+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.
+</para>
+<para>
+Beyond merely rendering a cell, cell renderers can optionally
+provide active user interface elements. A cell renderer can be
+<firstterm>activatable</firstterm> like #GtkCellRendererToggle,
+which toggles when it gets activated by a mouse click, or it can be
+<firstterm>editable</firstterm> 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.
</para>
+<!-- ##### SECTION See_Also ##### -->
+<para>
+#GtkCellRendererText,#GtkCellRendererPixbuf,#GtkCellRendererToggle
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
<!-- ##### ENUM GtkCellRendererState ##### -->
<para>
+Tells how a cell is to be rendererd.
+</para>
+@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: The cell is in the focus row.
+
+<!-- ##### ENUM GtkCellRendererMode ##### -->
+<para>
+Identifies how the user can interact with a particular cell.
</para>
-@GTK_CELL_RENDERER_SELECTED:
-@GTK_CELL_RENDERER_PRELIT:
-@GTK_CELL_RENDERER_INSENSITIVE:
-@GTK_CELL_RENDERER_SORTED:
+@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.
<!-- ##### STRUCT GtkCellRenderer ##### -->
<para>
</para>
-@parent:
-@xalign:
-@yalign:
-@width:
-@height:
-@xpad:
-@ypad:
-@can_activate:
-@visible:
+
+<!-- ##### SIGNAL GtkCellRenderer::editing-canceled ##### -->
+<para>
+
+</para>
+
+@cellrenderer: the object which received the signal.
+
+<!-- ##### SIGNAL GtkCellRenderer::editing-started ##### -->
+<para>
+
+</para>
+
+@cellrenderer: the object which received the signal.
+@arg1:
+@arg2:
+
+<!-- ##### ARG GtkCellRenderer:cell-background ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkCellRenderer:cell-background-gdk ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkCellRenderer:cell-background-set ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkCellRenderer:editing ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkCellRenderer:height ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkCellRenderer:is-expanded ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkCellRenderer:is-expander ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkCellRenderer:mode ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkCellRenderer:sensitive ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkCellRenderer:visible ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkCellRenderer:width ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkCellRenderer:xalign ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkCellRenderer:xpad ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkCellRenderer:yalign ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkCellRenderer:ypad ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkCellRendererClass ##### -->
+<para>
+
+</para>
+
+@parent_class:
+@get_size:
+@render:
+@activate:
+@start_editing:
+@editing_canceled:
+@editing_started:
+@_gtk_reserved1:
+@_gtk_reserved2:
<!-- ##### FUNCTION gtk_cell_renderer_get_size ##### -->
<para>
@flags:
-<!-- ##### FUNCTION gtk_cell_renderer_event ##### -->
+<!-- ##### FUNCTION gtk_cell_renderer_activate ##### -->
<para>
</para>
@Returns:
+<!-- ##### FUNCTION gtk_cell_renderer_start_editing ##### -->
+<para>
+
+</para>
+
+@cell:
+@event:
+@widget:
+@path:
+@background_area:
+@cell_area:
+@flags:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_cell_renderer_stop_editing ##### -->
+<para>
+
+</para>
+
+@cell:
+@canceled:
+
+
+<!-- ##### FUNCTION gtk_cell_renderer_get_fixed_size ##### -->
+<para>
+
+</para>
+
+@cell:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_cell_renderer_set_fixed_size ##### -->
+<para>
+
+</para>
+
+@cell:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_cell_renderer_get_visible ##### -->
+<para>
+
+</para>
+
+@cell:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_cell_renderer_set_visible ##### -->
+<para>
+
+</para>
+
+@cell:
+@visible:
+
+
+<!-- ##### FUNCTION gtk_cell_renderer_get_sensitive ##### -->
+<para>
+
+</para>
+
+@cell:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_cell_renderer_set_sensitive ##### -->
+<para>
+
+</para>
+
+@cell:
+@sensitive:
+
+
+<!-- ##### FUNCTION gtk_cell_renderer_get_alignment ##### -->
+<para>
+
+</para>
+
+@cell:
+@xalign:
+@yalign:
+
+
+<!-- ##### FUNCTION gtk_cell_renderer_set_alignment ##### -->
+<para>
+
+</para>
+
+@cell:
+@xalign:
+@yalign:
+
+
+<!-- ##### FUNCTION gtk_cell_renderer_get_padding ##### -->
+<para>
+
+</para>
+
+@cell:
+@xpad:
+@ypad:
+
+
+<!-- ##### FUNCTION gtk_cell_renderer_set_padding ##### -->
+<para>
+
+</para>
+
+@cell:
+@xpad:
+@ypad:
+
+