Skip to content

Gtk.TreeListRow

class — extends GObject.Object

The type of item used by GtkTreeListModel.

It allows navigating the model as a tree and modify the state of rows.

GtkTreeListRow instances are created by a GtkTreeListModel only when the TreeListModel.passthrough property is not set.

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

Methods

get_child_row

def get_child_row(self, position: int) -> TreeListRow | None

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

Parameters:

  • position — position of the child to get

get_children

def get_children(self) -> Gio.ListModel | None

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

This model is the model created by the TreeListModelCreateModelFunc and contains the original items, no matter what value TreeListModel.passthrough is set to.

get_depth

def get_depth(self) -> int

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.

get_expanded

def get_expanded(self) -> bool

Gets if a row is currently expanded.

get_item

def get_item(self) -> GObject.Object | None

Gets the item corresponding to this row,

get_parent

def get_parent(self) -> TreeListRow | None

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

get_position

def get_position(self) -> int

Returns the position in the GtkTreeListModel that self occupies at the moment.

is_expandable

def is_expandable(self) -> bool

Checks if a row can be expanded.

This does not mean that the row is actually expanded, this can be checked with TreeListRow.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.

set_expanded

def set_expanded(self, expanded: bool) -> None

Expands or collapses a row.

If a row is expanded, the model of calling the TreeListModelCreateModelFunc 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:

  • expandedTrue if the row should be expanded

Properties

children

children: Gio.ListModel  # read-only

The model holding the row's children.

depth

depth: int  # read-only

The depth in the tree of this row.

expandable

expandable: bool  # read-only

If this row can ever be expanded.

expanded

expanded: bool  # read/write

If this row is currently expanded.

item

item: GObject.Object  # read-only

The item held in this row.