# [−][src]Trait gtk::TreeModelSortExt

## Required methods

`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
`TreeModel::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.

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

`sort_iter`

An uninitialized `TreeIter`

.

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

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

, or `None`

`fn convert_iter_to_child_iter(&self, sorted_iter: &TreeIter) -> TreeIter`

Sets `child_iter`

to point to the row pointed to by `sorted_iter`

.

`child_iter`

An uninitialized `TreeIter`

`sorted_iter`

A valid `TreeIter`

pointing to a row on `self`

.

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

, or `None`

`fn get_model(&self) -> TreeModel`

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

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