## ETableGroup ETableGroup |

## Functions

ETableGroup * | e_table_group_new ()
void | e_table_group_construct ()
void | e_table_group_add ()
void | e_table_group_add_array ()
void | e_table_group_add_all ()
gboolean | e_table_group_remove ()
void | e_table_group_increment ()
void | e_table_group_decrement ()
gint | e_table_group_row_count ()
void | e_table_group_set_focus ()
gboolean | e_table_group_get_focus ()
gint | e_table_group_get_focus_column ()
ETableHeader * | e_table_group_get_header ()
EPrintable * | e_table_group_get_printable ()
void | e_table_group_compute_location ()
void | e_table_group_get_mouse_over ()
void | e_table_group_get_cell_geometry ()
void | e_table_group_cursor_change ()
void | e_table_group_cursor_activated ()
void | e_table_group_double_click ()
gboolean | e_table_group_right_click ()
gboolean | e_table_group_click ()
gboolean | e_table_group_key_press ()
gint | e_table_group_start_drag ()
void | (*ETableGroupLeafFn) ()
void | e_table_group_apply_to_leafs ()
gboolean | e_table_group_is_editing ()

## Properties

gboolean | is-editing | Read

## Signals

gboolean | click | Run Last
void | cursor-activated | Run Last
void | cursor-change | Run Last
void | double-click | Run Last
gboolean | key-press | Run Last
gboolean | right-click | Run Last
gboolean | start-drag | Run Last

## Types and Values

struct | ETableGroup
enum | EFocus

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GnomeCanvasItem
                ╰── GnomeCanvasGroup
                    ╰── ETableGroup
                        ╰── ETableGroupLeaf

## Description

## Functions

### e_table_group_new ()

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

ETableGroup is a collection of rows of an ETable. It's a `GnomeCanvasItem`. There are two different forms. If n < the number of groupings in the given ETableSortInfo, then the ETableGroup will need to contain other ETableGroups, thus it creates an ETableGroupContainer. Otherwise, it will just contain an ETableItem, and thus it creates an ETableGroupLeaf.

#### 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 | The grouping information object to group by. |

#### Returns

The new ETableGroup.

### e_table_group_construct ()

    void
    e_table_group_construct (GnomeCanvasGroup *parent,
                             ETableGroup *table_group,
                             ETableHeader *full_header,
                             ETableHeader *header,
                             ETableModel *model);

This routine does the base construction of the ETableGroup.

#### Parameters

parent | The `GnomeCanvasGroup` to create a child of. |
table_group | The ETableGroup to construct. |
full_header | The full header of the ETable. |
header | The current header of the ETable. |
model | The ETableModel of the ETable. |

### e_table_group_add ()

    void
    e_table_group_add (ETableGroup *table_group,
                       gint row);

This routine adds the given row from the ETableModel to this set of rows.

#### Parameters

table_group | The ETableGroup to add a row to |
row | The row to add. |

### e_table_group_add_array ()

    void
    e_table_group_add_array (ETableGroup *table_group,
                             const gint *array,
                             gint count);

This routine adds all the rows in the array to this set of rows. It assumes that the array is already sorted properly.

#### Parameters

table_group | The ETableGroup to add to |
array | The array to add. |
count | The number of times to add |

### e_table_group_add_all ()

    void
    e_table_group_add_all (ETableGroup *table_group);

This routine adds all the rows from the ETableModel to this set of rows.

#### Parameters

table_group | The ETableGroup to add to |

### e_table_group_remove ()

    gboolean
    e_table_group_remove (ETableGroup *table_group,
                          gint row);

This routine removes the given row from the ETableModel from this set of rows.

#### Parameters

table_group | The ETableGroup to remove a row from |
row | The row to remove. |

#### Returns

TRUE if the row was deleted and FALSE if the row was not found.

### e_table_group_increment ()

    void
    e_table_group_increment (ETableGroup *table_group,
                             gint position,
                             gint amount);

This routine calculates the number of rows shown in this group.

#### Parameters

table_group | The ETableGroup to count |

#### Returns

The number of rows.

### e_table_group_decrement ()

    void
    e_table_group_decrement (ETableGroup *table_group,
                             gint position,
                             gint amount);

### e_table_group_row_count ()

    gint
    e_table_group_row_count (ETableGroup *table_group);

### e_table_group_set_focus ()

    void
    e_table_group_set_focus (ETableGroup *table_group,
                             EFocus direction,
                             gint view_col);

Sets the focus to this widget. Places the focus in the view column coming from direction direction.

#### Parameters

table_group | The ETableGroup to set |
direction | The direction the focus is coming from. |
view_col | The column to set the focus in. |

### e_table_group_get_focus ()

    gboolean
    e_table_group_get_focus (ETableGroup *table_group);

Calculates if this group has the focus.

#### Parameters

table_group | The ETableGroup to check |

#### Returns

TRUE if this group has the focus.

### e_table_group_get_focus_column ()

    gint
    e_table_group_get_focus_column (ETableGroup *table_group);

Calculates which column in this group has the focus.

#### Parameters

table_group | The ETableGroup to check |

#### Returns

The column index (view column).

### e_table_group_get_header ()

    ETableHeader *
    e_table_group_get_header (ETableGroup *table_group);

This routine returns the ETableGroup's header.

#### Parameters

table_group | ETableGroup to check |

#### Returns

The ETableHeader.

### e_table_group_get_printable ()

    EPrintable *
    e_table_group_get_printable (ETableGroup *table_group);

This routine creates and returns an `EPrintable` that can be used to print the given ETableGroup.

#### Parameters

table_group | ETableGroup which will be printed |

#### Returns

The `EPrintable`.

### e_table_group_compute_location ()

    void
    e_table_group_compute_location (ETableGroup *table_group,
                                    gint *x,
                                    gint *y,
                                    gint *row,
                                    gint *col);

This routine locates the pixel location (*x, *y) in the ETableGroup. If that location is in the ETableGroup, *row and *col are set to the view row and column where it was found. If that location is not in the ETableGroup, the height of the ETableGroup is removed from the value y points to.

#### Parameters

table_group | ETableGroup to look in. |
x | A pointer to the x location to find in the ETableGroup. |
y | A pointer to the y location to find in the ETableGroup. |
row | A pointer to the location to store the found row in. |
col | A pointer to the location to store the found col in. |

### e_table_group_get_mouse_over ()

    void
    e_table_group_get_mouse_over (ETableGroup *table_group,
                                  gint *row,
                                  gint *col);

### e_table_group_get_cell_geometry ()

    void
    e_table_group_get_cell_geometry (ETableGroup *table_group,
                                     gint *row,
                                     gint *col,
                                     gint *x,
                                     gint *y,
                                     gint *width,
                                     gint *height);

### e_table_group_cursor_change ()

    void
    e_table_group_cursor_change (ETableGroup *table_group,
                                 gint row);

This routine emits the "cursor_change" signal.

#### Parameters

table_group | ETableGroup to emit the signal on |
row | The new cursor row (model row) |

### e_table_group_cursor_activated ()

    void
    e_table_group_cursor_activated (ETableGroup *table_group,
                                    gint row);

This routine emits the "cursor_activated" signal.

#### Parameters

table_group | ETableGroup to emit the signal on |
row | The cursor row (model row) |

### e_table_group_double_click ()

    void
    e_table_group_double_click (ETableGroup *table_group,
                                gint row,
                                gint col,
                                GdkEvent *event);

This routine emits the "double_click" signal.

#### Parameters

table_group | ETableGroup to emit the signal on |
row | The row clicked on (model row) |
col | The col clicked on (model col) |
event | The event that caused this signal |

### e_table_group_right_click ()

    gboolean
    e_table_group_right_click (ETableGroup *table_group,
                               gint row,
                               gint col,
                               GdkEvent *event);

This routine emits the "right_click" signal.

#### Parameters

table_group | ETableGroup to emit the signal on |
row | The row clicked on (model row) |
col | The col clicked on (model col) |
event | The event that caused this signal |

### e_table_group_click ()

    gboolean
    e_table_group_click (ETableGroup *table_group,
                         gint row,
                         gint col,
                         GdkEvent *event);

This routine emits the "click" signal.

#### Parameters

table_group | ETableGroup to emit the signal on |
row | The row clicked on (model row) |
col | The col clicked on (model col) |
event | The event that caused this signal |

### e_table_group_key_press ()

    gboolean
    e_table_group_key_press (ETableGroup *table_group,
                             gint row,
                             gint col,
                             GdkEvent *event);

This routine emits the "key_press" signal.

#### Parameters

table_group | ETableGroup to emit the signal on |
row | The cursor row (model row) |
col | The cursor col (model col) |
event | The event that caused this signal |

### e_table_group_start_drag ()

    gint
    e_table_group_start_drag (ETableGroup *table_group,
                              gint row,
                              gint col,
                              GdkEvent *event);

This routine emits the "start_drag" signal.

#### Parameters

table_group | ETableGroup to emit the signal on |
row | The cursor row (model row) |
col | The cursor col (model col) |
event | The event that caused this signal |

### ETableGroupLeafFn ()

    void
    (*ETableGroupLeafFn) (gpointer e_table_item,
                          gpointer closure);

### e_table_group_apply_to_leafs ()

    void
    e_table_group_apply_to_leafs (ETableGroup *table_group,
                                  ETableGroupLeafFn fn,
                                  gpointer closure);

### e_table_group_is_editing ()

    gboolean
    e_table_group_is_editing (ETableGroup *table_group);

## Types and Values

### struct ETableGroup

    struct ETableGroup;

### enum EFocus

#### Members

E_FOCUS_NONE |  |
E_FOCUS_CURRENT |  |
E_FOCUS_START |  |
E_FOCUS_END |  |

## Property Details

### The `“is-editing”` property

      “is-editing”               gboolean

Whether is in an editing mode.

Flags: Read

Default value: FALSE

## Signal Details

### The `“click”` signal

    gboolean
    user_function (ETableGroup *etablegroup,
                   gint         arg1,
                   gint         arg2,
                   GdkEvent    *arg3,
                   gpointer     user_data)

Flags: Run Last

### The `“cursor-activated”` signal

    void
    user_function (ETableGroup *etablegroup,
                   gint         arg1,
                   gpointer     user_data)

Flags: Run Last

### The `“cursor-change”` signal

    void
    user_function (ETableGroup *etablegroup,
                   gint         arg1,
                   gpointer     user_data)

Flags: Run Last

### The `“double-click”` signal

    void
    user_function (ETableGroup *etablegroup,
                   gint         arg1,
                   gint         arg2,
                   GdkEvent    *arg3,
                   gpointer     user_data)

Flags: Run Last

### The `“key-press”` signal

    gboolean
    user_function (ETableGroup *etablegroup,
                   gint         arg1,
                   gint         arg2,
                   GdkEvent    *arg3,
                   gpointer     user_data)

Flags: Run Last

### The `“right-click”` signal

    gboolean
    user_function (ETableGroup *etablegroup,
                   gint         arg1,
                   gint         arg2,
                   GdkEvent    *arg3,
                   gpointer     user_data)

Flags: Run Last

### The `“start-drag”` signal

    gboolean
    user_function (ETableGroup *etablegroup,
                   gint         arg1,
                   gint         arg2,
                   GdkEvent    *arg3,
                   gpointer     user_data)

Flags: Run Last