* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
-
#ifndef __GTK_TREE_DATA_LIST_H__
#define __GTK_TREE_DATA_LIST_H__
-#include <glib.h>
-#include <gobject/gobject.h>
+#include <gtk/gtktreemodel.h>
+#include <gtk/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;
};
-/* FIXME: s/gtk/_gtk/g to make internal */
-void gtk_tree_data_list_push_allocator (GAllocator *allocator);
-void gtk_tree_data_list_pop_allocator (void);
-GtkTreeDataList *gtk_tree_data_list_alloc (void);
-void gtk_tree_data_list_free (GtkTreeDataList *list);
+typedef struct _GtkTreeDataSortHeader
+{
+ gint sort_column_id;
+ GtkTreeIterCompareFunc func;
+ gpointer data;
+ GDestroyNotify 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);
+void _gtk_tree_data_list_value_to_node (GtkTreeDataList *list,
+ GValue *value);
-void gtk_tree_data_list_node_to_value (GtkTreeDataList *list,
- GType type,
- GValue *value);
-void gtk_tree_data_list_value_to_node (GtkTreeDataList *list,
- 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);
+GList *_gtk_tree_data_list_set_header (GList *header_list,
+ gint sort_column_id,
+ GtkTreeIterCompareFunc func,
+ gpointer data,
+ GDestroyNotify destroy);
#endif /* __GTK_TREE_DATA_LIST_H__ */