gtkmm: Gtk::TreeListRow Class Reference

gtkmm 4.12.0

Public Member Functions | Static Public Member Functions | Related Symbols | List of all members
Gtk::TreeListRow Class Reference
ListView Classes

A row in a Gtk::TreeListModel. More...

`#include <gtkmm/treelistrow.h>`

Inheritance diagram for Gtk::TreeListRow:
[legend]

## Public Member Functions
| TreeListRow (TreeListRow && src) noexcept
TreeListRow & | operator= (TreeListRow && src) noexcept
| ~TreeListRow () noexcept override
GtkTreeListRow * | gobj ()
| Provides access to the underlying C GObject.
const GtkTreeListRow * | gobj () const
| Provides access to the underlying C GObject.
GtkTreeListRow * | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
Glib::RefPtr< Glib::ObjectBase > | get_item ()
| Gets the item corresponding to this row,.
Glib::RefPtr< const Glib::ObjectBase > | get_item () const
| Gets the item corresponding to this row,.
void | set_expanded (bool expanded=true)
| Expands or collapses a row.
bool | get_expanded () const
| Gets if a row is currently expanded.
bool | is_expandable () const
| Checks if a row can be expanded.
guint | get_position () const
| Returns the position in the `Gtk::TreeListModel` that self occupies at the moment.
guint | get_depth () const
| Gets the depth of this row.
Glib::RefPtr< Gio::ListModel > | get_children ()
| If the row is expanded, gets the model holding the children of self.
Glib::RefPtr< const Gio::ListModel > | get_children () const
| If the row is expanded, gets the model holding the children of self.
Glib::RefPtr< TreeListRow > | get_parent ()
| Gets the row representing the parent for self.
Glib::RefPtr< const TreeListRow > | get_parent () const
| Gets the row representing the parent for self.
Glib::RefPtr< TreeListRow > | get_child_row (guint position)
| If self is not expanded or position is greater than the number of children, `nullptr` is returned.
Glib::RefPtr< const TreeListRow > | get_child_row (guint position) const
| If self is not expanded or position is greater than the number of children, `nullptr` is returned.
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Gio::ListModel > > | property_children () const
| The model holding the row's children.
Glib::PropertyProxy_ReadOnly< guint > | property_depth () const
| The depth in the tree of this row.
Glib::PropertyProxy_ReadOnly< bool > | property_expandable () const
| If this row can ever be expanded.
Glib::PropertyProxy< bool > | property_expanded ()
| If this row is currently expanded.
Glib::PropertyProxy_ReadOnly< bool > | property_expanded () const
| If this row is currently expanded.
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Glib::ObjectBase > > | property_item () const
| The item held in this row.
Public Member Functions inherited from Glib::Object
| Object (const Object &)=delete
Object & | operator= (const Object &)=delete
| Object (Object &&src) noexcept
Object & | operator= (Object &&src) noexcept
void * | get_data (const QueryQuark &key)
void | set_data (const Quark &key, void *data)
void | set_data (const Quark &key, void *data, DestroyNotify notify)
void | remove_data (const QueryQuark &quark)
void * | steal_data (const QueryQuark &quark)
Glib::RefPtr< Glib::Object > | wrap (GObject *object, bool take_copy=false)
Public Member Functions inherited from Glib::ObjectBase
| ObjectBase (const ObjectBase &)=delete
ObjectBase & | operator= (const ObjectBase &)=delete
void | set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value)
void | get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const
void | set_property (const Glib::ustring &property_name, const PropertyType &value)
void | get_property (const Glib::ustring &property_name, PropertyType &value) const
PropertyType | get_property (const Glib::ustring &property_name) const
sigc::connection | connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void()> &slot)
sigc::connection | connect_property_changed (const Glib::ustring &property_name, sigc::slot< void()> &&slot)
void | freeze_notify ()
void | thaw_notify ()
virtual void | reference () const
virtual void | unreference () const
GObject * | gobj ()
const GObject * | gobj () const
GObject * | gobj_copy () const

## Static Public Member Functions
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system.

## Related Symbols
(Note that these are not member symbols.)
Glib::RefPtr< Gtk::TreeListRow > | wrap (GtkTreeListRow * object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Additional Inherited Members
Public Types inherited from Glib::Object
typedef void(*)(gpointer data | DestroyNotify)
Protected Member Functions inherited from Glib::Object
| Object ()
| Object (const Glib::ConstructParams &construct_params)
| Object (GObject *castitem)
| ~Object () noexcept override
Protected Member Functions inherited from Glib::ObjectBase
| ObjectBase ()
| ObjectBase (const char *custom_type_name)
| ObjectBase (const std::type_info &custom_type_info)
| ObjectBase (ObjectBase &&src) noexcept
ObjectBase & | operator= (ObjectBase &&src) noexcept
virtual | ~ObjectBase () noexcept=0
void | initialize (GObject *castitem)
void | initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper)

## Detailed Description

A row in a Gtk::TreeListModel.

Gtk::TreeListRow is the object used by Gtk::TreeListModel to represent items. It allows navigating the model as a tree and modify the state of rows.

Gtk::TreeListRow instances are created by a Gtk::TreeListModel only when the Gtk::TreeListModel::property_passthrough() property is not set.

There are various support objects that can make use of Gtk::TreeListRow objects, such as the Gtk::TreeExpander widget that allows displaying an icon to expand or collapse a row or Gtk::TreeListRowSorter that makes it possible to sort trees properly.

See also
  Gtk::TreeListModel

Since gtkmm 3.98:

## Constructor & Destructor Documentation

## ◆ TreeListRow()

Gtk::TreeListRow::TreeListRow | ( | TreeListRow && | src | ) |
| noexcept

## ◆ ~TreeListRow()

Gtk::TreeListRow::~TreeListRow | ( |  | ) |
| overridenoexcept

## Member Function Documentation

## ◆ get_child_row() [1/2]

Glib::RefPtr< TreeListRow > Gtk::TreeListRow::get_child_row | ( | guint | position | ) |

If self is not expanded or position is greater than the number of children, `nullptr` is returned.

Parameters

  position | Position of the child to get.

Returns
  The child in position.

## ◆ get_child_row() [2/2]

Glib::RefPtr< const TreeListRow > Gtk::TreeListRow::get_child_row | ( | guint | position | ) | const

If self is not expanded or position is greater than the number of children, `nullptr` is returned.

Parameters

  position | Position of the child to get.

Returns
  The child in position.

## ◆ get_children() [1/2]

Glib::RefPtr< Gio::ListModel > Gtk::TreeListRow::get_children | ( |  | ) |

If the row is expanded, gets the model holding the children of self.

This model is the model created by the [callb.nosp@m.ack@.nosp@m.Gtk.T.nosp@m.reeL.nosp@m.istMo.nosp@m.delC.nosp@m.reate.nosp@m.Mode.nosp@m.lFunc] and contains the original items, no matter what value Gtk::TreeListModel::property_passthrough() is set to.

Returns
  The model containing the children.

## ◆ get_children() [2/2]

Glib::RefPtr< const Gio::ListModel > Gtk::TreeListRow::get_children | ( |  | ) | const

If the row is expanded, gets the model holding the children of self.

This model is the model created by the [callb.nosp@m.ack@.nosp@m.Gtk.T.nosp@m.reeL.nosp@m.istMo.nosp@m.delC.nosp@m.reate.nosp@m.Mode.nosp@m.lFunc] and contains the original items, no matter what value Gtk::TreeListModel::property_passthrough() is set to.

Returns
  The model containing the children.

## ◆ get_depth()

guint Gtk::TreeListRow::get_depth | ( |  | ) | const

Gets the depth of this row.

Rows that correspond to items in the root model have a depth of zero, rows corresponding to items of models of direct children of the root model have a depth of 1 and so on.

The depth of a row never changes until the row is removed from its model at which point it will forever return 0.

Returns
  The depth of this row.

## ◆ get_expanded()

bool Gtk::TreeListRow::get_expanded | ( |  | ) | const

Gets if a row is currently expanded.

Returns
  `true` if the row is expanded.

## ◆ get_item() [1/2]

Glib::RefPtr< Glib::ObjectBase > Gtk::TreeListRow::get_item | ( |  | ) |

Gets the item corresponding to this row,.

Returns
  The item of this row. This function is only marked as nullable for backwards compatibility reasons.

## ◆ get_item() [2/2]

Glib::RefPtr< const Glib::ObjectBase > Gtk::TreeListRow::get_item | ( |  | ) | const

Gets the item corresponding to this row,.

Returns
  The item of this row. This function is only marked as nullable for backwards compatibility reasons.

## ◆ get_parent() [1/2]

Glib::RefPtr< TreeListRow > Gtk::TreeListRow::get_parent | ( |  | ) |

Gets the row representing the parent for self.

That is the row that would need to be collapsed to make this row disappear.

If self is a row corresponding to the root model, `nullptr` is returned.

The value returned by this function never changes until the row is removed from its model at which point it will forever return `nullptr`.

Returns
  The parent of self.

## ◆ get_parent() [2/2]

Glib::RefPtr< const TreeListRow > Gtk::TreeListRow::get_parent | ( |  | ) | const

Gets the row representing the parent for self.

That is the row that would need to be collapsed to make this row disappear.

If self is a row corresponding to the root model, `nullptr` is returned.

The value returned by this function never changes until the row is removed from its model at which point it will forever return `nullptr`.

Returns
  The parent of self.

## ◆ get_position()

guint Gtk::TreeListRow::get_position | ( |  | ) | const

Returns the position in the `Gtk::TreeListModel` that self occupies at the moment.

Returns
  The position in the model.

## ◆ get_type()

static GType Gtk::TreeListRow::get_type | ( |  | ) |
| static

Get the GType for this class, for use with the underlying GObject type system.

## ◆ gobj() [1/2]

GtkTreeListRow * Gtk::TreeListRow::gobj | ( |  | ) |
| inline

Provides access to the underlying C GObject.

## ◆ gobj() [2/2]

const GtkTreeListRow * Gtk::TreeListRow::gobj | ( |  | ) | const
| inline

Provides access to the underlying C GObject.

## ◆ gobj_copy()

GtkTreeListRow * Gtk::TreeListRow::gobj_copy | ( |  | ) |

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

## ◆ is_expandable()

bool Gtk::TreeListRow::is_expandable | ( |  | ) | const

Checks if a row can be expanded.

This does not mean that the row is actually expanded, this can be checked with get_expanded().

If a row is expandable never changes until the row is removed from its model at which point it will forever return `false`.

Returns
  `true` if the row is expandable.

## ◆ operator=()

TreeListRow & Gtk::TreeListRow::operator= | ( | TreeListRow && | src | ) |
| noexcept

## ◆ property_children()

Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Gio::ListModel > > Gtk::TreeListRow::property_children | ( |  | ) | const

The model holding the row's children.

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## ◆ property_depth()

Glib::PropertyProxy_ReadOnly< guint > Gtk::TreeListRow::property_depth | ( |  | ) | const

The depth in the tree of this row.

Default value: 0

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## ◆ property_expandable()

Glib::PropertyProxy_ReadOnly< bool > Gtk::TreeListRow::property_expandable | ( |  | ) | const

If this row can ever be expanded.

Default value: `false`

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## ◆ property_expanded() [1/2]

Glib::PropertyProxy< bool > Gtk::TreeListRow::property_expanded | ( |  | ) |

If this row is currently expanded.

Default value: `false`

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## ◆ property_expanded() [2/2]

Glib::PropertyProxy_ReadOnly< bool > Gtk::TreeListRow::property_expanded | ( |  | ) | const

If this row is currently expanded.

Default value: `false`

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## ◆ property_item()

Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Glib::ObjectBase > > Gtk::TreeListRow::property_item | ( |  | ) | const

The item held in this row.

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## ◆ set_expanded()

void Gtk::TreeListRow::set_expanded | ( | bool | expanded = `true` | ) |

Expands or collapses a row.

If a row is expanded, the model of calling the [callb.nosp@m.ack@.nosp@m.Gtk.T.nosp@m.reeL.nosp@m.istMo.nosp@m.delC.nosp@m.reate.nosp@m.Mode.nosp@m.lFunc] for the row's item will be inserted after this row. If a row is collapsed, those items will be removed from the model.

If the row is not expandable, this function does nothing.

Parameters

  expanded | `true` if the row should be expanded.

## Friends And Related Symbol Documentation

## ◆ wrap()

Glib::RefPtr< Gtk::TreeListRow > wrap | ( | GtkTreeListRow * | object,
|  | bool | take_copy = `false`
| ) |  |
| related

A Glib::wrap() method for this object.

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.