GtkTreeModelSort

GtkTreeModelSort

Synopsis

#include <gtk/gtk.h>

                    GtkTreeModelSort;
GtkTreeModel *      gtk_tree_model_sort_new_with_model  (GtkTreeModel *child_model);
GtkTreeModel *      gtk_tree_model_sort_get_model       (GtkTreeModelSort *tree_model);
GtkTreePath *       gtk_tree_model_sort_convert_child_path_to_path
                                                        (GtkTreeModelSort *tree_model_sort,
                                                         GtkTreePath *child_path);
gboolean            gtk_tree_model_sort_convert_child_iter_to_iter
                                                        (GtkTreeModelSort *tree_model_sort,
                                                         GtkTreeIter *sort_iter,
                                                         GtkTreeIter *child_iter);
GtkTreePath *       gtk_tree_model_sort_convert_path_to_child_path
                                                        (GtkTreeModelSort *tree_model_sort,
                                                         GtkTreePath *sorted_path);
void                gtk_tree_model_sort_convert_iter_to_child_iter
                                                        (GtkTreeModelSort *tree_model_sort,
                                                         GtkTreeIter *child_iter,
                                                         GtkTreeIter *sorted_iter);
void                gtk_tree_model_sort_reset_default_sort_func
                                                        (GtkTreeModelSort *tree_model_sort);
void                gtk_tree_model_sort_clear_cache     (GtkTreeModelSort *tree_model_sort);
gboolean            gtk_tree_model_sort_iter_is_valid   (GtkTreeModelSort *tree_model_sort,
                                                         GtkTreeIter *iter);

Description

Details

GtkTreeModelSort

typedef struct {
  GObject parent;
} GtkTreeModelSort;


gtk_tree_model_sort_new_with_model ()

GtkTreeModel *      gtk_tree_model_sort_new_with_model  (GtkTreeModel *child_model);

Creates a new GtkTreeModel, with child_model as the child model.

child_model :

A GtkTreeModel

Returns :

A new GtkTreeModel. [transfer full]

gtk_tree_model_sort_get_model ()

GtkTreeModel *      gtk_tree_model_sort_get_model       (GtkTreeModelSort *tree_model);

Returns the model the GtkTreeModelSort is sorting.

tree_model :

a GtkTreeModelSort

Returns :

the "child model" being sorted. [transfer none]

gtk_tree_model_sort_convert_child_path_to_path ()

GtkTreePath *       gtk_tree_model_sort_convert_child_path_to_path
                                                        (GtkTreeModelSort *tree_model_sort,
                                                         GtkTreePath *child_path);

Converts child_path to a path relative to tree_model_sort. 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 NULL is returned.

tree_model_sort :

A GtkTreeModelSort

child_path :

A GtkTreePath to convert

Returns :

A newly allocated GtkTreePath, or NULL

gtk_tree_model_sort_convert_child_iter_to_iter ()

gboolean            gtk_tree_model_sort_convert_child_iter_to_iter
                                                        (GtkTreeModelSort *tree_model_sort,
                                                         GtkTreeIter *sort_iter,
                                                         GtkTreeIter *child_iter);

Sets sort_iter to point to the row in tree_model_sort 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.

tree_model_sort :

A GtkTreeModelSort

sort_iter :

An uninitialized GtkTreeIter. [out]

child_iter :

A valid GtkTreeIter 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.

gtk_tree_model_sort_convert_path_to_child_path ()

GtkTreePath *       gtk_tree_model_sort_convert_path_to_child_path
                                                        (GtkTreeModelSort *tree_model_sort,
                                                         GtkTreePath *sorted_path);

Converts sorted_path to a path on the child model of tree_model_sort. That is, sorted_path points to a location in tree_model_sort. 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, NULL is returned.

tree_model_sort :

A GtkTreeModelSort

sorted_path :

A GtkTreePath to convert

Returns :

A newly allocated GtkTreePath, or NULL

gtk_tree_model_sort_convert_iter_to_child_iter ()

void                gtk_tree_model_sort_convert_iter_to_child_iter
                                                        (GtkTreeModelSort *tree_model_sort,
                                                         GtkTreeIter *child_iter,
                                                         GtkTreeIter *sorted_iter);

Sets child_iter to point to the row pointed to by sorted_iter.

tree_model_sort :

A GtkTreeModelSort

child_iter :

An uninitialized GtkTreeIter. [out]

sorted_iter :

A valid GtkTreeIter pointing to a row on tree_model_sort.

gtk_tree_model_sort_reset_default_sort_func ()

void                gtk_tree_model_sort_reset_default_sort_func
                                                        (GtkTreeModelSort *tree_model_sort);

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 GtkTreeModelSort is in 'unsorted' state.

tree_model_sort :

A GtkTreeModelSort

gtk_tree_model_sort_clear_cache ()

void                gtk_tree_model_sort_clear_cache     (GtkTreeModelSort *tree_model_sort);

This function should almost never be called. It clears the tree_model_sort 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.

tree_model_sort :

A GtkTreeModelSort

gtk_tree_model_sort_iter_is_valid ()

gboolean            gtk_tree_model_sort_iter_is_valid   (GtkTreeModelSort *tree_model_sort,
                                                         GtkTreeIter *iter);

Warning

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

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

tree_model_sort :

A GtkTreeModelSort.

iter :

A GtkTreeIter.

Returns :

TRUE if the iter is valid, FALSE if the iter is invalid.

Since 2.2