aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-table-group.c
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/table/e-table-group.c')
-rw-r--r--widgets/table/e-table-group.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/widgets/table/e-table-group.c b/widgets/table/e-table-group.c
index 2e7f94bb1f..92c274762b 100644
--- a/widgets/table/e-table-group.c
+++ b/widgets/table/e-table-group.c
@@ -31,6 +31,7 @@ enum {
ROW_SELECTION,
CURSOR_CHANGE,
DOUBLE_CLICK,
+ KEY_PRESS,
LAST_SIGNAL
};
@@ -271,6 +272,21 @@ e_table_group_double_click (ETableGroup *e_table_group, gint row)
row);
}
+gint
+e_table_group_key_press (ETableGroup *e_table_group, gint row, gint col, GdkEvent *event)
+{
+ gint return_val = 0;
+
+ g_return_val_if_fail (e_table_group != NULL, 0);
+ g_return_val_if_fail (E_IS_TABLE_GROUP (e_table_group), 0);
+
+ gtk_signal_emit (GTK_OBJECT (e_table_group),
+ etg_signals [DOUBLE_CLICK],
+ row, col, event, &return_val);
+
+ return return_val;
+}
+
ETableHeader *
e_table_group_get_header (ETableGroup *etg)
{
@@ -322,6 +338,7 @@ etg_class_init (GtkObjectClass *object_class)
klass->row_selection = NULL;
klass->cursor_change = NULL;
klass->double_click = NULL;
+ klass->key_press = NULL;
klass->add = NULL;
klass->add_all = NULL;
@@ -362,6 +379,14 @@ etg_class_init (GtkObjectClass *object_class)
gtk_marshal_NONE__INT,
GTK_TYPE_NONE, 1, GTK_TYPE_INT);
+ etg_signals [KEY_PRESS] =
+ gtk_signal_new ("key_press",
+ GTK_RUN_LAST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (ETableGroupClass, key_press),
+ e_marshal_INT__INT_INT_POINTER,
+ GTK_TYPE_INT, 3, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_POINTER);
+
gtk_object_class_add_signals (object_class, etg_signals, LAST_SIGNAL);
}