gtkmm 3.24.10

Public Types | Public Member Functions | List of all members
Gtk::TreeRow Class Reference
TreeView Classes

Typedefed as TreeModel::Row. More...

`#include <gtkmm/treeiter.h>`

Inheritance diagram for Gtk::TreeRow:
[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().
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().

## 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.
template<class ColumnType>
void | set_value (const TreeModelColumn< ColumnType > & column, const ColumnType & data) const
| Sets the value of this column of this row.
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.
template<class ColumnType>
ColumnType | get_value (const TreeModelColumn< ColumnType > & column) const
| Gets the value of this column of this row.
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.
const TreeNodeChildren & | children () const
| This returns an STL-like container API, for iterating over the rows.
TreeIter | parent () const
| Gets an iterator to the parent row of this row.
| operator BoolExpr () const
| Discover whether this is a valid row.
| operator bool () const
| Discover whether this is a valid row.
GtkTreeIter * | gobj ()
| Provides access to the underlying C GObject.
const GtkTreeIter * | gobj () const
| Provides access to the underlying C GObject.
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++().
const TreeIter | operator-- (int)
| Please note that this is very slow compared to operator++().
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().
| operator bool () const
| Discover whether the iterator is valid, and not equal to end().
int | get_stamp () const
| This is only useful when implementing a custom Gtk::TreeModel class.
void | set_stamp (int stamp)
| This is only useful when implementing a custom Gtk::TreeModel class.
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.
const GtkTreeIter * | gobj () const
| Provides access to the underlying C instance.

## 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.
Protected Attributes inherited from Gtk::TreeIterBase
GtkTreeIter | gobject_
Related Symbols inherited from Gtk::TreeIter
bool | operator== (const TreeIter & lhs, const TreeIter & rhs)
bool | operator!= (const TreeIter & lhs, const TreeIter & rhs)

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

  column | The 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

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

## ◆ 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

  column | The 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

  column | The model column.
  data | The 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

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