GTK+ Reference Manual
<<< PrevHomeUpNext >>>

GtkTreeSortable

GtkTreeSortable —

Synopsis


#include <gtk/gtk.h>


struct      GtkTreeSortable;
struct      GtkTreeSortableIface;
gint        (*GtkTreeIterCompareFunc)       (GtkTreeModel *model,
                                             GtkTreeIter *a,
                                             GtkTreeIter *b,
                                             gpointer user_data);
void        gtk_tree_sortable_sort_column_changed
                                            (GtkTreeSortable *sortable);
gboolean    gtk_tree_sortable_get_sort_column_id
                                            (GtkTreeSortable *sortable,
                                             gint *sort_column_id,
                                             GtkSortType *order);
void        gtk_tree_sortable_set_sort_column_id
                                            (GtkTreeSortable *sortable,
                                             gint sort_column_id,
                                             GtkSortType order);
void        gtk_tree_sortable_set_sort_func (GtkTreeSortable *sortable,
                                             gint sort_column_id,
                                             GtkTreeIterCompareFunc sort_func,
                                             gpointer user_data,
                                             GtkDestroyNotify destroy);
void        gtk_tree_sortable_set_default_sort_func
                                            (GtkTreeSortable *sortable,
                                             GtkTreeIterCompareFunc sort_func,
                                             gpointer user_data,
                                             GtkDestroyNotify destroy);
gboolean    gtk_tree_sortable_has_default_sort_func
                                            (GtkTreeSortable *sortable);


Object Hierarchy


  GInterface
   +----GtkTreeSortable

Implementations

GtkTreeSortable is implemented by GtkTreeStore, GtkListStore, GtkTreeModelSort

Signal Prototypes


"sort-column-changed"
            void        user_function      (GtkTreeSortable *treesortable,
                                            gpointer user_data);

Description

Details

struct GtkTreeSortable

struct GtkTreeSortable;


struct GtkTreeSortableIface

struct GtkTreeSortableIface
{
  GTypeInterface g_iface;

  /* signals */
  void     (* sort_column_changed)   (GtkTreeSortable        *sortable);

  /* virtual table */
  gboolean (* get_sort_column_id)    (GtkTreeSortable        *sortable,
				      gint                   *sort_column_id,
				      GtkSortType            *order);
  void     (* set_sort_column_id)    (GtkTreeSortable        *sortable,
				      gint                    sort_column_id,
				      GtkSortType             order);
  void     (* set_sort_func)         (GtkTreeSortable        *sortable,
				      gint                    sort_column_id,
				      GtkTreeIterCompareFunc  func,
				      gpointer                data,
				      GtkDestroyNotify        destroy);
  void     (* set_default_sort_func) (GtkTreeSortable        *sortable,
				      GtkTreeIterCompareFunc  func,
				      gpointer                data,
				      GtkDestroyNotify        destroy);
  gboolean (* has_default_sort_func) (GtkTreeSortable        *sortable);
};


GtkTreeIterCompareFunc ()

gint        (*GtkTreeIterCompareFunc)       (GtkTreeModel *model,
                                             GtkTreeIter *a,
                                             GtkTreeIter *b,
                                             gpointer user_data);

model :

a :

b :

user_data :

Returns :


gtk_tree_sortable_sort_column_changed ()

void        gtk_tree_sortable_sort_column_changed
                                            (GtkTreeSortable *sortable);

Emits a GtkTreeSortable::sort_column_changed signal on

sortable :

A GtkTreeSortable


gtk_tree_sortable_get_sort_column_id ()

gboolean    gtk_tree_sortable_get_sort_column_id
                                            (GtkTreeSortable *sortable,
                                             gint *sort_column_id,
                                             GtkSortType *order);

Fills in sort_column_id and order with the current sort column and the order, if applicable. If the sort column is not set, then FALSE is returned, and the values in sort_column_id and order are unchanged.

sortable :

A GtkTreeSortable

sort_column_id :

The sort column id to be filled in

order :

The GtkSortType to be filled in

Returns :

TRUE, if the sort column has been set


gtk_tree_sortable_set_sort_column_id ()

void        gtk_tree_sortable_set_sort_column_id
                                            (GtkTreeSortable *sortable,
                                             gint sort_column_id,
                                             GtkSortType order);

Sets the current sort column to be sort_column_id. The sortable will resort itself to reflect this change, after emitting a GtkTreeSortable::sort_column_changed signal. If sort_column_id is GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, then the default sort function will be used, if it is set.

sortable :

A GtkTreeSortable

sort_column_id :

the sort column id to set

order :

The sort order of the column


gtk_tree_sortable_set_sort_func ()

void        gtk_tree_sortable_set_sort_func (GtkTreeSortable *sortable,
                                             gint sort_column_id,
                                             GtkTreeIterCompareFunc sort_func,
                                             gpointer user_data,
                                             GtkDestroyNotify destroy);

Sets the comparison function used when sorting to be sort_func. If the current sort column id of sortable is the same as sort_column_id, then the model will sort using this function.

sortable :

A GtkTreeSortable

sort_column_id :

the sort column id to set the function for

sort_func :

The sorting function

user_data :

User data to pass to the sort func, or NULL

destroy :

Destroy notifier of user_data, or NULL


gtk_tree_sortable_set_default_sort_func ()

void        gtk_tree_sortable_set_default_sort_func
                                            (GtkTreeSortable *sortable,
                                             GtkTreeIterCompareFunc sort_func,
                                             gpointer user_data,
                                             GtkDestroyNotify destroy);

Sets the default comparison function used when sorting to be sort_func. If the current sort column id of sortable is GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, then the model will sort using this function.

If sort_func is NULL, then there will be no default comparison function. This means that once the model has been sorted, it can't go back to the default state. In this case, when the current sort column id of sortable is GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, the model will be unsorted.

sortable :

A GtkTreeSortable

sort_func :

The sorting function

user_data :

User data to pass to the sort func, or NULL

destroy :

Destroy notifier of user_data, or NULL


gtk_tree_sortable_has_default_sort_func ()

gboolean    gtk_tree_sortable_has_default_sort_func
                                            (GtkTreeSortable *sortable);

Returns TRUE if the model has a default sort function. This is used primarily by GtkTreeViewColumns in order to determine if a model can go back to the default state, or not.

sortable :

A GtkTreeSortable

Returns :

TRUE, if the model has a default sort function

Signals

The "sort-column-changed" signal

void        user_function                  (GtkTreeSortable *treesortable,
                                            gpointer user_data);

treesortable :

the object which received the signal.

user_data :

user data set when the signal handler was connected.

<<< PrevHomeUpNext >>>
GtkTreeView drag-and-dropGtkTreeModelSort