ETableGroup

Name

ETableGroup -- 

Synopsis



#define     E_TABLE_GROUP_TYPE
typedef     ETableGroup;
void        e_table_group_add               (ETableGroup *etg,
                                             gint row);
void        e_table_group_add_all           (ETableGroup *etg);
gboolean    e_table_group_remove            (ETableGroup *etg,
                                             gint row);
gint        e_table_group_get_count         (ETableGroup *etg);
void        e_table_group_increment         (ETableGroup *etg,
                                             gint position,
                                             gint amount);
void        e_table_group_decrement         (ETableGroup *etg,
                                             gint position,
                                             gint amount);
gint        e_table_group_row_count         (ETableGroup *etg);
void        e_table_group_set_focus         (ETableGroup *etg,
                                             EFocus direction,
                                             gint view_col);
void        e_table_group_set_cursor_row    (ETableGroup *etg,
                                             gint row);
int         e_table_group_get_cursor_row    (ETableGroup *etg);
gboolean    e_table_group_get_focus         (ETableGroup *etg);
gint        e_table_group_get_focus_column  (ETableGroup *etg);
ETableHeader* e_table_group_get_header      (ETableGroup *etg);
ETableCol*  e_table_group_get_ecol          (ETableGroup *etg);
EPrintable* e_table_group_get_printable     (ETableGroup *etg);
void        e_table_group_compute_location  (ETableGroup *etg,
                                             int *x,
                                             int *y,
                                             int *row,
                                             int *col);
ETableGroup* e_table_group_new              (const char *title,
                                             ETableModel *table);
void        e_table_group_construct         (GnomeCanvasGroup *parent,
                                             ETableGroup *etg,
                                             ETableHeader *full_header,
                                             ETableHeader *header,
                                             ETableModel *model);
void        e_table_group_cursor_change     (ETableGroup *etg,
                                             gint row);
void        e_table_group_double_click      (ETableGroup *etg,
                                             gint row,
                                             gint col,
                                             GdkEvent *event);
gint        e_table_group_right_click       (ETableGroup *etg,
                                             gint row,
                                             gint col,
                                             GdkEvent *event);
gint        e_table_group_click             (ETableGroup *etg,
                                             gint row,
                                             gint col,
                                             GdkEvent *event);
gint        e_table_group_key_press         (ETableGroup *etg,
                                             gint row,
                                             gint col,
                                             GdkEvent *event);
void        (*ETableGroupLeafFn)            (void *e_table_item,
                                             void *closure);
void        e_table_group_apply_to_leafs    (ETableGroup *etg,
                                             ETableGroupLeafFn fn,
                                             void *closure);

Object Hierarchy


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

Signal Prototypes


"cursor-change"
            void        user_function      (ETableGroup *etablegroup,
                                            gint arg1,
                                            gpointer user_data);
"double-click"
            void        user_function      (ETableGroup *etablegroup,
                                            gint arg1,
                                            gint arg2,
                                            gpointer arg3,
                                            gpointer user_data);
"right-click"
            gint        user_function      (ETableGroup *etablegroup,
                                            gint arg1,
                                            gint arg2,
                                            gpointer arg3,
                                            gpointer user_data);
"click"     gint        user_function      (ETableGroup *etablegroup,
                                            gint arg1,
                                            gint arg2,
                                            gpointer arg3,
                                            gpointer user_data);
"key-press" gint        user_function      (ETableGroup *etablegroup,
                                            gint arg1,
                                            gint arg2,
                                            gpointer arg3,
                                            gpointer user_data);

Description

Details

E_TABLE_GROUP_TYPE

#define E_TABLE_GROUP_TYPE        (e_table_group_get_type ())


ETableGroup

typedef struct {
	GnomeCanvasGroup group;

	/*
	 * The full header.
	 */
	ETableHeader *full_header;
	ETableHeader *header;
	
	/*
	 * The model we pull data from.
	 */
	ETableModel *model;

	/*
	 * Whether we should add indentation and open/close markers,
	 * or if we just act as containers of subtables.
	 */
	guint transparent : 1;

	guint has_focus : 1;
	
	guint frozen : 1;
} ETableGroup;


e_table_group_add ()

void        e_table_group_add               (ETableGroup *etg,
                                             gint row);

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

etg :

The ETableGroup to add a row to

row :

The row to add.


e_table_group_add_all ()

void        e_table_group_add_all           (ETableGroup *etg);

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

etg :

The ETableGroup to add to


e_table_group_remove ()

gboolean    e_table_group_remove            (ETableGroup *etg,
                                             gint row);

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

etg :

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_get_count ()

gint        e_table_group_get_count         (ETableGroup *etg);

etg :

Returns :


e_table_group_increment ()

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

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

etg :

The ETableGroup to count

position :

amount :


e_table_group_decrement ()

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

etg :

position :

amount :


e_table_group_row_count ()

gint        e_table_group_row_count         (ETableGroup *etg);

etg :

Returns :


e_table_group_set_focus ()

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

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

etg :

The ETableGroup to set

direction :

The direction the focus is coming from.

view_col :

The column to set the focus in.


e_table_group_set_cursor_row ()

void        e_table_group_set_cursor_row    (ETableGroup *etg,
                                             gint row);

etg :

row :


e_table_group_get_cursor_row ()

int         e_table_group_get_cursor_row    (ETableGroup *etg);

etg :

Returns :


e_table_group_get_focus ()

gboolean    e_table_group_get_focus         (ETableGroup *etg);

Calculates if this group has the focus.

etg :

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 *etg);

Calculates which column in this group has the focus.

etg :

The ETableGroup to check

Returns :

The column index (view column).


e_table_group_get_header ()

ETableHeader* e_table_group_get_header      (ETableGroup *etg);

This routine returns the ETableGroup's header.

etg :

Returns :

The ETableHeader.


e_table_group_get_ecol ()

ETableCol*  e_table_group_get_ecol          (ETableGroup *etg);

etg :

Returns :


e_table_group_get_printable ()

EPrintable* e_table_group_get_printable     (ETableGroup *etg);

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

etg :

ETableGroup which will be printed

Returns :

The EPrintable.


e_table_group_compute_location ()

void        e_table_group_compute_location  (ETableGroup *etg,
                                             int *x,
                                             int *y,
                                             int *row,
                                             int *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.

etg :

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_new ()

ETableGroup* e_table_group_new              (const char *title,
                                             ETableModel *table);

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.

title :

table :

Returns :

The new ETableGroup.


e_table_group_construct ()

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

This routine does the base construction of the ETableGroup.

parent :

The GnomeCanvasGroup to create a child of.

etg :

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_cursor_change ()

void        e_table_group_cursor_change     (ETableGroup *etg,
                                             gint row);

This routine emits the "cursor_change" signal.

etg :

row :

The new cursor row (model row)


e_table_group_double_click ()

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

This routine emits the "double_click" signal.

etg :

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 ()

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

This routine emits the "right_click" signal.

etg :

row :

The row clicked on (model row)

col :

The col clicked on (model col)

event :

The event that caused this signal

Returns :


e_table_group_click ()

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

This routine emits the "click" signal.

etg :

row :

The row clicked on (model row)

col :

The col clicked on (model col)

event :

The event that caused this signal

Returns :


e_table_group_key_press ()

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

This routine emits the "key_press" signal.

etg :

row :

The cursor row (model row)

col :

The cursor col (model col)

event :

The event that caused this signal

Returns :


ETableGroupLeafFn ()

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

e_table_item :

closure :


e_table_group_apply_to_leafs ()

void        e_table_group_apply_to_leafs    (ETableGroup *etg,
                                             ETableGroupLeafFn fn,
                                             void *closure);

etg :

fn :

closure :

Signals

The "cursor-change" signal

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

etablegroup :

the object which received the signal.

arg1 :

user_data :

user data set when the signal handler was connected.


The "double-click" signal

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

etablegroup :

the object which received the signal.

arg1 :

arg2 :

arg3 :

user_data :

user data set when the signal handler was connected.


The "right-click" signal

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

etablegroup :

the object which received the signal.

arg1 :

arg2 :

arg3 :

user_data :

user data set when the signal handler was connected.

Returns :


The "click" signal

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

etablegroup :

the object which received the signal.

arg1 :

arg2 :

arg3 :

user_data :

user data set when the signal handler was connected.

Returns :


The "key-press" signal

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

etablegroup :

the object which received the signal.

arg1 :

arg2 :

arg3 :

user_data :

user data set when the signal handler was connected.

Returns :