aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/e-table-group.h
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/e-table-group.h')
-rw-r--r--widgets/e-table-group.h36
1 files changed, 23 insertions, 13 deletions
diff --git a/widgets/e-table-group.h b/widgets/e-table-group.h
index 62bc11093f..18f4b710b1 100644
--- a/widgets/e-table-group.h
+++ b/widgets/e-table-group.h
@@ -1,25 +1,35 @@
#ifndef _E_TABLE_TREE_H_
#define _E_TABLE_TREE_H_
+#include <libgnomeui/gnome-canvas.h>
#include "e-table-model.h"
+#include "e-table-header.h"
-typedef struct {
- char *title;
+#define E_TABLE_GROUP_TYPE (e_table_group_get_type ())
+#define E_TABLE_GROUP(o) (GTK_CHECK_CAST ((o), E_TABLE_GROUP_TYPE, ETableGroup))
+#define E_TABLE_GROUP_CLASS(k) (GTK_CHECK_CLASS_CAST((k), E_TABLE_GROUP_TYPE, ETableGroupClass))
+#define E_IS_TABLE_GROUP(o) (GTK_CHECK_TYPE ((o), E_TABLE_GROUP_TYPE))
+#define E_IS_TABLE_GROUP_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), E_TABLE_GROUP_TYPE))
- union {
- ETableModel *table;
- GSList *children;
- } u;
+typedef struct {
+ GnomeCanvasGroup group;
- guint expanded :1;
- guint is_leaf :1;
+ ETableHeader *header;
+ ETableCol *ecol;
+ int col;
+ int open;
+ GnomeCanvasItem *rect, *child;
} ETableGroup;
-ETableGroup *e_table_group_new (ETableCol *ecol, ETableItem *item
-ETableGroup *e_table_group_new_leaf (const char *title, ETableModel *table);
-void e_table_group_destroy (ETableGroup *etg);
+typedef struct {
+ GnomeCanvasGroupClass parent_class;
+} ETableGroupClass;
-int e_table_group_size (ETableGroup *egroup);
-void e_table_group_append_child (ETableGroup *etg, ETableGroup *child);
+GnomeCanvasItem *e_table_group_new (GnomeCanvasGroup *parent, ETableHeader *header,
+ int col, GnomeCanvasItem *child, int open);
+void e_table_group_construct (GnomeCanvasGroup *parent, ETableGroup *etg,
+ ETableHeader *header, int col,
+ GnomeCanvasItem *child, int open);
+GtkType e_table_group_get_type (void);
#endif /* _E_TABLE_TREE_H_ */