diff options
Diffstat (limited to 'widgets/table/e-table-group.c')
-rw-r--r-- | widgets/table/e-table-group.c | 25 |
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); } |