Trait gtk4::prelude::TreeModelExt
source · pub trait TreeModelExt: 'static {
Show 24 methods
// Required methods
fn foreach<P: FnMut(&TreeModel, &TreePath, &TreeIter) -> bool>(
&self,
func: P
);
fn column_type(&self, index_: i32) -> Type;
fn flags(&self) -> TreeModelFlags;
fn iter(&self, path: &TreePath) -> Option<TreeIter>;
fn iter_first(&self) -> Option<TreeIter>;
fn iter_from_string(&self, path_string: &str) -> Option<TreeIter>;
fn n_columns(&self) -> i32;
fn path(&self, iter: &TreeIter) -> TreePath;
fn string_from_iter(&self, iter: &TreeIter) -> Option<GString>;
fn iter_children(&self, parent: Option<&TreeIter>) -> Option<TreeIter>;
fn iter_has_child(&self, iter: &TreeIter) -> bool;
fn iter_n_children(&self, iter: Option<&TreeIter>) -> i32;
fn iter_next(&self, iter: &TreeIter) -> bool;
fn iter_nth_child(
&self,
parent: Option<&TreeIter>,
n: i32
) -> Option<TreeIter>;
fn iter_parent(&self, child: &TreeIter) -> Option<TreeIter>;
fn iter_previous(&self, iter: &TreeIter) -> bool;
fn row_changed(&self, path: &TreePath, iter: &TreeIter);
fn row_deleted(&self, path: &TreePath);
fn row_has_child_toggled(&self, path: &TreePath, iter: &TreeIter);
fn row_inserted(&self, path: &TreePath, iter: &TreeIter);
fn connect_row_changed<F: Fn(&Self, &TreePath, &TreeIter) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_row_deleted<F: Fn(&Self, &TreePath) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_row_has_child_toggled<F: Fn(&Self, &TreePath, &TreeIter) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_row_inserted<F: Fn(&Self, &TreePath, &TreeIter) + 'static>(
&self,
f: F
) -> SignalHandlerId;
}
Expand description
Trait containing all TreeModel
methods.
Implementors
ListStore
, TreeModelFilter
, TreeModelSort
, TreeModel
, TreeSortable
, TreeStore
Required Methods§
sourcefn foreach<P: FnMut(&TreeModel, &TreePath, &TreeIter) -> bool>(&self, func: P)
fn foreach<P: FnMut(&TreeModel, &TreePath, &TreeIter) -> bool>(&self, func: P)
Calls @func on each node in model in a depth-first fashion.
If @func returns true
, then the tree ceases to be walked,
and gtk_tree_model_foreach() returns.
Deprecated since 4.10
func
a function to be called on each row
sourcefn column_type(&self, index_: i32) -> Type
fn column_type(&self, index_: i32) -> Type
Returns the type of the column.
Deprecated since 4.10
index_
the column index
Returns
the type of the column
sourcefn flags(&self) -> TreeModelFlags
fn flags(&self) -> TreeModelFlags
Returns a set of flags supported by this interface.
The flags are a bitwise combination of TreeModel
Flags.
The flags supported should not change during the lifetime
of the @self.
Deprecated since 4.10
Returns
the flags supported by this interface
sourcefn iter_first(&self) -> Option<TreeIter>
fn iter_first(&self) -> Option<TreeIter>
sourcefn iter_from_string(&self, path_string: &str) -> Option<TreeIter>
fn iter_from_string(&self, path_string: &str) -> Option<TreeIter>
Sets @iter to a valid iterator pointing to @path_string, if it exists.
Otherwise, @iter is left invalid and false
is returned.
Deprecated since 4.10
path_string
a string representation of a TreePath
Returns
true
, if @iter was set
iter
an uninitialized TreeIter
sourcefn n_columns(&self) -> i32
fn n_columns(&self) -> i32
Returns the number of columns supported by @self.
Deprecated since 4.10
Returns
the number of columns
sourcefn string_from_iter(&self, iter: &TreeIter) -> Option<GString>
fn string_from_iter(&self, iter: &TreeIter) -> Option<GString>
Generates a string representation of the iter.
This string is a “:” separated list of numbers. For example, “4:10:0:3” would be an acceptable return value for this string.
Deprecated since 4.10
iter
a TreeIter
Returns
a newly-allocated string
sourcefn iter_children(&self, parent: Option<&TreeIter>) -> Option<TreeIter>
fn iter_children(&self, parent: Option<&TreeIter>) -> Option<TreeIter>
Sets @iter to point to the first child of @parent.
If @parent has no children, false
is returned and @iter is
set to be invalid. @parent will remain a valid node after this
function has been called.
If @parent is None
returns the first node, equivalent to
gtk_tree_model_get_iter_first (tree_model, iter);
Deprecated since 4.10
parent
the TreeIter
Returns
true
, if @iter has been set to the first child
iter
the new TreeIter
to be set to the child
sourcefn iter_has_child(&self, iter: &TreeIter) -> bool
fn iter_has_child(&self, iter: &TreeIter) -> bool
sourcefn iter_n_children(&self, iter: Option<&TreeIter>) -> i32
fn iter_n_children(&self, iter: Option<&TreeIter>) -> i32
Returns the number of children that @iter has.
As a special case, if @iter is None
, then the number
of toplevel nodes is returned.
Deprecated since 4.10
iter
the TreeIter
Returns
the number of children of @iter
sourcefn iter_nth_child(&self, parent: Option<&TreeIter>, n: i32) -> Option<TreeIter>
fn iter_nth_child(&self, parent: Option<&TreeIter>, n: i32) -> Option<TreeIter>
Sets @iter to be the child of @parent, using the given index.
The first index is 0. If @n is too big, or @parent has no children,
@iter is set to an invalid iterator and false
is returned. @parent
will remain a valid node after this function has been called. As a
special case, if @parent is None
, then the @n-th root node
is set.
Deprecated since 4.10
parent
the TreeIter
to get the child from
n
the index of the desired child
Returns
true
, if @parent has an @n-th child
iter
the TreeIter
to set to the nth child
sourcefn iter_parent(&self, child: &TreeIter) -> Option<TreeIter>
fn iter_parent(&self, child: &TreeIter) -> Option<TreeIter>
Sets @iter to be the parent of @child.
If @child is at the toplevel, and doesn’t have a parent, then
@iter is set to an invalid iterator and false
is returned.
@child will remain a valid node after this function has been
called.
@iter will be initialized before the lookup is performed, so @child and @iter cannot point to the same memory location.
Deprecated since 4.10
child
the TreeIter
Returns
true
, if @iter is set to the parent of @child
iter
the new TreeIter
to set to the parent
sourcefn iter_previous(&self, iter: &TreeIter) -> bool
fn iter_previous(&self, iter: &TreeIter) -> bool
sourcefn row_changed(&self, path: &TreePath, iter: &TreeIter)
fn row_changed(&self, path: &TreePath, iter: &TreeIter)
Emits the ::row-changed signal on @self.
See row-changed
.
Deprecated since 4.10
path
a TreePath
pointing to the changed row
iter
a valid TreeIter
pointing to the changed row
sourcefn row_deleted(&self, path: &TreePath)
fn row_deleted(&self, path: &TreePath)
Emits the ::row-deleted signal on @self.
See row-deleted
.
This should be called by models after a row has been removed. The location pointed to by @path should be the location that the row previously was at. It may not be a valid location anymore.
Nodes that are deleted are not unreffed, this means that any outstanding references on the deleted node should not be released.
Deprecated since 4.10
path
a TreePath
pointing to the previous location of
the deleted row
sourcefn row_has_child_toggled(&self, path: &TreePath, iter: &TreeIter)
fn row_has_child_toggled(&self, path: &TreePath, iter: &TreeIter)
Emits the ::row-has-child-toggled signal on @self.
This should be called by models after the child state of a node changes.
Deprecated since 4.10
path
a TreePath
pointing to the changed row
iter
a valid TreeIter
pointing to the changed row
sourcefn row_inserted(&self, path: &TreePath, iter: &TreeIter)
fn row_inserted(&self, path: &TreePath, iter: &TreeIter)
Emits the ::row-inserted signal on @self.
See row-inserted
.
Deprecated since 4.10
path
a TreePath
pointing to the inserted row
iter
a valid TreeIter
pointing to the inserted row
sourcefn connect_row_changed<F: Fn(&Self, &TreePath, &TreeIter) + 'static>(
&self,
f: F
) -> SignalHandlerId
fn connect_row_changed<F: Fn(&Self, &TreePath, &TreeIter) + 'static>( &self, f: F ) -> SignalHandlerId
sourcefn connect_row_deleted<F: Fn(&Self, &TreePath) + 'static>(
&self,
f: F
) -> SignalHandlerId
fn connect_row_deleted<F: Fn(&Self, &TreePath) + 'static>( &self, f: F ) -> SignalHandlerId
This signal is emitted when a row has been deleted.
Note that no iterator is passed to the signal handler, since the row is already deleted.
This should be called by models after a row has been removed. The location pointed to by @path should be the location that the row previously was at. It may not be a valid location anymore.
path
a TreePath
identifying the row
sourcefn connect_row_has_child_toggled<F: Fn(&Self, &TreePath, &TreeIter) + 'static>(
&self,
f: F
) -> SignalHandlerId
fn connect_row_has_child_toggled<F: Fn(&Self, &TreePath, &TreeIter) + 'static>( &self, f: F ) -> SignalHandlerId
sourcefn connect_row_inserted<F: Fn(&Self, &TreePath, &TreeIter) + 'static>(
&self,
f: F
) -> SignalHandlerId
fn connect_row_inserted<F: Fn(&Self, &TreePath, &TreeIter) + 'static>( &self, f: F ) -> SignalHandlerId
This signal is emitted when a new row has been inserted in the model.
Note that the row may still be empty at this point, since it is a common pattern to first insert an empty row, and then fill it with the desired values.
path
a TreePath
identifying the new row
iter
a valid TreeIter
pointing to the new row