logo top
Main Page   Widgets   Namespaces   Book  

Gtk::CellRenderer Class Reference
[TreeView Classes]

Inheritance diagram for Gtk::CellRenderer:

Inheritance graph
[legend]
List of all members.

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.


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
 Obtains the width and height needed to render the cell.

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.

CellEditablestart_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 .

void editing_canceled ()
 Causes the cell renderer to emit the "editing-canceled" signal.

virtual Glib::PropertyProxy_Base _property_renderable ()
 Returns the property that this CellRenderer renders.

Glib::SignalProxy0<void> signal_editing_canceled ()
Glib::PropertyProxy<CellRendererModeproperty_mode ()
 You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Glib::PropertyProxy_ReadOnly<
CellRendererMode
property_mode () const
 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_ReadOnly<
bool > 
property_visible () const
 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_ReadOnly<
float > 
property_xalign () const
 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_ReadOnly<
float > 
property_yalign () const
 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_ReadOnly<
unsigned int > 
property_xpad () const
 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_ReadOnly<
unsigned int > 
property_ypad () const
 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_ReadOnly<
int > 
property_width () const
 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_ReadOnly<
int > 
property_height () const
 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_ReadOnly<
bool > 
property_is_expander () const
 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.

Glib::PropertyProxy_ReadOnly<
bool > 
property_is_expanded () const
 You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Glib::PropertyProxy_WriteOnly<
Glib::ustring
property_cell_background ()
 You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Glib::PropertyProxy_ReadOnly<
Glib::ustring
property_cell_background () const
 You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Glib::PropertyProxy<Gdk::Colorproperty_cell_background_gdk ()
 You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Glib::PropertyProxy_ReadOnly<
Gdk::Color
property_cell_background_gdk () const
 You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Glib::PropertyProxy<bool> property_cell_background_set ()
 You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Glib::PropertyProxy_ReadOnly<
bool > 
property_cell_background_set () const
 You rarely need to use properties because there are get_ and set_ methods for almost all of them.


Protected Member Functions

virtual void on_editing_canceled ()
 CellRenderer ()
virtual void get_size_vfunc (Widget& widget, const Gdk::Rectangle* cell_area, int* x_offset, int* y_offset, int* width, int* height) const
 Override this in derived CellRenderers.

virtual void render_vfunc (const Glib::RefPtr<Gdk::Drawable>& 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 CellEditablestart_editing_vfunc (GdkEvent* event, Widget& widget, const Glib::ustring& path, const Gdk::Rectangle& background_area, const Gdk::Rectangle& cell_area, CellRendererState flags)

Related Functions

(Note that these are not member functions.)

Gtk::CellRendererwrap (GtkCellRenderer* object, bool take_copy=false)


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

Causes the cell renderer to emit the "editing-canceled" signal.

This function is for use only by implementations of cell renderers that need to notify the client program that an editing process was canceled and the changes were not committed.

Since: 2.4

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.
height Location to fill in with the fixed height of the widget.

void Gtk::CellRenderer::get_size ( Widget widget,
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(). Fills in the x and y offsets 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.
x_offset Location to return x offset of cell relative to cell_area.
y_offset Location to return y offset of cell relative to cell_area.
width Location to return width needed to render a cell.
height Location to return height needed to render a cell.

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(). Fills in the x and y offsets 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.
x_offset Location to return x offset of cell relative to cell_area .
y_offset Location to return y offset of cell relative to cell_area .
width Location to return width needed to render a cell.
height Location to return height needed to render a cell.

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

Override this in derived CellRenderers.

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 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.

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.

virtual void Gtk::CellRenderer::on_editing_canceled (  )  [protected, virtual]
 

Glib::PropertyProxy_ReadOnly<Glib::ustring> Gtk::CellRenderer::property_cell_background (  )  const
 

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_WriteOnly<Glib::ustring> Gtk::CellRenderer::property_cell_background (  ) 
 

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_ReadOnly<Gdk::Color> Gtk::CellRenderer::property_cell_background_gdk (  )  const
 

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<Gdk::Color> Gtk::CellRenderer::property_cell_background_gdk (  ) 
 

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_ReadOnly<bool> Gtk::CellRenderer::property_cell_background_set (  )  const
 

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

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_ReadOnly<int> Gtk::CellRenderer::property_height (  )  const
 

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_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_ReadOnly<bool> Gtk::CellRenderer::property_is_expanded (  )  const
 

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_ReadOnly<bool> Gtk::CellRenderer::property_is_expander (  )  const
 

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_ReadOnly<CellRendererMode> Gtk::CellRenderer::property_mode (  )  const
 

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_ReadOnly<bool> Gtk::CellRenderer::property_visible (  )  const
 

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_ReadOnly<int> Gtk::CellRenderer::property_width (  )  const
 

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_ReadOnly<float> Gtk::CellRenderer::property_xalign (  )  const
 

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_ReadOnly<unsigned int> Gtk::CellRenderer::property_xpad (  )  const
 

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_ReadOnly<float> Gtk::CellRenderer::property_yalign (  )  const
 

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_ReadOnly<unsigned int> Gtk::CellRenderer::property_ypad (  )  const
 

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::Drawable>&  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.

Glib::SignalProxy0<void> Gtk::CellRenderer::signal_editing_canceled (  ) 
 

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]
 

Parameters:
object The C instance
take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
Returns:
A C++ instance that wraps this C instance.


The documentation for this class was generated from the following file:
Generated for gtkmm 2.4 by Doxygen 1.3.4 © 1997-2001