]> Pileus Git - ~andy/gtk/blobdiff - docs/reference/gtk/tmpl/gtkcellrenderer.sgml
Make 3.0 parallel-installable to 2.x
[~andy/gtk] / docs / reference / gtk / tmpl / gtkcellrenderer.sgml
index 8a261586acce59561cd17371d77fe8d67d865a9d..4a0e088d414663d90b06e8cbe87a07fc4175902e 100644 (file)
 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>
@@ -67,7 +218,7 @@ GtkCellRenderer
 @flags: 
 
 
-<!-- ##### FUNCTION gtk_cell_renderer_event ##### -->
+<!-- ##### FUNCTION gtk_cell_renderer_activate ##### -->
 <para>
 
 </para>
@@ -82,3 +233,123 @@ GtkCellRenderer
 @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: 
+
+