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 [propertyGtk.TreeListModel:passthrough] property is not set.
There are various support objects that can make use of GtkTreeListRow objects, such as the [classGtk.TreeExpander] widget that allows displaying an icon to expand or collapse a row or [classGtk.TreeListRowSorter] that makes it possible to sort trees properly.
Children_Property : constant Glib.Properties.Property_Boxed;
Type: Gio.List_Model The model holding the row's children.
Depth_Property : constant Glib.Properties.Property_Uint;
The depth in the tree of this row.
Expandable_Property : constant Glib.Properties.Property_Boolean;
If this row can ever be expanded.
Expanded_Property : constant Glib.Properties.Property_Boolean;
If this row is currently expanded.
function Get_Child_Row
(Self : not null access Gtk_Tree_List_Row_Record;
Position : Guint) return Gtk_Tree_List_Row
If Self is not expanded or Position is greater than the number of children, null is returned.
position of the child to get
the child in Position. Has transfer-ownership='full'.
function Get_Children
(Self : not null access Gtk_Tree_List_Row_Record)
return Glib.List_Model.Glist_Model
If the row is expanded, gets the model holding the children of Self. This model is the model created by the [callbackGtk.TreeListModelCreateModelFunc] and contains the original items, no matter what value [propertyGtk.TreeListModel:passthrough] is set to.
The model containing the children
function Get_Depth
(Self : not null access Gtk_Tree_List_Row_Record) return Guint
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.
The depth of this row
function Get_Expanded
(Self : not null access Gtk_Tree_List_Row_Record) return Boolean
Gets if a row is currently expanded.
True if the row is expanded
function Get_Item
(Self : not null access Gtk_Tree_List_Row_Record)
return Glib.Object.GObject
Gets the item corresponding to this row,
The item of this row. This function is only marked as nullable for backwards compatibility reasons. Has transfer-ownership='full'.
function Get_Parent
(Self : not null access Gtk_Tree_List_Row_Record)
return Gtk_Tree_List_Row
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, null 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 null.
The parent of Self. Has transfer-ownership='full'.
function Get_Position
(Self : not null access Gtk_Tree_List_Row_Record) return Guint
Returns the position in the GtkTreeListModel that Self occupies at the moment.
The position in the model
function Get_Type return Glib.GType
type Gtk_Tree_List_Row is access all Gtk_Tree_List_Row_Record'Class;
type Gtk_Tree_List_Row_Record is new GObject_Record with null record;
function Is_Expandable
(Self : not null access Gtk_Tree_List_Row_Record) return Boolean
Checks if a row can be expanded. This does not mean that the row is actually expanded, this can be checked with [methodGtk.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.
True if the row is expandable
Item_Property : constant Glib.Properties.Property_Object;
Type: Glib.Object.GObject The item held in this row.
procedure Set_Expanded
(Self : not null access Gtk_Tree_List_Row_Record;
Expanded : Boolean)
Expands or collapses a row. If a row is expanded, the model of calling the [callbackGtk.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.
True if the row should be expanded