diff options
author | Christopher James Lahey <clahey@helixcode.com> | 2000-07-06 12:57:37 +0800 |
---|---|---|
committer | Chris Lahey <clahey@src.gnome.org> | 2000-07-06 12:57:37 +0800 |
commit | 39d880abe9ca1b16b12e2ec79183fe8350496cf9 (patch) | |
tree | a551d3e822d3b051778ee156fbd87ccc2229974b /widgets | |
parent | 91397eddfb7cb59e47fa08fceb7bc1a210f842ea (diff) | |
download | gsoc2013-evolution-39d880abe9ca1b16b12e2ec79183fe8350496cf9.tar gsoc2013-evolution-39d880abe9ca1b16b12e2ec79183fe8350496cf9.tar.gz gsoc2013-evolution-39d880abe9ca1b16b12e2ec79183fe8350496cf9.tar.bz2 gsoc2013-evolution-39d880abe9ca1b16b12e2ec79183fe8350496cf9.tar.lz gsoc2013-evolution-39d880abe9ca1b16b12e2ec79183fe8350496cf9.tar.xz gsoc2013-evolution-39d880abe9ca1b16b12e2ec79183fe8350496cf9.tar.zst gsoc2013-evolution-39d880abe9ca1b16b12e2ec79183fe8350496cf9.zip |
Send GDK_BUTTON_RELEASE events to the ecell associated with the cell (if
2000-07-06 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c: Send GDK_BUTTON_RELEASE events to the ecell
associated with the cell (if it's the cursor.)
svn path=/trunk/; revision=3909
Diffstat (limited to 'widgets')
-rw-r--r-- | widgets/e-table/ChangeLog | 5 | ||||
-rw-r--r-- | widgets/e-table/e-table-item.c | 37 | ||||
-rw-r--r-- | widgets/table/e-table-item.c | 37 |
3 files changed, 79 insertions, 0 deletions
diff --git a/widgets/e-table/ChangeLog b/widgets/e-table/ChangeLog index b515364c3c..b60e7fa106 100644 --- a/widgets/e-table/ChangeLog +++ b/widgets/e-table/ChangeLog @@ -1,3 +1,8 @@ +2000-07-06 Christopher James Lahey <clahey@helixcode.com> + + * e-table-item.c: Send GDK_BUTTON_RELEASE events to the ecell + associated with the cell (if it's the cursor.) + 2000-07-03 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Added a reflow_compare callback and did removal diff --git a/widgets/e-table/e-table-item.c b/widgets/e-table/e-table-item.c index 405bf20cb7..a32b0f44de 100644 --- a/widgets/e-table/e-table-item.c +++ b/widgets/e-table/e-table-item.c @@ -1303,6 +1303,43 @@ eti_event (GnomeCanvasItem *item, GdkEvent *e) } break; } + + case GDK_BUTTON_RELEASE: { + double x1, y1; + int col, row; + + switch (e->button.button) { + case 1: /* Fall through. */ + case 2: + gnome_canvas_item_w2i (item, &e->button.x, &e->button.y); + + + if (!find_cell (eti, e->button.x, e->button.y, &col, &row, &x1, &y1)) + return TRUE; + + if (eti->cursor_row == view_to_model_row(eti, row) && eti->cursor_col == col){ + + ecol = e_table_header_get_column (eti->header, col); + ecell_view = eti->cell_views [col]; + + /* + * Adjust the event positions + */ + e->button.x = x1; + e->button.y = y1; + + e_cell_event (ecell_view, e, ecol->col_idx, col, row); + } + break; + case 3: + case 4: + case 5: + return FALSE; + break; + + } + break; + } case GDK_2BUTTON_PRESS: { double x1, y1; diff --git a/widgets/table/e-table-item.c b/widgets/table/e-table-item.c index 405bf20cb7..a32b0f44de 100644 --- a/widgets/table/e-table-item.c +++ b/widgets/table/e-table-item.c @@ -1303,6 +1303,43 @@ eti_event (GnomeCanvasItem *item, GdkEvent *e) } break; } + + case GDK_BUTTON_RELEASE: { + double x1, y1; + int col, row; + + switch (e->button.button) { + case 1: /* Fall through. */ + case 2: + gnome_canvas_item_w2i (item, &e->button.x, &e->button.y); + + + if (!find_cell (eti, e->button.x, e->button.y, &col, &row, &x1, &y1)) + return TRUE; + + if (eti->cursor_row == view_to_model_row(eti, row) && eti->cursor_col == col){ + + ecol = e_table_header_get_column (eti->header, col); + ecell_view = eti->cell_views [col]; + + /* + * Adjust the event positions + */ + e->button.x = x1; + e->button.y = y1; + + e_cell_event (ecell_view, e, ecol->col_idx, col, row); + } + break; + case 3: + case 4: + case 5: + return FALSE; + break; + + } + break; + } case GDK_2BUTTON_PRESS: { double x1, y1; |