Main Page Widgets Namespaces Book

# Gtk::CellRenderer Class Reference
[TreeView Classes]

CellRenderers are used by Gtk::TreeView columns to render the Gtk::TreeModel column data appropriately. More...

Inheritance diagram for Gtk::CellRenderer:

[legend]
List of all members.

## Public Methods
virtual | ~CellRenderer ()
GtkCellRenderer* | gobj ()
| Provides access to the underlying C GtkObject.
const GtkCellRenderer* | gobj () const
| Provides access to the underlying C GtkObject.
void | get_size (Widget& widget, const Gdk::Rectangle& cell_area, int& x_offset, int& y_offset, int& width, int& height) const
| Obtains the width and height needed to render the cell.
void | get_size (Widget& widget, int& x_offset, int& y_offset, int& width, int& height) const
void | render (const Glib::RefPtr<Gdk::Window>& window, Widget& widget, const Gdk::Rectangle& background_area, const Gdk::Rectangle& cell_area, const Gdk::Rectangle& expose_area, CellRendererState flags)
| Invokes the virtual render function of the Gtk::CellRenderer.
bool | activate (GdkEvent* event, Widget& widget, const Glib::ustring& path, const Gdk::Rectangle& background_area, const Gdk::Rectangle& cell_area, CellRendererState flags)
| Passes an activate event to the cell renderer for possible processing.
CellEditable* | start_editing (GdkEvent* event, Widget& widget, const Glib::ustring& path, const Gdk::Rectangle& background_area, const Gdk::Rectangle& cell_area, CellRendererState flags)
| Passes an activate event to the cell renderer for possible processing.
void | set_fixed_size (int width, int height)
| Sets the renderer size to be explicit, independent of the properties set.
void | get_fixed_size (int& width, int& height) const
| Fills in width and height with the appropriate size of cell .
virtual Glib::PropertyProxy_Base | _property_renderable ()
| Returns the property that this CellRenderer renders.
Glib::PropertyProxy<CellRendererMode> | property_mode ()
Glib::PropertyProxy<bool> | property_visible ()
Glib::PropertyProxy<float> | property_xalign ()
Glib::PropertyProxy<float> | property_yalign ()
Glib::PropertyProxy< unsigned int > | property_xpad ()
Glib::PropertyProxy< unsigned int > | property_ypad ()
Glib::PropertyProxy<int> | property_width ()
Glib::PropertyProxy<int> | property_height ()
Glib::PropertyProxy<bool> | property_is_expander ()
Glib::PropertyProxy<bool> | property_is_expanded ()
## Protected Methods
virtual void | get_size_vfunc (Widget& widget, const Gdk::Rectangle* cell_area, int* x_offset, int* y_offset, int* width, int* height)
virtual void | render_vfunc (const Glib::RefPtr<Gdk::Window>& window, Widget& widget, const Gdk::Rectangle& background_area, const Gdk::Rectangle& cell_area, const Gdk::Rectangle& expose_area, CellRendererState flags)
virtual bool | activate_vfunc (GdkEvent* event, Widget& widget, const Glib::ustring& path, const Gdk::Rectangle& background_area, const Gdk::Rectangle& cell_area, CellRendererState flags)
virtual CellEditable* | start_editing_vfunc (GdkEvent* event, Widget& widget, const Glib::ustring& path, const Gdk::Rectangle& background_area, const Gdk::Rectangle& cell_area, CellRendererState flags)
| CellRenderer ()
## Related Functions
(Note that these are not member functions.)
Gtk::CellRenderer* | wrap (GtkCellRenderer* object, bool take_copy=false)

## Detailed Description

CellRenderers are used by Gtk::TreeView columns to render the Gtk::TreeModel column data appropriately.

They display, and allow editing of, the values of their _property_renderable() properties. In most cases, Gtl::TreeView::append_column() will automatically choose the appropriate renderer for the mode column's data type, so you will rarely need to worry about these classes.

## Constructor & Destructor Documentation

virtual Gtk::CellRenderer::~CellRenderer | ( |  | ) | `[virtual]`

Gtk::CellRenderer::CellRenderer | ( |  | ) | `[protected]`

## Member Function Documentation

virtual Glib::PropertyProxy_Base Gtk::CellRenderer::_property_renderable | ( |  | ) | `[virtual]`

| Returns the property that this CellRenderer renders. For instance, property_text for CellRendererText, and property_active for CellRendererToggle Needs to be overridden in derived classes. Reimplemented in Gtk::CellRendererPixbuf, Gtk::CellRendererText, and Gtk::CellRendererToggle.

bool Gtk::CellRenderer::activate | ( | GdkEvent* | event,
|  | Widget& | widget,
|  | const Glib::ustring& | path,
|  | const Gdk::Rectangle& | background_area,
|  | const Gdk::Rectangle& | cell_area,
|  | CellRendererState | flags
| ) |

  | Passes an activate event to the cell renderer for possible processing. Some cell renderers may use events; for example, Gtk::CellRendererToggle toggles when it gets a mouse click. Parameters:
  event | A Gdk::Event.
  widget | Widget that received the event.
  path | Widget-dependent string representation of the event location; e.g. for Gtk::TreeView, a string representation of Gtk::TreePath.
  background_area | Background area as passed to gtk_cell_renderer_render .
  cell_area | Cell area as passed to gtk_cell_renderer_render .
  flags | Render flags.
Returns: `true` if the event was consumed/handled.

virtual bool Gtk::CellRenderer::activate_vfunc | ( | GdkEvent* | event,
|  | Widget& | widget,
|  | const Glib::ustring& | path,
|  | const Gdk::Rectangle& | background_area,
|  | const Gdk::Rectangle& | cell_area,
|  | CellRendererState | flags
| ) | `[protected, virtual]`

void Gtk::CellRenderer::get_fixed_size | ( | int& | width,
|  | int& | height
| ) | const

  | Fills in width and height with the appropriate size of cell . Parameters:
  width | Location to fill in with the fixed width of the widget, or `0`.
  height | Location to fill in with the fixed height of the widget, or `0`.

void Gtk::CellRenderer::get_size | ( | Widget& | widget,
|  | int& | x_offset,
|  | int& | y_offset,
|  | int& | width,
|  | int& | height
| ) | const

void Gtk::CellRenderer::get_size | ( | Widget& | widget,
|  | const Gdk::Rectangle& | cell_area,
|  | int& | x_offset,
|  | int& | y_offset,
|  | int& | width,
|  | int& | height
| ) | const

  | 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 render(). If cell_area is not `0`, fills 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. Parameters:
  widget | The widget the renderer is rendering to.
  cell_area | The area a cell will be allocated, or `0`.
  x_offset | Location to return x offset of cell relative to cell_area , or `0`.
  y_offset | Location to return y offset of cell relative to cell_area , or `0`.
  width | Location to return width needed to render a cell, or `0`.
  height | Location to return height needed to render a cell, or `0`.

virtual void Gtk::CellRenderer::get_size_vfunc | ( | Widget& | widget,
|  | const Gdk::Rectangle* | cell_area,
|  | int* | x_offset,
|  | int* | y_offset,
|  | int* | width,
|  | int* | height
| ) | `[protected, virtual]`

const GtkCellRenderer* Gtk::CellRenderer::gobj | ( |  | ) | const`[inline]`

| Provides access to the underlying C GtkObject. Reimplemented from Gtk::Object. Reimplemented in Gtk::CellRendererPixbuf, Gtk::CellRendererText, and Gtk::CellRendererToggle.

GtkCellRenderer* Gtk::CellRenderer::gobj | ( |  | ) | `[inline]`

| Provides access to the underlying C GtkObject. Reimplemented from Gtk::Object. Reimplemented in Gtk::CellRendererPixbuf, Gtk::CellRendererText, and Gtk::CellRendererToggle.

Glib::PropertyProxy<int> Gtk::CellRenderer::property_height | ( |  | ) |

Glib::PropertyProxy<bool> Gtk::CellRenderer::property_is_expanded | ( |  | ) |

Glib::PropertyProxy<bool> Gtk::CellRenderer::property_is_expander | ( |  | ) |

Glib::PropertyProxy<CellRendererMode> Gtk::CellRenderer::property_mode | ( |  | ) |

Glib::PropertyProxy<bool> Gtk::CellRenderer::property_visible | ( |  | ) |

Glib::PropertyProxy<int> Gtk::CellRenderer::property_width | ( |  | ) |

Glib::PropertyProxy<float> Gtk::CellRenderer::property_xalign | ( |  | ) |

Glib::PropertyProxy<unsigned int> Gtk::CellRenderer::property_xpad | ( |  | ) |

Glib::PropertyProxy<float> Gtk::CellRenderer::property_yalign | ( |  | ) |

Glib::PropertyProxy<unsigned int> Gtk::CellRenderer::property_ypad | ( |  | ) |

void Gtk::CellRenderer::render | ( | const Glib::RefPtr<Gdk::Window>& | window,
|  | Widget& | widget,
|  | const Gdk::Rectangle& | background_area,
|  | const Gdk::Rectangle& | cell_area,
|  | const Gdk::Rectangle& | expose_area,
|  | CellRendererState | flags
| ) |

  | Invokes the virtual render function of the Gtk::CellRenderer. 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 Gtk::CellRenderer 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. Parameters:
  window | A Gdk::Drawable to draw to.
  widget | The widget owning window .
  background_area | Entire cell area (including tree expanders and maybe padding on the sides).
  cell_area | Area normally rendered by a cell renderer.
  expose_area | Area that actually needs updating.
  flags | Flags that affect rendering.

virtual void Gtk::CellRenderer::render_vfunc | ( | const Glib::RefPtr<Gdk::Window>& | window,
|  | Widget& | widget,
|  | const Gdk::Rectangle& | background_area,
|  | const Gdk::Rectangle& | cell_area,
|  | const Gdk::Rectangle& | expose_area,
|  | CellRendererState | flags
| ) | `[protected, virtual]`

void Gtk::CellRenderer::set_fixed_size | ( | int | width,
|  | int | height
| ) |

  | Sets the renderer size to be explicit, independent of the properties set. Parameters:
  width | The width of the cell renderer, or -1.
  height | The height of the cell renderer, or -1.

CellEditable* Gtk::CellRenderer::start_editing | ( | GdkEvent* | event,
|  | Widget& | widget,
|  | const Glib::ustring& | path,
|  | const Gdk::Rectangle& | background_area,
|  | const Gdk::Rectangle& | cell_area,
|  | CellRendererState | flags
| ) |

  | Passes an activate event to the cell renderer for possible processing. Parameters:
  event | A Gdk::Event.
  widget | Widget that received the event.
  path | Widget-dependent string representation of the event location; e.g. for Gtk::TreeView, a string representation of Gtk::TreePath.
  background_area | Background area as passed to gtk_cell_renderer_render .
  cell_area | Cell area as passed to gtk_cell_renderer_render .
  flags | Render flags.
Returns: A new Gtk::CellEditable, or `0`.

virtual CellEditable* Gtk::CellRenderer::start_editing_vfunc | ( | GdkEvent* | event,
|  | Widget& | widget,
|  | const Glib::ustring& | path,
|  | const Gdk::Rectangle& | background_area,
|  | const Gdk::Rectangle& | cell_area,
|  | CellRendererState | flags
| ) | `[protected, virtual]`

## Friends And Related Function Documentation

Gtk::CellRenderer* wrap | ( | GtkCellRenderer* | object,
|  | bool | take_copy = false
| ) | `[related]`

The documentation for this class was generated from the following file:

- cellrenderer.h