## ETableGroupContainer ETableGroupContainer |

## Functions

ETableGroup * | e_table_group_container_new ()
void | e_table_group_container_construct ()
gboolean | e_table_group_container_is_editing ()

## Types and Values

struct | ETableGroupContainerChildNode
struct | ETableGroupContainer

## Description

## Functions

### e_table_group_container_new ()

    ETableGroup *
    e_table_group_container_new (GnomeCanvasGroup *parent,
                                 ETableHeader *full_header,
                                 ETableHeader *header,
                                 ETableModel *model,
                                 ETableSortInfo *sort_info,
                                 gint n);

`ETableGroupContainer` is an `ETableGroup` which groups by the nth grouping of the `ETableSortInfo`. It creates `ETableGroups` as children.

#### Parameters

parent | The `GnomeCanvasGroup` to create a child of. |
full_header | The full header of the `ETable`. |
header | The current header of the `ETable`. |
model | The `ETableModel` of the `ETable`. |
sort_info | The `ETableSortInfo` of the `ETable`. |
n | Which grouping level this is (Starts at 0 and sends n + 1 to any child `ETableGroups`. |

#### Returns

The new `ETableGroupContainer`.

### e_table_group_container_construct ()

    void
    e_table_group_container_construct (GnomeCanvasGroup *parent,
                                       ETableGroupContainer *etgc,
                                       ETableHeader *full_header,
                                       ETableHeader *header,
                                       ETableModel *model,
                                       ETableSortInfo *sort_info,
                                       gint n);

This routine constructs the new `ETableGroupContainer`.

#### Parameters

parent | The `GnomeCanvasGroup` to create a child of. |
etgc | The `ETableGroupContainer`. |
full_header | The full header of the `ETable`. |
header | The current header of the `ETable`. |
model | The `ETableModel` of the `ETable`. |
sort_info | The `ETableSortInfo` of the `ETable`. |
n | Which grouping level this is (Starts at 0 and sends n + 1 to any child `ETableGroups`. |

### e_table_group_container_is_editing ()

    gboolean
    e_table_group_container_is_editing (ETableGroupContainer *etgc);

## Types and Values

### struct ETableGroupContainerChildNode

    struct ETableGroupContainerChildNode {
    	ETableGroup *child;
    	gpointer key;
    	gchar *string;
    	GnomeCanvasItem *text;
    	GnomeCanvasItem *rect;
    	gint count;
    };

### struct ETableGroupContainer

    struct ETableGroupContainer {
    	ETableGroup group;

    	/*
    	 * The ETableCol used to group this set
    	 */
    	ETableCol *ecol;
    	gint ascending;

    	/*
    	 * List of ETableGroups we stack
    	 */
    	GList *children;

    	/*
    	 * The canvas rectangle that contains the children
    	 */
    	GnomeCanvasItem *rect;

    	PangoFontDescription *font_desc;

    	gdouble width, height, minimum_width;

    	ETableSortInfo *sort_info;
    	gint n;
    	gint length_threshold;

    	ESelectionModel *selection_model;

    	guint alternating_row_colors : 1;
    	guint horizontal_draw_grid : 1;
    	guint vertical_draw_grid : 1;
    	guint draw_focus : 1;
    	guint uniform_row_height : 1;
    	ECursorMode cursor_mode;

    	/*
    	 * State: the ETableGroup is open or closed
    	 */
    	guint open : 1;
    };