GtkCellRenderer
***************

An object for rendering a single cell on a

Overview
========

The <gtk-cell-renderer> is a base class of a set of objects used for rendering a cell to a <gdk-drawable>. These objects are used primarily by the <gtk-tree-view> widget, though they aren't tied to them in any specific way. It is worth noting that <gtk-cell-renderer> is not a <gtk-widget> and cannot be treated as such.

The primary use of a <gtk-cell-renderer> is for drawing a certain graphical elements on a <gdk-drawable>. 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.

There are a number of rules that must be followed when writing a new <gtk-cell-renderer>. First and formost, it's important that a certain set of properties will always yield a cell renderer of the same size, barring a <gtk-style> change. The <gtk-cell-renderer> 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-toggle>, which toggles when it gets activated by a mouse click, or it can be editable like <gtk-cell-renderer-text>, which allows the user to edit the text using a <gtk-entry>. To make a cell renderer activatable or editable, you have to implement the ACTIVATE or START-EDITING virtual functions, respectively.

Usage
=====

     [file defuns-gtkcellrenderer.xml.texi not included]