summaryrefslogtreecommitdiff
path: root/gtk/gtktreesortable.h
diff options
context:
space:
mode:
authorJonathan Blandford <jrb@redhat.com>2001-03-23 00:35:19 +0000
committerJonathan Blandford <jrb@src.gnome.org>2001-03-23 00:35:19 +0000
commit21fd434c5f528546a35036b4cfce6a708a4c2762 (patch)
tree86ff9f050f2a04d6154d608e211c32b561f8ebfd /gtk/gtktreesortable.h
parent18b5348b4838c99b85f14e4f0e351facef26b261 (diff)
downloadgtk+-21fd434c5f528546a35036b4cfce6a708a4c2762.tar.gz
fix braino. New interface to add cleanup sortable support.
Thu Mar 22 19:27:34 2001 Jonathan Blandford <jrb@redhat.com> * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render): fix braino. * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable support. * gtk/gtktreeview.c: Addition of initial sortable support. * gtk/gtktreestore.c: Addition of initial sortable support. * gtk/gtkliststore.c: Addition of initial sortable support. * gtk/gtkmarshal.list: yet another marshaller. * gtk/gtktreedatallist.[ch]: shared code between the store models for handling sorting headers.
Diffstat (limited to 'gtk/gtktreesortable.h')
-rw-r--r--gtk/gtktreesortable.h53
1 files changed, 39 insertions, 14 deletions
diff --git a/gtk/gtktreesortable.h b/gtk/gtktreesortable.h
index 8c7ed59b9e..85369b9bd7 100644
--- a/gtk/gtktreesortable.h
+++ b/gtk/gtktreesortable.h
@@ -28,39 +28,64 @@ extern "C" {
typedef enum
{
+ GTK_TREE_SORT_NONE,
GTK_TREE_SORT_ASCENDING,
GTK_TREE_SORT_DESCENDING
} GtkTreeSortOrder;
#define GTK_TYPE_TREE_SORTABLE (gtk_tree_sortable_get_type ())
#define GTK_TREE_SORTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TREE_SORTABLE, GtkTreeSortable))
+#define GTK_TREE_SORTABLE_CLASS(obj) (G_TYPE_CHECK_CLASS_CAST ((obj), GTK_TYPE_TREE_SORTABLE, GtkTreeSortableIface))
#define GTK_IS_TREE_SORTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TREE_SORTABLE))
#define GTK_TREE_SORTABLE_GET_IFACE(obj) ((GtkTreeSortableIface *)g_type_interface_peek (((GTypeInstance *)GTK_TREE_SORTABLE (obj))->g_class, GTK_TYPE_TREE_SORTABLE))
+
typedef struct _GtkTreeSortable GtkTreeSortable; /* Dummy typedef */
typedef struct _GtkTreeSortableIface GtkTreeSortableIface;
+typedef gint (* GtkTreeIterCompareFunc) (GtkTreeModel *model,
+ GtkTreeIter *a,
+ GtkTreeIter *b,
+ gpointer user_data);
+
+
struct _GtkTreeSortableIface
{
GTypeInterface g_iface;
- /* This one is a signal */
- void (* sort_column_changed) (GtkTreeSortable *sortable);
-
- /* virtual methods */
- gboolean (* column_sortable) (GtkTreeSortable *sortable,
- gint column,
- GtkTreeSortOrder order);
- void (* get_sort_column) (GtkTreeSortable *sortable,
- gint *column,
- GtkTreeSortOrder *order);
- void (* set_sort_column) (GtkTreeSortable *sortable,
- gint column,
- GtkTreeSortOrder order);
+ /* signals */
+ void (* sort_column_changed) (GtkTreeSortable *sortable);
+
+ /* virtual table */
+ gboolean (* get_sort_column_id) (GtkTreeSortable *sortable,
+ gint *sort_column_id,
+ GtkTreeSortOrder *order);
+ void (* set_sort_column_id) (GtkTreeSortable *sortable,
+ gint sort_column_id,
+ GtkTreeSortOrder order);
+ void (* sort_column_id_set_func) (GtkTreeSortable *sortable,
+ gint sort_column_id,
+ GtkTreeIterCompareFunc func,
+ gpointer data,
+ GtkDestroyNotify destroy);
};
-GType gtk_tree_sortable_get_type (void) G_GNUC_CONST;
+GType gtk_tree_sortable_get_type (void) G_GNUC_CONST;
+
+gboolean gtk_tree_sortable_get_sort_id (GtkTreeSortable *sortable,
+ gint *sort_column_id,
+ GtkTreeSortOrder *order);
+void gtk_tree_sortable_set_sort_id (GtkTreeSortable *sortable,
+ gint sort_column_id,
+ GtkTreeSortOrder order);
+void gtk_tree_sortable_sort_id_set_func (GtkTreeSortable *sortable,
+ gint sort_column_id,
+ GtkTreeIterCompareFunc func,
+ gpointer data,
+ GtkDestroyNotify destroy);
+
+
#ifdef __cplusplus
}