gtkmm 3.24.7
Public Types | Public Member Functions | List of all members
Gtk::TreeRow Class Reference

Typedefed as TreeModel::Row. More...

#include <gtkmm/treeiter.h>

Inheritance diagram for Gtk::TreeRow:
Inheritance graph
[legend]

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::TreeRowreference
 
typedef const Gtk::TreeRowpointer
 
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 TreeNodeChildrenchildren () 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...
 
 operator bool () 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 ()
 
TreeIteroperator++ ()
 
const TreeIter operator++ (int)
 
TreeIteroperator-- ()
 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...
 
 operator bool () 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
 
TreeIterBaseoperator= (const TreeIterBase & other) noexcept
 
 TreeIterBase (TreeIterBase && other) noexcept
 
TreeIterBaseoperator= (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

◆ BoolExpr

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

Deprecated:
Use the explicit operator bool() instead.

Member Function Documentation

◆ children()

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.

◆ get_value() [1/2]

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
columnThe model column.
Returns
The value of this column of this row

◆ get_value() [2/2]

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
columnThe number of the column whose value you want to query.
[out]dataAn output argument which will contain the value of this column of this row.

◆ gobj() [1/2]

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

Provides access to the underlying C GObject.

◆ gobj() [2/2]

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

Provides access to the underlying C GObject.

◆ operator bool()

Gtk::TreeRow::operator bool ( ) const
explicit

Discover whether this is a valid row.

For instance,

if(treeiter)
do_something()
Since gtkmm 3.22:

◆ operator BoolExpr()

Gtk::TreeRow::operator BoolExpr ( ) const

Discover whether this is a valid row.

For instance,

if(treeiter)
do_something()
Deprecated:
Use the explicit operator bool() instead.

◆ operator[]()

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
columnThe model column..

◆ parent()

TreeIter Gtk::TreeRow::parent ( ) const

Gets an iterator to the parent row of this row.

Returns
An iterator to the parent row.

◆ set_value() [1/2]

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
columnThe model column.
dataThe new value to use for this column of this row.

◆ set_value() [2/2]

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
columnThe number of the column whose value you want to change.
dataThe new value to use for this column of this row.