From 5e1949f93523c93bd8a1384e2c71a12e0717219d Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Thu, 24 Aug 2000 21:13:17 +0000 Subject: Added a click signal which gets sent if the user hits the left or middle 2000-08-24 Christopher James Lahey * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h, e-table.c, e-table.h: Added a click signal which gets sent if the user hits the left or middle mouse button on a cell. svn path=/trunk/; revision=5020 --- widgets/table/e-table.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'widgets/table/e-table.c') diff --git a/widgets/table/e-table.c b/widgets/table/e-table.c index 8dd8721711..1cf9e81e9a 100644 --- a/widgets/table/e-table.c +++ b/widgets/table/e-table.c @@ -43,6 +43,7 @@ enum { CURSOR_CHANGE, DOUBLE_CLICK, RIGHT_CLICK, + CLICK, KEY_PRESS, TABLE_DRAG_BEGIN, @@ -316,6 +317,16 @@ group_right_click (ETableGroup *etg, int row, int col, GdkEvent *event, ETable * return return_val; } +static gint +group_click (ETableGroup *etg, int row, int col, GdkEvent *event, ETable *et) +{ + int return_val; + gtk_signal_emit (GTK_OBJECT (et), + et_signals [CLICK], + row, col, event, &return_val); + return return_val; +} + static gint group_key_press (ETableGroup *etg, int row, int col, GdkEvent *event, ETable *et) { @@ -353,6 +364,8 @@ changed_idle (gpointer data) GTK_SIGNAL_FUNC (group_double_click), et); gtk_signal_connect (GTK_OBJECT (et->group), "right_click", GTK_SIGNAL_FUNC (group_right_click), et); + gtk_signal_connect (GTK_OBJECT (et->group), "click", + GTK_SIGNAL_FUNC (group_click), et); gtk_signal_connect (GTK_OBJECT (et->group), "key_press", GTK_SIGNAL_FUNC (group_key_press), et); e_table_fill_table (et, et->model); @@ -491,6 +504,8 @@ e_table_setup_table (ETable *e_table, ETableHeader *full_header, ETableHeader *h GTK_SIGNAL_FUNC(group_double_click), e_table); gtk_signal_connect (GTK_OBJECT (e_table->group), "right_click", GTK_SIGNAL_FUNC(group_right_click), e_table); + gtk_signal_connect (GTK_OBJECT (e_table->group), "click", + GTK_SIGNAL_FUNC(group_click), e_table); gtk_signal_connect (GTK_OBJECT (e_table->group), "key_press", GTK_SIGNAL_FUNC(group_key_press), e_table); @@ -1584,6 +1599,7 @@ e_table_class_init (GtkObjectClass *object_class) klass->cursor_change = NULL; klass->double_click = NULL; klass->right_click = NULL; + klass->click = NULL; klass->key_press = NULL; klass->table_drag_begin = NULL; @@ -1620,6 +1636,14 @@ e_table_class_init (GtkObjectClass *object_class) e_marshal_INT__INT_INT_POINTER, GTK_TYPE_INT, 3, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_POINTER); + et_signals [CLICK] = + gtk_signal_new ("click", + GTK_RUN_LAST, + object_class->type, + GTK_SIGNAL_OFFSET (ETableClass, click), + e_marshal_INT__INT_INT_POINTER, + GTK_TYPE_INT, 3, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_POINTER); + et_signals [KEY_PRESS] = gtk_signal_new ("key_press", GTK_RUN_LAST, -- cgit v1.2.3