aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-table-state.h
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/table/e-table-state.h')
-rw-r--r--widgets/table/e-table-state.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/widgets/table/e-table-state.h b/widgets/table/e-table-state.h
new file mode 100644
index 0000000000..0ef8471166
--- /dev/null
+++ b/widgets/table/e-table-state.h
@@ -0,0 +1,43 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+#ifndef _E_TABLE_STATE_H_
+#define _E_TABLE_STATE_H_
+
+#include <gtk/gtkobject.h>
+#include <gnome-xml/tree.h>
+#include <gal/e-table/e-table-sort-info.h>
+
+#define E_TABLE_STATE_TYPE (e_table_state_get_type ())
+#define E_TABLE_STATE(o) (GTK_CHECK_CAST ((o), E_TABLE_STATE_TYPE, ETableState))
+#define E_TABLE_STATE_CLASS(k) (GTK_CHECK_CLASS_CAST((k), E_TABLE_STATE_TYPE, ETableStateClass))
+#define E_IS_TABLE_STATE(o) (GTK_CHECK_TYPE ((o), E_TABLE_STATE_TYPE))
+#define E_IS_TABLE_STATE_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), E_TABLE_STATE_TYPE))
+
+typedef struct {
+ GtkObject base;
+
+ ETableSortInfo *sort_info;
+ int col_count;
+ int *columns;
+} ETableState;
+
+typedef struct {
+ GtkObjectClass parent_class;
+} ETableStateClass;
+
+GtkType e_table_state_get_type (void);
+ETableState *e_table_state_new (void);
+
+gboolean e_table_state_load_from_file (ETableState *state,
+ const char *filename);
+void e_table_state_load_from_string (ETableState *state,
+ const char *xml);
+void e_table_state_load_from_node (ETableState *state,
+ const xmlNode *node);
+
+void e_table_state_save_to_file (ETableState *state,
+ const char *filename);
+char *e_table_state_save_to_string (ETableState *state);
+xmlNode *e_table_state_save_to_node (ETableState *state,
+ xmlNode *parent);
+
+#endif /* _E_TABLE_STATE_H_ */