# 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§

source#### fn 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.

##### Deprecated since 4.10

source#### fn 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.

##### Deprecated since 4.10

`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>

#### 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.

##### Deprecated since 4.10

`child_path`

A `TreePath`

to convert

##### Returns

A newly allocated `TreePath`

source#### fn 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.

##### Deprecated since 4.10

`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>

#### 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.

##### Deprecated since 4.10

`sorted_path`

A `TreePath`

to convert

##### Returns

A newly allocated `TreePath`

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

#### 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`

.

##### Deprecated since 4.10

`iter`

A `TreeIter`

##### Returns

source#### fn 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.