]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkliststore.h
queue a resize here; will temporarily slow down the widget a lot, until we
[~andy/gtk] / gtk / gtkliststore.h
index ff01ea37fc59bb1c56c64563a28525753ab54e43..10364ac2b15481c674e0efea28a86f3b36eb43e0 100644 (file)
@@ -21,6 +21,7 @@
 #define __GTK_LIST_STORE_H__
 
 #include <gtk/gtktreemodel.h>
+#include <gtk/gtktreesortable.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -28,54 +29,45 @@ extern "C" {
 
 #define GTK_TYPE_LIST_STORE           (gtk_list_store_get_type ())
 #define GTK_LIST_STORE(obj)           (GTK_CHECK_CAST ((obj), GTK_TYPE_LIST_STORE, GtkListStore))
-#define GTK_LIST_STORE_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_LISTSTORE, GtkListStoreClass))
+#define GTK_LIST_STORE_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_LIST_STORE, GtkListStoreClass))
 #define GTK_IS_LIST_STORE(obj)        (GTK_CHECK_TYPE ((obj), GTK_TYPE_LIST_STORE))
 #define GTK_IS_LIST_STORE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), GTK_TYPE_LIST_STORE))
+#define GTK_LIST_STORE_GET_CLASS(obj)  (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_LIST_STORE, GtkListStoreClass))
 
 typedef struct _GtkListStore       GtkListStore;
 typedef struct _GtkListStoreClass  GtkListStoreClass;
 
 struct _GtkListStore
 {
-  GtkObject parent;
+  GObject parent;
 
   /*< private >*/
   gint stamp;
   gpointer root;
+  gpointer tail;
+  GList *sort_list;
   gint n_columns;
+  gint sort_column_id;
+  GtkSortType order;
   GType *column_headers;
+  gint length;
+  GtkTreeIterCompareFunc default_sort_func;
+  gpointer default_sort_data;
+  GtkDestroyNotify default_sort_destroy;
 };
 
 struct _GtkListStoreClass
 {
-  GtkObjectClass parent_class;
-
-  /* signals */
-  /* Will be moved into the GtkTreeModelIface eventually */
-  void (* changed)       (GtkTreeModel *tree_model,
-                         GtkTreePath  *path,
-                         GtkTreeIter  *iter);
-  void (* inserted)      (GtkTreeModel *tree_model,
-                         GtkTreePath  *path,
-                         GtkTreeIter  *iter);
-  void (* child_toggled) (GtkTreeModel *tree_model,
-                         GtkTreePath  *path,
-                         GtkTreeIter  *iter);
-  void (* deleted)       (GtkTreeModel *tree_model,
-                         GtkTreePath  *path);
+  GObjectClass parent_class;
 };
 
 
 GtkType       gtk_list_store_get_type        (void);
-GtkListStore *gtk_list_store_new             (void);
-GtkListStore *gtk_list_store_new_with_types  (gint          n_columns,
+GtkListStore *gtk_list_store_new             (gint          n_columns,
                                              ...);
-void          gtk_list_store_set_n_columns   (GtkListStore *store,
-                                             gint          n_columns);
-void          gtk_list_store_set_column_type (GtkListStore *store,
-                                             gint          column,
-                                             GType         type);
-void          gtk_list_store_set_cell        (GtkListStore *store,
+GtkListStore *gtk_list_store_newv            (gint          n_columns,
+                                             GType        *types);
+void          gtk_list_store_set_value       (GtkListStore *list_store,
                                              GtkTreeIter  *iter,
                                              gint          column,
                                              GValue       *value);
@@ -85,28 +77,22 @@ void          gtk_list_store_set             (GtkListStore *list_store,
 void          gtk_list_store_set_valist      (GtkListStore *list_store,
                                              GtkTreeIter  *iter,
                                              va_list       var_args);
-void          gtk_list_store_get             (GtkListStore *list_store,
-                                             GtkTreeIter  *iter,
-                                             ...);
-void          gtk_list_store_get_valist      (GtkListStore *list_store,
-                                             GtkTreeIter  *iter,
-                                             va_list       var_args);
-void          gtk_list_store_remove          (GtkListStore *store,
+void          gtk_list_store_remove          (GtkListStore *list_store,
                                              GtkTreeIter  *iter);
-void          gtk_list_store_insert          (GtkListStore *store,
+void          gtk_list_store_insert          (GtkListStore *list_store,
                                              GtkTreeIter  *iter,
                                              gint          position);
-void          gtk_list_store_insert_before   (GtkListStore *store,
+void          gtk_list_store_insert_before   (GtkListStore *list_store,
                                              GtkTreeIter  *iter,
                                              GtkTreeIter  *sibling);
-void          gtk_list_store_insert_after    (GtkListStore *store,
+void          gtk_list_store_insert_after    (GtkListStore *list_store,
                                              GtkTreeIter  *iter,
                                              GtkTreeIter  *sibling);
-void          gtk_list_store_prepend         (GtkListStore *store,
+void          gtk_list_store_prepend         (GtkListStore *list_store,
                                              GtkTreeIter  *iter);
-void          gtk_list_store_append          (GtkListStore *store,
+void          gtk_list_store_append          (GtkListStore *list_store,
                                              GtkTreeIter  *iter);
-
+void          gtk_list_store_clear           (GtkListStore *list_store);
 
 
 #ifdef __cplusplus