#define __GTK_TREE_DATA_LIST_H__
#include <glib.h>
-#include <gobject/gobject.h>
+#include <glib-object.h>
+#include "gtktreesortable.h"
typedef struct _GtkTreeDataList GtkTreeDataList;
struct _GtkTreeDataList
gint8 v_char;
guint8 v_uchar;
guint v_uint;
+ glong v_long;
+ gulong v_ulong;
+ gint64 v_int64;
+ guint64 v_uint64;
gfloat v_float;
+ gdouble v_double;
gpointer v_pointer;
} data;
};
-void _gtk_tree_data_list_push_allocator (GAllocator *allocator);
-void _gtk_tree_data_list_pop_allocator (void);
+typedef struct _GtkTreeDataSortHeader
+{
+ gint sort_column_id;
+ GtkTreeIterCompareFunc func;
+ gpointer data;
+ GtkDestroyNotify destroy;
+} GtkTreeDataSortHeader;
+
GtkTreeDataList *_gtk_tree_data_list_alloc (void);
void _gtk_tree_data_list_free (GtkTreeDataList *list,
GType *column_headers);
+gboolean _gtk_tree_data_list_check_type (GType type);
void _gtk_tree_data_list_node_to_value (GtkTreeDataList *list,
GType type,
GValue *value);
GtkTreeDataList *_gtk_tree_data_list_node_copy (GtkTreeDataList *list,
GType type);
+/* Header code */
+gint _gtk_tree_data_list_compare_func (GtkTreeModel *model,
+ GtkTreeIter *a,
+ GtkTreeIter *b,
+ gpointer user_data);
+GList * _gtk_tree_data_list_header_new (gint n_columns,
+ GType *types);
+void _gtk_tree_data_list_header_free (GList *header_list);
+GtkTreeDataSortHeader *_gtk_tree_data_list_get_header (GList *header_list,
+ gint sort_column_id);
+
#endif /* __GTK_TREE_DATA_LIST_H__ */