Google

logo top
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:

Inheritance graph
[legend]
List of all members.

Public Methods

virtual ~CellRenderer ()
GtkCellRenderer* gobj ()
const GtkCellRenderer* gobj () const
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.

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 .

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

Glib::PropertyProxy<CellRendererModeproperty_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 CellEditablestart_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]
 

Reimplemented from Gtk::Object.

Reimplemented in Gtk::CellRendererPixbuf, Gtk::CellRendererText, and Gtk::CellRendererToggle.

GtkCellRenderer* Gtk::CellRenderer::gobj (   [inline]
 

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:
Generated for gtkmm by Doxygen 1.3-rc1 © 1997-2001