#define __GTK_LIST_STORE_H__
#include <gtk/gtktreemodel.h>
+#include <gtk/gtktreesortable.h>
#ifdef __cplusplus
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);
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