Trait gtk4::prelude::TreeModelSortExt
source · pub trait TreeModelSortExt: 'static {
// Required methods
fn clear_cache(&self);
fn convert_child_iter_to_iter(
&self,
child_iter: &TreeIter
) -> Option<TreeIter>;
fn convert_child_path_to_path(
&self,
child_path: &TreePath
) -> Option<TreePath>;
fn convert_iter_to_child_iter(&self, sorted_iter: &TreeIter) -> TreeIter;
fn convert_path_to_child_path(
&self,
sorted_path: &TreePath
) -> Option<TreePath>;
fn model(&self) -> TreeModel;
fn iter_is_valid(&self, iter: &TreeIter) -> bool;
fn reset_default_sort_func(&self);
}
Expand description
Required Methods§
sourcefn clear_cache(&self)
fn clear_cache(&self)
This function should almost never be called. It clears the @self of any cached iterators that haven’t been reffed with gtk_tree_model_ref_node(). This might be useful if the child model being sorted is static (and doesn’t change often) and there has been a lot of unreffed access to nodes. As a side effect of this function, all unreffed iters will be invalid.
sourcefn convert_child_iter_to_iter(&self, child_iter: &TreeIter) -> Option<TreeIter>
fn convert_child_iter_to_iter(&self, child_iter: &TreeIter) -> Option<TreeIter>
Sets @sort_iter to point to the row in @self that corresponds to
the row pointed at by @child_iter. If @sort_iter was not set, false
is returned. Note: a boolean is only returned since 2.14.
child_iter
A valid TreeIter
pointing to a row on the child model
Returns
true
, if @sort_iter was set, i.e. if @sort_iter is a
valid iterator pointer to a visible row in the child model.
sort_iter
An uninitialized TreeIter
sourcefn convert_child_path_to_path(&self, child_path: &TreePath) -> Option<TreePath>
fn convert_child_path_to_path(&self, child_path: &TreePath) -> Option<TreePath>
Converts @child_path to a path relative to @self. That is,
@child_path points to a path in the child model. The returned path will
point to the same row in the sorted model. If @child_path isn’t a valid
path on the child model, then None
is returned.
child_path
A TreePath
to convert
Returns
A newly allocated TreePath
sourcefn convert_iter_to_child_iter(&self, sorted_iter: &TreeIter) -> TreeIter
fn convert_iter_to_child_iter(&self, sorted_iter: &TreeIter) -> TreeIter
Sets @child_iter to point to the row pointed to by @sorted_iter.
sorted_iter
A valid TreeIter
pointing to a row on @self.
Returns
child_iter
An uninitialized TreeIter
sourcefn convert_path_to_child_path(&self, sorted_path: &TreePath) -> Option<TreePath>
fn convert_path_to_child_path(&self, sorted_path: &TreePath) -> Option<TreePath>
Converts @sorted_path to a path on the child model of @self.
That is, @sorted_path points to a location in @self. The
returned path will point to the same location in the model not being
sorted. If @sorted_path does not point to a location in the child model,
None
is returned.
sorted_path
A TreePath
to convert
Returns
A newly allocated TreePath
sourcefn iter_is_valid(&self, iter: &TreeIter) -> bool
fn iter_is_valid(&self, iter: &TreeIter) -> bool
sourcefn reset_default_sort_func(&self)
fn reset_default_sort_func(&self)
This resets the default sort function to be in the “unsorted” state. That
is, it is in the same order as the child model. It will re-sort the model
to be in the same order as the child model only if the TreeModelSort
is in “unsorted” state.