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

Trait containing all TreeModelSort methods.

Implementors

TreeModelSort

Required Methods§

source

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.

source

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

source

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

source

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

source

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

source

fn model(&self) -> TreeModel

Returns the model the TreeModelSort is sorting.

Returns

the “child model” being sorted

source

fn iter_is_valid(&self, iter: &TreeIter) -> bool

This function is slow. Only use it for debugging and/or testing purposes.

Checks if the given iter is a valid iter for this TreeModelSort.

iter

A TreeIter

Returns

true if the iter is valid, false if the iter is invalid.

source

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.

Implementors§