gtkmm: Gtk::TreeRow Class Reference

Typedefed as TreeModel::Row . More...

#include <gtkmm/treeiter.h>

Inheritance diagram for Gtk::TreeRow:

Public Types

typedef const void* BoolExpr
This typedef is just to make it more obvious that our operator const void* should be used like operator bool(). More...

- Public Types inherited from Gtk::TreeIter
typedef std::bidirectional_iterator_tag iterator_category
typedef Gtk::TreeRow value_type
typedef int difference_type
typedef const Gtk::TreeRow & reference
typedef const Gtk::TreeRow * pointer
typedef const void* BoolExpr
This typedef is just to make it more obvious that our operator const void* should be used like operator bool(). More...

Public Member Functions

template<class ColumnType >
TreeValueProxy < ColumnType > operator[] (const TreeModelColumn < ColumnType >& column) const
Use this to set and get the value of this column of this row. More...

template<class ColumnType >
void set_value (const TreeModelColumn < ColumnType >& column, const ColumnType& data) const
Sets the value of this column of this row. More...

template<class ColumnType >
void set_value (int column, const ColumnType& data) const
Use set_value(const TreeModelColumn<>& column, const ColumnType& data) unless you do not know the column type at compile-time. More...

template<class ColumnType >
ColumnType get_value (const TreeModelColumn < ColumnType >& column) const
Gets the value of this column of this row. More...

template<class ColumnType >
void get_value (int column, ColumnType& data) const
Use get_value(const TreeModelColumn<>& column) unless you do not know the column type at compile-time. More...

const TreeNodeChildren & children () const
This returns an STL-like container API, for iterating over the rows. More...

TreeIter parent () const
Gets an iterator to the parent row of this row. More...

operator BoolExpr () const
Discover whether this is a valid row. More...

GtkTreeIter* gobj ()
Provides access to the underlying C GObject. More...

const GtkTreeIter* gobj () const
Provides access to the underlying C GObject. More...

- Public Member Functions inherited from Gtk::TreeIter
TreeIter ()
TreeIter & operator++ ()
const TreeIter operator++ (int)
TreeIter & operator-- ()
Please note that this is very slow compared to operator++() . More...

const TreeIter operator-- (int)
Please note that this is very slow compared to operator++() . More...

reference operator* () const
pointer operator-> () const
bool equal (const TreeIter & other) const
operator BoolExpr () const
Discover whether the iterator is valid, and not equal to end() . More...

int get_stamp () const
This is only useful when implementing a custom Gtk::TreeModel class. More...

void set_stamp (int stamp)
This is only useful when implementing a custom Gtk::TreeModel class. More...

- Public Member Functions inherited from Gtk::TreeIterBase
TreeIterBase (const TreeIterBase & other) noexcept
TreeIterBase & operator= (const TreeIterBase & other) noexcept
TreeIterBase ( TreeIterBase && other) noexcept
TreeIterBase & operator= ( TreeIterBase && other) noexcept
TreeIterBase ()
TreeIterBase (const GtkTreeIter* gobject)
GtkTreeIter* gobj ()
Provides access to the underlying C instance. More...

const GtkTreeIter* gobj () const
Provides access to the underlying C instance. More...

Additional Inherited Members

- Static Public Member Functions inherited from Gtk::TreeIterBase
static GType get_type ()
Get the GType for this class, for use with the underlying GObject type system. More...

- Protected Attributes inherited from Gtk::TreeIterBase
GtkTreeIter gobject_

Detailed Description

Typedefed as TreeModel::Row .

Dereference a TreeModel::iterator to get the Row. Use operator[] or set_value() and get_value() to access the values in the columns of this row.

If the model contains a hierarchy of rows (such as Gtk::TreeStore ), then you can access the child rows with children() .

You can use a const TreeModel::Row & for any parameter that takes a const TreeModel::iterator &.

Member Typedef Documentation

typedef const void* Gtk::TreeRow::BoolExpr

This typedef is just to make it more obvious that our operator const void* should be used like operator bool().

Member Function Documentation

const TreeNodeChildren & Gtk::TreeRow::children ( ) const

This returns an STL-like container API, for iterating over the rows.

See also Gtk::TreeModel::children() for the top-level children.

template <class ColumnType >
ColumnType Gtk::TreeRow::get_value ( const TreeModelColumn < ColumnType >& column ) const

Gets the value of this column of this row.

This is a templated method, so the compiler will not allow you to provide an inappropriate type of data for the model column.

See also operator[].

Parameters
column The model column.
Returns
The value of this column of this row
template <class ColumnType >
void Gtk::TreeRow::get_value ( int column ,
ColumnType & data
) const

Use get_value(const TreeModelColumn<>& column) unless you do not know the column type at compile-time.

If the data output argument is of an inappropriate C++ type then this might fail at runtime.

Parameters
column The number of the column whose value you want to query.
[out] data An output argument which will contain the value of this column of this row.
GtkTreeIter* Gtk::TreeRow::gobj ( )
inline

Provides access to the underlying C GObject.

const GtkTreeIter* Gtk::TreeRow::gobj ( ) const
inline

Provides access to the underlying C GObject.

Gtk::TreeRow::operator BoolExpr ( ) const

Discover whether this is a valid row.

For instance,

if (treeiter)
do_something()
template <class ColumnType >
TreeValueProxy <ColumnType> Gtk::TreeRow::operator[] ( const TreeModelColumn < ColumnType >& column ) const
inline

Use this to set and get the value of this column of this row.

This is a templated method, so the compiler will not allow you to provide an inappropriate type of data for the model column.

This is just a more convenient syntax that does the same thing as set_value() and get_value() .

Parameters
column The model column..
TreeIter Gtk::TreeRow::parent ( ) const

Gets an iterator to the parent row of this row.

Returns
An iterator to the parent row.
template <class ColumnType >
void Gtk::TreeRow::set_value ( const TreeModelColumn < ColumnType >& column ,
const ColumnType & data
) const

Sets the value of this column of this row.

This is a templated method, so the compiler will not allow you to provide an inappropriate type of data for the model column.

See also operator[].

Parameters
column The model column.
data The new value to use for this column of this row.
template <class ColumnType >
void Gtk::TreeRow::set_value ( int column ,
const ColumnType & data
) const

Use set_value(const TreeModelColumn<>& column, const ColumnType& data) unless you do not know the column type at compile-time.

If the data is of an inappropriate C++ type then this might fail at runtime.

Parameters
column The number of the column whose value you want to change.
data The new value to use for this column of this row.