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 Member Functions

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 ()
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy<bool> | property_visible ()
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy<float> | property_xalign ()
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy<float> | property_yalign ()
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy< unsigned int > | property_xpad ()
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy< unsigned int > | property_ypad ()
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy<int> | property_width ()
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy<int> | property_height ()
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy<bool> | property_is_expander ()
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy<bool> | property_is_expanded ()
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.

## Protected Member Functions

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 | ( |  | ) |

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

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

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

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

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

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

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

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

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

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

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

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

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

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

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

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

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

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

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

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