Toc Gallery Index Tree Gtk.Cell_Renderer

Hierarchy

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_Record is new Gtk.Object.Gtk_Object_Record with private;
  • 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;
    Return the internal value associated with Gtk_Cell_Renderer
  • 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);
    Obtain the width and height needed to render the cell. Used by view widgets to determine the appropriate size for the Cell_Area passed to Render. Fill in the x and y offsets (if set) of the cell relative to this location. Please note that the values set in Width and Height, as well as those in X_Offset and Y_Offset are inclusive of the Xpad and Ypad properties. Widget: the widget the renderer is rendering to. Cell_Area: The area a cell will be allocated. X_Offset: X offset of cell relative to Cell_Area. Y_Offset: Y offset of cell relative to Cell_Area. Width: Width needed to render a cell. Height: Height needed to render a cell.
  • 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);
    Invokes the virtual render function of the Gtk_Cell_Renderer. The three passed-in rectangles are areas of Window. Most renderers will draw within Cell_Area; the Xalign, Yalign, Xpad, and Ypad fields of the GtkCellRenderer should be honored with respect to Cell_Area. Background_Area includes the blank space around the cell, and also the area containing the tree expander; so the Background_Area rectangles for all cells tile to cover the entire Window. Expose_Area is a clip rectangle.
  • 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;
    Passes an activate event to the cell renderer for possible processing. Some cell renderers may use events; for example, Gtk_Cell_Renderer_Toggle toggles when it gets a mouse click.
  • function Start_Editing (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 Gtk.Cell_Editable.Gtk_Cell_Editable;
    Passes an activate event to the cell renderer for possible processing. Cell: a Gtk_Cell_Renderer Event: a Gdk_Event Widget: widget that received the event Path: widget-dependent string representation of the event location; e.g. for Gtk_Tree_View, a string representation of Gtk_Tree_Path Background_Area: background area as passed to Render Cell_Area: cell area as passed to Render
  • 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);
    Sets the renderer size to be explicit, independent of the properties set.

Signals

Properties

  • Cell_Background_Gdk_Property
    Boxed
    Cell background color as a GdkColor
  • Cell_Background_Property
    String
    Cell background color as a string
  • Height_Property
    Int
    The fixed height
  • Is_Expanded_Property
    Boolean
    Row is an expander row, and is expanded
  • Is_Expander_Property
    Boolean
    Row has children
  • Mode_Property
    Enum
    Editable mode of the CellRenderer
  • Sensitive_Property
    Boolean
    Display the cell sensitive
  • Visible_Property
    Boolean
    Display the cell
  • Width_Property
    Int
    The fixed width
  • Xalign_Property
    Float
    The x-align
  • Xpad_Property
    Uint
    The xpad
  • Yalign_Property
    Float
    The y-align
  • Ypad_Property
    Uint
    The ypad

Alphabetical Index