From 6e4ae07fbfce5845d48e8ba1992f64376a885ac4 Mon Sep 17 00:00:00 2001 From: Iain Holmes Date: Fri, 15 Sep 2000 21:42:38 +0000 Subject: If the cursor is inside the subcell, call the show_tooltip on it. 2000-09-15 Iain Holmes * e-cell-tree.c (ect_show_tooltip): If the cursor is inside the subcell, call the show_tooltip on it. * e-table-header-item.c (draw_button): Draw the arrow first, then take it's size into account when calculating how to draw the text. Use ellipsis if the text it too long. 2000-09-15 Iain Holmes * e-table-header-item.c (draw_button): Fix a crash by passing the canvas widget to gtk_paint_box. Reported by Radek. 2000-09-14 Iain Holmes * e-table-header-item.c (set_cursor): The column isn't resizable if it is the last, or if all other columns after it are not resizable. * e-cell-text.c (ect_max_width): Correctly calculate the width of the line of text. Unbuild the current cell and unref the lines as well. (build_current_cell): Initialize cell->style to 0; 2000-09-14 Iain Holmes * e-table-item.c: Start timers for the tooltip to appear, on motion events. * e-cell.[ch]: Add a new show_tooltip method. * e-cell-text.c (ect_show_tooltip): Show the tooltip. svn path=/trunk/; revision=5466 --- widgets/e-table/e-cell-tree.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'widgets/e-table/e-cell-tree.c') diff --git a/widgets/e-table/e-cell-tree.c b/widgets/e-table/e-cell-tree.c index 48ae9f4af1..5a055fce0e 100644 --- a/widgets/e-table/e-cell-tree.c +++ b/widgets/e-table/e-cell-tree.c @@ -411,7 +411,24 @@ ect_max_width (ECellView *ecell_view, int model_col, int view_col) return max_width; } - +/* + * ECellView::show_tooltip method + */ +static void +ect_show_tooltip (ECellView *ecell_view, int model_col, int view_col, int row, + ETableTooltip *tooltip) +{ + ECellTreeView *tree_view = (ECellTreeView *) ecell_view; + ETreeModel *tree_model = e_cell_tree_get_tree_model (ecell_view->e_table_model, row); + ETreePath *node = e_cell_tree_get_node (tree_model, row); + int offset = offset_of_node (tree_model, node); + + /* if the tooltip happened in the subcell, then handle it */ + + if (tooltip->cx > offset) { + e_cell_show_tooltip (tree_view->subcell_view, model_col, view_col, row, tooltip); + } +} /* * ECellView::enter_edit method @@ -572,6 +589,7 @@ e_cell_tree_class_init (GtkObjectClass *object_class) ecc->print = ect_print; ecc->print_height = ect_print_height; ecc->max_width = ect_max_width; + ecc->show_tooltip = ect_show_tooltip; parent_class = gtk_type_class (PARENT_TYPE); } -- cgit v1.2.3