diff options
author | Christopher James Lahey <clahey@helixcode.com> | 2000-06-06 13:50:12 +0800 |
---|---|---|
committer | Chris Lahey <clahey@src.gnome.org> | 2000-06-06 13:50:12 +0800 |
commit | 06978bc7368680efabec6a2cde14c74ca5201d04 (patch) | |
tree | 9b01fb6ea232dbb144e7ae5687a004c98bf1272b /widgets/table/e-table.c | |
parent | ce74cc7bb1d1a3f27d93dfa2842a9f13e461714f (diff) | |
download | gsoc2013-evolution-06978bc7368680efabec6a2cde14c74ca5201d04.tar.gz gsoc2013-evolution-06978bc7368680efabec6a2cde14c74ca5201d04.tar.zst gsoc2013-evolution-06978bc7368680efabec6a2cde14c74ca5201d04.zip |
Added a right click signal.
2000-06-06 Christopher James Lahey <clahey@helixcode.com>
* 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 right click signal.
* e-table-sorted-variable.c: Fixed a buffer overrun.
svn path=/trunk/; revision=3437
Diffstat (limited to 'widgets/table/e-table.c')
-rw-r--r-- | widgets/table/e-table.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/widgets/table/e-table.c b/widgets/table/e-table.c index f928e555ed..21a92f5ecb 100644 --- a/widgets/table/e-table.c +++ b/widgets/table/e-table.c @@ -42,6 +42,7 @@ enum { ROW_SELECTION, CURSOR_CHANGE, DOUBLE_CLICK, + RIGHT_CLICK, KEY_PRESS, LAST_SIGNAL }; @@ -208,6 +209,16 @@ group_double_click (ETableGroup *etg, int row, ETable *et) } static gint +group_right_click (ETableGroup *etg, int row, int col, GdkEvent *event, ETable *et) +{ + int return_val; + gtk_signal_emit (GTK_OBJECT (et), + et_signals [RIGHT_CLICK], + row, col, event, &return_val); + return return_val; +} + +static gint group_key_press (ETableGroup *etg, int row, int col, GdkEvent *event, ETable *et) { int return_val; @@ -242,6 +253,8 @@ changed_idle (gpointer data) GTK_SIGNAL_FUNC (group_cursor_change), et); gtk_signal_connect (GTK_OBJECT (et->group), "double_click", 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), "key_press", GTK_SIGNAL_FUNC (group_key_press), et); e_table_fill_table (et, et->model); @@ -328,6 +341,8 @@ e_table_setup_table (ETable *e_table, ETableHeader *full_header, ETableHeader *h GTK_SIGNAL_FUNC(group_cursor_change), e_table); gtk_signal_connect (GTK_OBJECT (e_table->group), "double_click", 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), "key_press", GTK_SIGNAL_FUNC(group_key_press), e_table); @@ -744,6 +759,7 @@ e_table_class_init (GtkObjectClass *object_class) klass->row_selection = NULL; klass->cursor_change = NULL; klass->double_click = NULL; + klass->right_click = NULL; klass->key_press = NULL; et_signals [ROW_SELECTION] = @@ -770,6 +786,14 @@ e_table_class_init (GtkObjectClass *object_class) gtk_marshal_NONE__INT, GTK_TYPE_NONE, 1, GTK_TYPE_INT); + et_signals [RIGHT_CLICK] = + gtk_signal_new ("right_click", + GTK_RUN_LAST, + object_class->type, + GTK_SIGNAL_OFFSET (ETableClass, right_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, |