Description
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
Cell_Renderer keep any permanent state around. Instead, any state is set
just prior to use using GObjects property system. Then, the cell is
measured using Get_Size(). Finally, the cell is rendered in the correct
location using 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
GtkStyle 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.
  
  
  
  
   Types
   
     - 
         type Gtk_Cell_Renderer is access all Gtk_Cell_Renderer_Record'Class; 
- 
         type Gtk_Cell_Renderer_Mode is
     (Cell_Renderer_Mode_Inert,
      Cell_Renderer_Mode_Activatable,
      Cell_Renderer_Mode_Editable); 
- 
         
         
- 
         type Gtk_Cell_Renderer_State is mod 2 ** 32; 
- 
         type Property_Cell_Renderer_Mode is
     new Cell_Renderer_Mode_Properties.Property; 
  
   
   
  
   Subprograms
   
     - 
function Convert (R : Gtk_Cell_Renderer) return System.Address; function Convert (R : System.Address) return Gtk_Cell_Renderer; 
- 
function Get_Type return GType; 
- 
procedure Get_Size
  (Cell      :  access Gtk_Cell_Renderer_Record;
   Widget    :  access Gtk.Widget.Gtk_Widget_Record'Class;
   Cell_Area :  out Gdk.Rectangle.Gdk_Rectangle;
   X_Offset  :  out Gint;
   Y_Offset  :  out Gint;
   Width     :  out Gint;
   Height    :  out Gint); 
 
- 
procedure Render
  (Cell            :  access Gtk_Cell_Renderer_Record;
   Window          : Gdk.Window.Gdk_Window;
   Widget          :  access Gtk.Widget.Gtk_Widget_Record'Class;
   Background_Area : Gdk.Rectangle.Gdk_Rectangle;
   Cell_Area       : Gdk.Rectangle.Gdk_Rectangle;
   Expose_Area     : Gdk.Rectangle.Gdk_Rectangle;
   Flags           : Gtk_Cell_Renderer_State); 
 
- 
function Activate
  (Cell            :  access Gtk_Cell_Renderer_Record;
   Event           :  Gdk.Event.Gdk_Event;
   Widget          :  access Gtk.Widget.Gtk_Widget_Record'Class;
   Path            : UTF8_String;
   Background_Area : Gdk.Rectangle.Gdk_Rectangle;
   Cell_Area       : Gdk.Rectangle.Gdk_Rectangle;
   Flags           : Gtk_Cell_Renderer_State)  return Boolean; 
 
- 
- 
procedure Set_Fixed_Size
  (Cell   : access Gtk_Cell_Renderer_Record;
   Width  : Gint;
   Height : Gint); procedure Get_Fixed_Size
  (Cell   : access Gtk_Cell_Renderer_Record;
   Width  : out Gint;
   Height : out Gint);