# ETableGroupContainer

## Name

ETableGroupContainer --

## Synopsis

    #define     E_TABLE_GROUP_CONTAINER_TYPE
    typedef     ETableGroupContainer;
    ETableGroup* e_table_group_container_new    (GnomeCanvasGroup *parent,
                                                 ETableHeader *full_header,
                                                 ETableHeader *header,
                                                 ETableModel *model,
                                                 ETableSortInfo *sort_info,
                                                 int n);
    void        e_table_group_container_construct
                                                (GnomeCanvasGroup *parent,
                                                 ETableGroupContainer *etgc,
                                                 ETableHeader *full_header,
                                                 ETableHeader *header,
                                                 ETableModel *model,
                                                 ETableSortInfo *sort_info,
                                                 int n);

## Object Hierarchy

      GtkObject
       +----GnomeCanvasItem
             +----GnomeCanvasGroup
                   +----ETableGroup
                         +----ETableGroupContainer

## Properties

      "drawgrid"             gboolean              : Write
      "drawfocus"            gboolean              : Write
      "cursor-mode"          gint                  : Write
      "table-selection-model" GtkObject             : Write
      "length-threshold"     gint                  : Write
      "frozen"               gboolean              : Read / Write
      "height"               gdouble               : Read
      "width"                gdouble               : Read / Write
      "minimum-width"        gdouble               : Read / Write

## Description

## Details

### E_TABLE_GROUP_CONTAINER_TYPE

    #define E_TABLE_GROUP_CONTAINER_TYPE        (e_table_group_container_get_type ())

### ETableGroupContainer

    typedef struct {
    	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;

    	GdkFont *font;

    	gdouble width, height, minimum_width;

    	ETableSortInfo *sort_info;
    	int n;
    	int length_threshold;

    	ETableSelectionModel *table_selection_model;

    	guint draw_grid : 1;
    	guint draw_focus : 1;
    	ETableCursorMode cursor_mode;

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

### e_table_group_container_new ()

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

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

`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,
                                                 int n);

This routine constructs the new `ETableGroupContainer`.

`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`.

## Properties

### The "`drawgrid`" property

      "drawgrid"             gboolean              : Write

### The "`drawfocus`" property

      "drawfocus"            gboolean              : Write

### The "`cursor-mode`" property

      "cursor-mode"          gint                  : Write

### The "`table-selection-model`" property

      "table-selection-model" GtkObject             : Write

### The "`length-threshold`" property

      "length-threshold"     gint                  : Write

### The "`frozen`" property

      "frozen"               gboolean              : Read / Write

### The "`height`" property

      "height"               gdouble               : Read

### The "`width`" property

      "width"                gdouble               : Read / Write

### The "`minimum-width`" property

      "minimum-width"        gdouble               : Read / Write