diff options
author | Jonathan Blandford <jrb@redhat.com> | 2001-03-23 00:35:19 +0000 |
---|---|---|
committer | Jonathan Blandford <jrb@src.gnome.org> | 2001-03-23 00:35:19 +0000 |
commit | 21fd434c5f528546a35036b4cfce6a708a4c2762 (patch) | |
tree | 86ff9f050f2a04d6154d608e211c32b561f8ebfd /gtk/gtktreesortable.h | |
parent | 18b5348b4838c99b85f14e4f0e351facef26b261 (diff) | |
download | gtk+-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.h | 53 |
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 } |