Thanks to visit codestin.com
Credit goes to docs.gtk.org

Class

GtkCellRenderer

Description [src]

abstract class Gtk.CellRenderer : GObject.InitiallyUnowned
{
  /* No available fields */
}

The GtkCellRenderer is a base class of a set of objects used for rendering a cell to a #cairo_t. 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 #cairo_t. 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 foremost, 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.

Beyond merely rendering a cell, cell renderers can optionally provide active user interface elements. A cell renderer can be “activatable” like GtkCellRendererToggle, which toggles when it gets activated by a mouse click, or it can be “editable” like GtkCellRendererText, which allows the user to edit the text using a widget implementing the GtkCellEditable interface, e.g. GtkEntry. To make a cell renderer activatable or editable, you have to implement the GtkCellRendererClass.activate or GtkCellRendererClass.start_editing virtual functions, respectively.

Many properties of GtkCellRenderer and its subclasses have a corresponding “set” property, e.g. “cell-background-set” corresponds to “cell-background”. These “set” properties reflect whether a property has been set or not. You should not set them independently.

Hierarchy

Codestin Search App Codestin Search App GtkCellRenderer Codestin Search App GInitiallyUnowned Codestin Search App Codestin Search App GObject Codestin Search App

Instance methods

gtk_cell_renderer_activate

Passes an activate event to the cell renderer for possible processing. Some cell renderers may use events; for example, GtkCellRendererToggle toggles when it gets a mouse click.

gtk_cell_renderer_get_aligned_area

Gets the aligned area used by cell inside cell_area. Used for finding the appropriate edit and focus rectangle.

since: 3.0

gtk_cell_renderer_get_alignment

Fills in xalign and yalign with the appropriate values of cell.

since: 2.18

gtk_cell_renderer_get_fixed_size

Fills in width and height with the appropriate size of cell.

gtk_cell_renderer_get_padding

Fills in xpad and ypad with the appropriate values of cell.

since: 2.18

gtk_cell_renderer_get_preferred_height

Retreives a renderer’s natural size when rendered to widget.

since: 3.0

gtk_cell_renderer_get_preferred_height_for_width

Retreives a cell renderers’s minimum and natural height if it were rendered to widget with the specified width.

since: 3.0

gtk_cell_renderer_get_preferred_size

Retrieves the minimum and natural size of a cell taking into account the widget’s preference for height-for-width management.

since: 3.0

gtk_cell_renderer_get_preferred_width

Retreives a renderer’s natural size when rendered to widget.

since: 3.0

gtk_cell_renderer_get_preferred_width_for_height

Retreives a cell renderers’s minimum and natural width if it were rendered to widget with the specified height.

since: 3.0

gtk_cell_renderer_get_request_mode

Gets whether the cell renderer prefers a height-for-width layout or a width-for-height layout.

since: 3.0

gtk_cell_renderer_get_sensitive

Returns the cell renderer’s sensitivity.

since: 2.18

gtk_cell_renderer_get_size

Obtains the width and height needed to render the cell. Used by view widgets to determine the appropriate size for the cell_area passed to gtk_cell_renderer_render(). If cell_area is not NULL, fills in the x and y offsets (if set) of the cell relative to this location.

deprecated: 3.0 

gtk_cell_renderer_get_state

Translates the cell renderer state to GtkStateFlags, based on the cell renderer and widget sensitivity, and the given GtkCellRendererState.

since: 3.0

gtk_cell_renderer_get_visible

Returns the cell renderer’s visibility.

since: 2.18

gtk_cell_renderer_is_activatable

Checks whether the cell renderer can do something when activated.

since: 3.0

gtk_cell_renderer_render

Invokes the virtual render function of the GtkCellRenderer. The three passed-in rectangles are areas in cr. 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.

gtk_cell_renderer_set_alignment

Sets the renderer’s alignment within its available space.

since: 2.18

gtk_cell_renderer_set_fixed_size

Sets the renderer size to be explicit, independent of the properties set.

gtk_cell_renderer_set_padding

Sets the renderer’s padding.

since: 2.18

gtk_cell_renderer_set_sensitive

Sets the cell renderer’s sensitivity.

since: 2.18

gtk_cell_renderer_set_visible

Sets the cell renderer’s visibility.

since: 2.18

gtk_cell_renderer_start_editing

Starts editing the contents of this cell, through a new GtkCellEditable widget created by the GtkCellRendererClass.start_editing virtual function.

gtk_cell_renderer_stop_editing

Informs the cell renderer that the editing is stopped. If canceled is TRUE, the cell renderer will emit the GtkCellRenderer::editing-canceled signal.

since: 2.6

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Properties

Gtk.CellRenderer:cell-background
No description available.

Gtk.CellRenderer:cell-background-gdk

Cell background as a GdkColor.

deprecated: 3.4 

Gtk.CellRenderer:cell-background-rgba

Cell background as a GdkRGBA.

since: 3.0

Gtk.CellRenderer:cell-background-set
No description available.

Gtk.CellRenderer:editing
No description available.

Gtk.CellRenderer:height
No description available.

Gtk.CellRenderer:is-expanded
No description available.

Gtk.CellRenderer:is-expander
No description available.

Gtk.CellRenderer:mode
No description available.

Gtk.CellRenderer:sensitive
No description available.

Gtk.CellRenderer:visible
No description available.

Gtk.CellRenderer:width
No description available.

Gtk.CellRenderer:xalign
No description available.

Gtk.CellRenderer:xpad
No description available.

Gtk.CellRenderer:yalign
No description available.

Gtk.CellRenderer:ypad
No description available.

Signals

Gtk.CellRenderer::editing-canceled

This signal gets emitted when the user cancels the process of editing a cell. For example, an editable cell renderer could be written to cancel editing when the user presses Escape.

since: 2.4

Gtk.CellRenderer::editing-started

This signal gets emitted when a cell starts to be edited. The intended use of this signal is to do special setup on editable, e.g. adding a GtkEntryCompletion or setting up additional columns in a GtkComboBox.

since: 2.6

Signals inherited from GObject (1)
GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Class structure

struct GtkCellRendererClass {
  GtkSizeRequestMode (* get_request_mode) (
    GtkCellRenderer* cell
  );
  void (* get_preferred_width) (
    GtkCellRenderer* cell,
    GtkWidget* widget,
    gint* minimum_size,
    gint* natural_size
  );
  void (* get_preferred_height_for_width) (
    GtkCellRenderer* cell,
    GtkWidget* widget,
    gint width,
    gint* minimum_height,
    gint* natural_height
  );
  void (* get_preferred_height) (
    GtkCellRenderer* cell,
    GtkWidget* widget,
    gint* minimum_size,
    gint* natural_size
  );
  void (* get_preferred_width_for_height) (
    GtkCellRenderer* cell,
    GtkWidget* widget,
    gint height,
    gint* minimum_width,
    gint* natural_width
  );
  void (* get_aligned_area) (
    GtkCellRenderer* cell,
    GtkWidget* widget,
    GtkCellRendererState flags,
    const GdkRectangle* cell_area,
    GdkRectangle* aligned_area
  );
  void (* get_size) (
    GtkCellRenderer* cell,
    GtkWidget* widget,
    const GdkRectangle* cell_area,
    gint* x_offset,
    gint* y_offset,
    gint* width,
    gint* height
  );
  void (* render) (
    GtkCellRenderer* cell,
    cairo_t* cr,
    GtkWidget* widget,
    const GdkRectangle* background_area,
    const GdkRectangle* cell_area,
    GtkCellRendererState flags
  );
  gboolean (* activate) (
    GtkCellRenderer* cell,
    GdkEvent* event,
    GtkWidget* widget,
    const gchar* path,
    const GdkRectangle* background_area,
    const GdkRectangle* cell_area,
    GtkCellRendererState flags
  );
  GtkCellEditable* (* start_editing) (
    GtkCellRenderer* cell,
    GdkEvent* event,
    GtkWidget* widget,
    const gchar* path,
    const GdkRectangle* background_area,
    const GdkRectangle* cell_area,
    GtkCellRendererState flags
  );
  void (* editing_canceled) (
    GtkCellRenderer* cell
  );
  void (* editing_started) (
    GtkCellRenderer* cell,
    GtkCellEditable* editable,
    const gchar* path
  );
  void (* _gtk_reserved2) (
void
  );
  void (* _gtk_reserved3) (
void
  );
  void (* _gtk_reserved4) (
void
  );
  
}

No description available.

Class members
get_request_mode: GtkSizeRequestMode (* get_request_mode) ( GtkCellRenderer* cell )

Called to gets whether the cell renderer prefers a height-for-width layout or a width-for-height layout.

get_preferred_width: void (* get_preferred_width) ( GtkCellRenderer* cell, GtkWidget* widget, gint* minimum_size, gint* natural_size )

Called to get a renderer’s natural width.

get_preferred_height_for_width: void (* get_preferred_height_for_width) ( GtkCellRenderer* cell, GtkWidget* widget, gint width, gint* minimum_height, gint* natural_height )

Called to get a renderer’s natural height for width.

get_preferred_height: void (* get_preferred_height) ( GtkCellRenderer* cell, GtkWidget* widget, gint* minimum_size, gint* natural_size )

Called to get a renderer’s natural height.

get_preferred_width_for_height: void (* get_preferred_width_for_height) ( GtkCellRenderer* cell, GtkWidget* widget, gint height, gint* minimum_width, gint* natural_width )

Called to get a renderer’s natural width for height.

get_aligned_area: void (* get_aligned_area) ( GtkCellRenderer* cell, GtkWidget* widget, GtkCellRendererState flags, const GdkRectangle* cell_area, GdkRectangle* aligned_area )

Called to get the aligned area used by cell inside cell_area.

get_size: void (* get_size) ( GtkCellRenderer* cell, GtkWidget* widget, const GdkRectangle* cell_area, gint* x_offset, gint* y_offset, gint* width, gint* height )

Called to get the width and height needed to render the cell. Deprecated: 3.0.

render: void (* render) ( GtkCellRenderer* cell, cairo_t* cr, GtkWidget* widget, const GdkRectangle* background_area, const GdkRectangle* cell_area, GtkCellRendererState flags )

Called to render the content of the GtkCellRenderer.

activate: gboolean (* activate) ( GtkCellRenderer* cell, GdkEvent* event, GtkWidget* widget, const gchar* path, const GdkRectangle* background_area, const GdkRectangle* cell_area, GtkCellRendererState flags )

Called to activate the content of the GtkCellRenderer.

start_editing: GtkCellEditable* (* start_editing) ( GtkCellRenderer* cell, GdkEvent* event, GtkWidget* widget, const gchar* path, const GdkRectangle* background_area, const GdkRectangle* cell_area, GtkCellRendererState flags )

Called to initiate editing the content of the GtkCellRenderer.

editing_canceled: void (* editing_canceled) ( GtkCellRenderer* cell )

Signal gets emitted when the user cancels the process of editing a cell.

editing_started: void (* editing_started) ( GtkCellRenderer* cell, GtkCellEditable* editable, const gchar* path )

Signal gets emitted when a cell starts to be edited.

_gtk_reserved2: void (* _gtk_reserved2) ( void )

No description available.

_gtk_reserved3: void (* _gtk_reserved3) ( void )

No description available.

_gtk_reserved4: void (* _gtk_reserved4) ( void )

No description available.

Virtual methods

Gtk.CellRendererClass.activate

Passes an activate event to the cell renderer for possible processing. Some cell renderers may use events; for example, GtkCellRendererToggle toggles when it gets a mouse click.

Gtk.CellRendererClass.editing_canceled

Signal gets emitted when the user cancels the process of editing a cell.

Gtk.CellRendererClass.editing_started

Signal gets emitted when a cell starts to be edited.

Gtk.CellRendererClass.get_aligned_area

Gets the aligned area used by cell inside cell_area. Used for finding the appropriate edit and focus rectangle.

since: 3.0

Gtk.CellRendererClass.get_preferred_height

Retreives a renderer’s natural size when rendered to widget.

since: 3.0

Gtk.CellRendererClass.get_preferred_height_for_width

Retreives a cell renderers’s minimum and natural height if it were rendered to widget with the specified width.

since: 3.0

Gtk.CellRendererClass.get_preferred_width

Retreives a renderer’s natural size when rendered to widget.

since: 3.0

Gtk.CellRendererClass.get_preferred_width_for_height

Retreives a cell renderers’s minimum and natural width if it were rendered to widget with the specified height.

since: 3.0

Gtk.CellRendererClass.get_request_mode

Gets whether the cell renderer prefers a height-for-width layout or a width-for-height layout.

since: 3.0

Gtk.CellRendererClass.get_size

Obtains the width and height needed to render the cell. Used by view widgets to determine the appropriate size for the cell_area passed to gtk_cell_renderer_render(). If cell_area is not NULL, fills in the x and y offsets (if set) of the cell relative to this location.

deprecated: 3.0 

Gtk.CellRendererClass.render

Invokes the virtual render function of the GtkCellRenderer. The three passed-in rectangles are areas in cr. 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.

Gtk.CellRendererClass.start_editing

Starts editing the contents of this cell, through a new GtkCellEditable widget created by the GtkCellRendererClass.start_editing virtual function.

Class methods

gtk_cell_renderer_class_set_accessible_type

Sets the type to be used for creating accessibles for cells rendered by cell renderers of renderer_class. Note that multiple accessibles will be created.