краткое описание#include <gtk/gtk.h> gtktreesortable; 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); иерархия объектовginterface +----gtktreesortable предварительные условияgtktreesortable требует gtktreemodel и gobject. известные реализацииgtktreesortable осуществляется gtktreemodelsort, gtktreestore и gtkliststore. сигналы"sort-column-changed" void user_function (gtktreesortable *treesortable, gpointer user_data) : run last описаниеgtktreesortable – это интерфейс для реализации древовидных моделей поддерживающих сортировку. gtktreeview использует методы обеспечиваемые этим интерфейсом для сортировки моделей. деталиgtktreesortabletypedef struct _gtktreesortable gtktreesortable; gtktreesortableifacetypedef struct {
gtypeinterface g_iface;
/* сигналы */
void (* sort_column_changed) (gtktreesortable *sortable);
/* виртуальная таблица */
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);
} gtktreesortableiface;
gtktreeitercomparefunc ()gint (*gtktreeitercomparefunc) (gtktreemodel *model, gtktreeiter *a, gtktreeiter *b, gpointer user_data);
gtktreeitercomparefunc должна возвращать
отрицательное целое, ноль, или положительное
целое если например, если
gtk_tree_sortable_sort_column_changed ()void gtk_tree_sortable_sort_column_changed (gtktreesortable *sortable); издаёт сигнал gtktreesortable::sort_column_changed
gtk_tree_sortable_get_sort_column_id ()gboolean gtk_tree_sortable_get_sort_column_id (gtktreesortable *sortable, gint *sort_column_id, gtksorttype *order);
заполняет
gtk_tree_sortable_set_sort_column_id ()void gtk_tree_sortable_set_sort_column_id (gtktreesortable *sortable, gint sort_column_id, gtksorttype order);
устанавливает текущий сортируемый
столбец в
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);
устанавливает функцию сравнения,
используемую при сортировки, в
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);
устанавливает функцию сравнения по
умолчанию, используемую при сортировки,
в если
gtk_tree_sortable_has_default_sort_func ()gboolean gtk_tree_sortable_has_default_sort_func (gtktreesortable *sortable);
возвращает
детали сигналасигнал "sort-column-changed"void user_function (gtktreesortable *treesortable, gpointer user_data) : run last
смотрите также |