pub trait TreeModelExt: IsA<TreeModel> + 'static {
Show 26 methods
// Provided 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) -> Option<TreePath> { ... }
fn string_from_iter(&self, iter: &TreeIter) -> Option<GString> { ... }
fn value(&self, iter: &TreeIter, column: i32) -> Value { ... }
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 rows_reordered_with_length(
&self,
path: &TreePath,
iter: Option<&TreeIter>,
new_order: &[i32],
) { ... }
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
Provided Methods§
Sourcefn column_type(&self, index_: i32) -> Type
fn column_type(&self, index_: i32) -> Type
Sourcefn flags(&self) -> TreeModelFlags
fn flags(&self) -> TreeModelFlags
Returns a set of flags supported by this interface.
The flags are a bitwise combination of TreeModelFlags.
The flags supported should not change during the lifetime
of the self.
§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>
Sourcefn string_from_iter(&self, iter: &TreeIter) -> Option<GString>
fn string_from_iter(&self, iter: &TreeIter) -> Option<GString>
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);
§parent
§Returns
true, if iter has been set to the first child
§iter
the new TreeIter-struct 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
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.
§parent
the TreeIter-struct to get the child from, or None.
§n
the index of the desired child
§Returns
true, if parent has an n-th child
§iter
the TreeIter-struct 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.
§child
the TreeIter-struct
§Returns
true, if iter is set to the parent of child
§iter
the new TreeIter-struct 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.
§path
a TreePath-struct pointing to the changed row
§iter
a valid TreeIter-struct pointing to the changed row
Sourcefn row_deleted(&self, path: &TreePath)
fn row_deleted(&self, path: &TreePath)
Emits the row-deleted signal on self.
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.
§path
a TreePath-struct 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.
§path
a TreePath-struct pointing to the changed row
§iter
a valid TreeIter-struct 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.
§path
a TreePath-struct pointing to the inserted row
§iter
a valid TreeIter-struct pointing to the inserted row
Sourcefn rows_reordered_with_length(
&self,
path: &TreePath,
iter: Option<&TreeIter>,
new_order: &[i32],
)
fn rows_reordered_with_length( &self, path: &TreePath, iter: Option<&TreeIter>, new_order: &[i32], )
Emits the rows-reordered signal on self.
This should be called by models when their rows have been reordered.
§path
a TreePath-struct pointing to the tree node whose children
have been reordered
§iter
a valid TreeIter-struct pointing to the node
whose children have been reordered, or None if the depth
of path is 0
§new_order
an array of integers
mapping the current position of each child to its old
position before the re-ordering,
i.e. new_order``[newpos] = oldpos
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-struct 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-struct identifying the new row
§iter
a valid TreeIter-struct pointing to the new row
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".