aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-table.h
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/table/e-table.h')
-rw-r--r--widgets/table/e-table.h164
1 files changed, 86 insertions, 78 deletions
diff --git a/widgets/table/e-table.h b/widgets/table/e-table.h
index d5462ce65c..933f0f5155 100644
--- a/widgets/table/e-table.h
+++ b/widgets/table/e-table.h
@@ -11,6 +11,7 @@
#include <gal/e-table/e-table-sort-info.h>
#include <gal/e-table/e-table-item.h>
#include <gal/e-table/e-table-selection-model.h>
+#include <gal/e-table/e-table-extras.h>
#include <gal/widgets/e-printable.h>
BEGIN_GNOME_DECLS
@@ -156,103 +157,110 @@ typedef struct {
guint time);
} ETableClass;
-GtkType e_table_get_type (void);
-
-ETable *e_table_construct (ETable *e_table, ETableHeader *full_header, ETableModel *etm,
- const char *spec);
-GtkWidget *e_table_new (ETableHeader *full_header, ETableModel *etm,
- const char *spec);
-
-ETable *e_table_construct_from_spec_file (ETable *e_table,
- ETableHeader *full_header,
- ETableModel *etm,
- const char *filename);
-GtkWidget *e_table_new_from_spec_file (ETableHeader *full_header,
- ETableModel *etm,
- const char *filename);
-
-gchar *e_table_get_specification (ETable *e_table);
-void e_table_save_specification (ETable *e_table, gchar *filename);
-/* note that it is more efficient to provide the spec at creation time */
-int e_table_set_specification (ETable *e_table, const char *spec);
-int e_table_load_specification (ETable *e_table, gchar *filename);
-
-void e_table_set_cursor_row (ETable *e_table,
- int row);
+GtkType e_table_get_type (void);
+
+ETable *e_table_construct (ETable *e_table,
+ ETableModel *etm,
+ ETableExtras *ete,
+ const char *spec,
+ const char *state);
+GtkWidget *e_table_new (ETableModel *etm,
+ ETableExtras *ete,
+ const char *spec,
+ const char *state);
+
+/* Create an ETable using files. */
+ETable *e_table_construct_from_spec_file (ETable *e_table,
+ ETableModel *etm,
+ ETableExtras *ete,
+ const char *spec_fn,
+ const char *state_fn);
+GtkWidget *e_table_new_from_spec_file (ETableModel *etm,
+ ETableExtras *ete,
+ const char *spec_fn,
+ const char *state_fn);
+
+/* To save the state */
+gchar *e_table_get_state (ETable *e_table);
+void e_table_save_state (ETable *e_table,
+ const gchar *filename);
+
+/* note that it is more efficient to provide the state at creation time */
+void e_table_set_state (ETable *e_table,
+ const gchar *state);
+void e_table_load_state (ETable *e_table,
+ const gchar *filename);
+
+void e_table_set_cursor_row (ETable *e_table,
+ int row);
+
/* -1 means we don't have the cursor. */
-int e_table_get_cursor_row (ETable *e_table);
-void e_table_selected_row_foreach (ETable *e_table,
- ETableForeachFunc callback,
- gpointer closure);
-EPrintable *e_table_get_printable (ETable *e_table);
+int e_table_get_cursor_row (ETable *e_table);
+void e_table_selected_row_foreach (ETable *e_table,
+ ETableForeachFunc callback,
+ gpointer closure);
+EPrintable *e_table_get_printable (ETable *e_table);
-gint e_table_get_next_row (ETable *e_table,
- gint model_row);
-gint e_table_get_prev_row (ETable *e_table,
- gint model_row);
+gint e_table_get_next_row (ETable *e_table,
+ gint model_row);
+gint e_table_get_prev_row (ETable *e_table,
+ gint model_row);
-gint e_table_model_to_view_row (ETable *e_table,
- gint model_row);
-gint e_table_view_to_model_row (ETable *e_table,
- gint view_row);
+gint e_table_model_to_view_row (ETable *e_table,
+ gint model_row);
+gint e_table_view_to_model_row (ETable *e_table,
+ gint view_row);
/* Drag & drop stuff. */
/* Target */
-void e_table_drag_get_data (ETable *table,
- int row,
- int col,
- GdkDragContext *context,
- GdkAtom target,
- guint32 time);
-
-void e_table_drag_highlight (ETable *table,
- int row,
- int col); /* col == -1 to highlight entire row. */
-void e_table_drag_unhighlight (ETable *table);
-
-void e_table_drag_dest_set (ETable *table,
- GtkDestDefaults flags,
- const GtkTargetEntry *targets,
- gint n_targets,
- GdkDragAction actions);
-
-void e_table_drag_dest_set_proxy (ETable *table,
- GdkWindow *proxy_window,
- GdkDragProtocol protocol,
- gboolean use_coordinates);
+void e_table_drag_get_data (ETable *table,
+ int row,
+ int col,
+ GdkDragContext *context,
+ GdkAtom target,
+ guint32 time);
+void e_table_drag_highlight (ETable *table,
+ int row,
+ int col); /* col == -1 to highlight entire row. */
+void e_table_drag_unhighlight (ETable *table);
+void e_table_drag_dest_set (ETable *table,
+ GtkDestDefaults flags,
+ const GtkTargetEntry *targets,
+ gint n_targets,
+ GdkDragAction actions);
+void e_table_drag_dest_set_proxy (ETable *table,
+ GdkWindow *proxy_window,
+ GdkDragProtocol protocol,
+ gboolean use_coordinates);
/* There probably should be functions for setting the targets
* as a GtkTargetList
*/
-
-void e_table_drag_dest_unset (GtkWidget *widget);
+void e_table_drag_dest_unset (GtkWidget *widget);
/* Source side */
-
-void e_table_drag_source_set (ETable *table,
- GdkModifierType start_button_mask,
- const GtkTargetEntry *targets,
- gint n_targets,
- GdkDragAction actions);
-
-void e_table_drag_source_unset (ETable *table);
+void e_table_drag_source_set (ETable *table,
+ GdkModifierType start_button_mask,
+ const GtkTargetEntry *targets,
+ gint n_targets,
+ GdkDragAction actions);
+void e_table_drag_source_unset (ETable *table);
/* There probably should be functions for setting the targets
* as a GtkTargetList
*/
-
-GdkDragContext *e_table_drag_begin (ETable *table,
- int row,
- int col,
- GtkTargetList *targets,
- GdkDragAction actions,
- gint button,
- GdkEvent *event);
+GdkDragContext *e_table_drag_begin (ETable *table,
+ int row,
+ int col,
+ GtkTargetList *targets,
+ GdkDragAction actions,
+ gint button,
+ GdkEvent *event);
/* selection stuff */
-void e_table_select_all (ETable *table);
-void e_table_invert_selection (ETable *table);
+void e_table_select_all (ETable *table);
+void e_table_invert_selection (ETable *table);
END_GNOME_DECLS