diff options
author | Chris Toshok <toshok@helixcode.com> | 2000-12-07 07:25:06 +0800 |
---|---|---|
committer | Chris Toshok <toshok@src.gnome.org> | 2000-12-07 07:25:06 +0800 |
commit | 517cb96a31bc20a9b62609a4bdfa35d10a93a020 (patch) | |
tree | 5ae929045248265fa2263c464885097a2bbc4624 /widgets/table/e-cell-text.c | |
parent | 6dc395e2641eb93323879e9dac7980d27a8ba878 (diff) | |
download | gsoc2013-evolution-517cb96a31bc20a9b62609a4bdfa35d10a93a020.tar.gz gsoc2013-evolution-517cb96a31bc20a9b62609a4bdfa35d10a93a020.tar.zst gsoc2013-evolution-517cb96a31bc20a9b62609a4bdfa35d10a93a020.zip |
pass along the column's width to e_cell_show_tooltip.
2000-12-06 Chris Toshok <toshok@helixcode.com>
* e-table-item.c (_do_tooltip): pass along the column's width to
e_cell_show_tooltip.
* e-cell-text.c (ect_show_tooltip): add col_width argument, and
set cell.width = col_width - 8 (to mimic what happens in
build_current_cell, but with a possibly altered width).
* e-cell.c (e_cell_show_tooltip): add col_width argument, and pass
along to virtual function.
(ec_show_tooltip): add col_width argument.
* e-cell.h: change prototype of e_cell_show_tooltip to include a
width parameter.
* e-cell-tree.c (ect_show_tooltip): send the width - the subcell's
offset to e_cell_show_tooltip.
svn path=/trunk/; revision=6831
Diffstat (limited to 'widgets/table/e-cell-text.c')
-rw-r--r-- | widgets/table/e-cell-text.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/widgets/table/e-cell-text.c b/widgets/table/e-cell-text.c index 05742b6e70..5a1251cf01 100644 --- a/widgets/table/e-cell-text.c +++ b/widgets/table/e-cell-text.c @@ -1342,6 +1342,7 @@ ect_show_tooltip (ECellView *ecell_view, int model_col, int view_col, int row, + int col_width, ETableTooltip *tooltip) { ECellTextView *text_view = (ECellTextView *) ecell_view; @@ -1366,6 +1367,7 @@ ect_show_tooltip (ECellView *ecell_view, tooltip->timer = 0; build_current_cell (&cell, text_view, model_col, view_col, row); + cell.width = col_width - 8; split_into_lines (&cell); calc_line_widths (&cell); @@ -2444,7 +2446,7 @@ calc_ellipsis (ECellTextView *text_view) EFont *font; font = text_view->font; - if (font) + if (font) { text_view->ellipsis_width[E_FONT_PLAIN] = e_font_utf8_text_width (font, E_FONT_PLAIN, ect->ellipsis ? ect->ellipsis : "...", @@ -2453,6 +2455,7 @@ calc_ellipsis (ECellTextView *text_view) e_font_utf8_text_width (font, E_FONT_BOLD, ect->ellipsis ? ect->ellipsis : "...", ect->ellipsis ? strlen (ect->ellipsis) : 3); + } } /* Calculates the line widths (in pixels) of the text's splitted lines */ @@ -2493,8 +2496,9 @@ calc_line_widths (CurrentCell *cell) lines->ellipsis_length = 0; for (j = 0; j < lines->length; j++){ if (e_font_utf8_text_width (font, cell->style, lines->text, j) + - text_view->ellipsis_width[cell->style] <= cell->width) + text_view->ellipsis_width[cell->style] < cell->width) { lines->ellipsis_length = j; + } else break; } |