diff options
author | Kristian Rietveld <kris@gtk.org> | 2003-01-30 22:42:21 +0000 |
---|---|---|
committer | Kristian Rietveld <kristian@src.gnome.org> | 2003-01-30 22:42:21 +0000 |
commit | 2fb74b135baeeb7b2363e099d61ac953c1467404 (patch) | |
tree | 08dafad02157fdcff0703a996dc258dc3effed1f /gtk/gtktreeviewcolumn.c | |
parent | e9cefbccec8ba913e118f519d7e20c8b3307d389 (diff) | |
download | gtk+-2fb74b135baeeb7b2363e099d61ac953c1467404.tar.gz |
only count the special cell if it is also visible,
Thu Jan 30 23:48:30 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_count_special_cell):
only count the special cell if it is also visible,
(_gtk_tree_view_column_get_neighbor_sizes): only take the width into
account from visible cells,
(gtk_tree_view_column_cell_get_position): likewise, (Reported and
testcase provided by Vasco Alexandre da Silva Costa, via IRC,
tracking bug was #104563).
Thu Jan 30 23:46:15 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
subtract expander space and focus line space from the extra space
we are about the allocate. (Fixes #104635).
Thu Jan 30 23:42:03 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkstyle.c (apply_affine_on_point): fix rouding error
(Fixes #96252, patch from Soeren Sandmann).
Diffstat (limited to 'gtk/gtktreeviewcolumn.c')
-rw-r--r-- | gtk/gtktreeviewcolumn.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 423b77e68e..278b6b8a93 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -1103,8 +1103,9 @@ _gtk_tree_view_column_count_special_cells (GtkTreeViewColumn *column) { GtkTreeViewColumnCellInfo *cellinfo = list->data; - if (cellinfo->cell->mode == GTK_CELL_RENDERER_MODE_EDITABLE || - cellinfo->cell->mode == GTK_CELL_RENDERER_MODE_ACTIVATABLE) + if ((cellinfo->cell->mode == GTK_CELL_RENDERER_MODE_EDITABLE || + cellinfo->cell->mode == GTK_CELL_RENDERER_MODE_ACTIVATABLE) && + cellinfo->cell->visible) i++; } @@ -2468,7 +2469,7 @@ gtk_tree_view_column_cell_process_action (GtkTreeViewColumn *tree_column, full_requested_width += info->requested_width; } - extra_space = background_area->width - full_requested_width; + extra_space = background_area->width - full_requested_width - dx; if (extra_space < 0) extra_space = 0; else if (extra_space > 0 && expand_cell_count > 0) @@ -3256,7 +3257,8 @@ _gtk_tree_view_column_get_neighbor_sizes (GtkTreeViewColumn *column, if (info->cell == cell) break; - *left += info->real_width; + if (info->cell->visible) + *left += info->real_width; } } @@ -3286,7 +3288,8 @@ _gtk_tree_view_column_get_neighbor_sizes (GtkTreeViewColumn *column, GtkTreeViewColumnCellInfo *info = (GtkTreeViewColumnCellInfo *)list->data; - *right += info->real_width; + if (info->cell->visible) + *right += info->real_width; } } } @@ -3312,7 +3315,9 @@ gtk_tree_view_column_cell_get_position (GtkTreeViewColumn *tree_column, found_cell = TRUE; break; } - current_x += cellinfo->real_width; + + if (cellinfo->cell->visible) + current_x += cellinfo->real_width; } if (found_cell) |