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. #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. @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: @width: @height: @cell: @width: @height: