aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/e-table/e-cell-tree.c
diff options
context:
space:
mode:
authorIain Holmes <iain@helixcode.com>2000-09-16 05:42:38 +0800
committerIain Holmes <iain@src.gnome.org>2000-09-16 05:42:38 +0800
commit6e4ae07fbfce5845d48e8ba1992f64376a885ac4 (patch)
treecdf00c9707a7de41e34f4b3ba48ea695224ca0eb /widgets/e-table/e-cell-tree.c
parentce3c18afd96cc9fb91fca4dfabc440206aa2f99e (diff)
downloadgsoc2013-evolution-6e4ae07fbfce5845d48e8ba1992f64376a885ac4.tar
gsoc2013-evolution-6e4ae07fbfce5845d48e8ba1992f64376a885ac4.tar.gz
gsoc2013-evolution-6e4ae07fbfce5845d48e8ba1992f64376a885ac4.tar.bz2
gsoc2013-evolution-6e4ae07fbfce5845d48e8ba1992f64376a885ac4.tar.lz
gsoc2013-evolution-6e4ae07fbfce5845d48e8ba1992f64376a885ac4.tar.xz
gsoc2013-evolution-6e4ae07fbfce5845d48e8ba1992f64376a885ac4.tar.zst
gsoc2013-evolution-6e4ae07fbfce5845d48e8ba1992f64376a885ac4.zip
If the cursor is inside the subcell, call the show_tooltip on it.
2000-09-15 Iain Holmes <iain@helixcode.com> * 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 <iain@helixcode.com> * 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 <iain@helixcode.com> * 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 <iain@helixcode.com> * 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
Diffstat (limited to 'widgets/e-table/e-cell-tree.c')
-rw-r--r--widgets/e-table/e-cell-tree.c20
1 files changed, 19 insertions, 1 deletions
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);
}