diff options
Diffstat (limited to 'widgets/e-table/e-table-group.h')
-rw-r--r-- | widgets/e-table/e-table-group.h | 36 |
1 files changed, 23 insertions, 13 deletions
diff --git a/widgets/e-table/e-table-group.h b/widgets/e-table/e-table-group.h index 62bc11093f..18f4b710b1 100644 --- a/widgets/e-table/e-table-group.h +++ b/widgets/e-table/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_ */ |