summaryrefslogtreecommitdiff
path: root/gtk/gtktreeviewcolumn.c
diff options
context:
space:
mode:
authorKristian Rietveld <kris@gtk.org>2003-06-09 23:10:20 +0000
committerKristian Rietveld <kristian@src.gnome.org>2003-06-09 23:10:20 +0000
commitbf2e5fc154f9c002273c0fd1caeb769ca2ef3200 (patch)
tree187aa7e7f4498b20124b1a6543aa916c25edf951 /gtk/gtktreeviewcolumn.c
parent171fd90cd3ae05a24167a3ae9431f84664c986cf (diff)
downloadgtk+-bf2e5fc154f9c002273c0fd1caeb769ca2ef3200.tar.gz
Merged from stable.
Tue Jun 10 01:09:33 2003 Kristian Rietveld <kris@gtk.org> Merged from stable. * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action): Remove the weird dx logic, get all cell_area and background_area calculations right. Not sure what was up with it before. (Fixes #110989, testcase from Vasco Alexandre da Silva Costa).
Diffstat (limited to 'gtk/gtktreeviewcolumn.c')
-rw-r--r--gtk/gtktreeviewcolumn.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c
index f12d6f8809..9fdfc74f34 100644
--- a/gtk/gtktreeviewcolumn.c
+++ b/gtk/gtktreeviewcolumn.c
@@ -2482,8 +2482,8 @@ gtk_tree_view_column_cell_process_action (GtkTreeViewColumn *tree_column,
gint extra_space;
gint min_x, min_y, max_x, max_y;
gint focus_line_width;
- gint dx;
gint special_cells;
+ gint horizontal_separator;
gboolean cursor_row = FALSE;
gboolean rtl;
/* If we have rtl text, we need to transform our areas */
@@ -2526,11 +2526,11 @@ gtk_tree_view_column_cell_process_action (GtkTreeViewColumn *tree_column,
gtk_widget_style_get (GTK_WIDGET (tree_column->tree_view),
"focus-line-width", &focus_line_width,
+ "horizontal-seperator", &horizontal_separator,
NULL);
real_cell_area = *cell_area;
real_background_area = *background_area;
- /* HUH? dx = real_cell_area.x - real_background_area.x - focus_line_width; */
real_cell_area.x += focus_line_width;
@@ -2547,7 +2547,7 @@ gtk_tree_view_column_cell_process_action (GtkTreeViewColumn *tree_column,
full_requested_width += info->requested_width;
}
- extra_space = cell_area->width - full_requested_width;
+ extra_space = cell_area->width + horizontal_separator - full_requested_width;
if (extra_space < 0)
extra_space = 0;
@@ -2570,11 +2570,11 @@ gtk_tree_view_column_cell_process_action (GtkTreeViewColumn *tree_column,
else
flags &= ~GTK_CELL_RENDERER_FOCUSED;
- real_background_area.width = info->requested_width +
- (info->expand?extra_space:0);
- info->real_width = real_background_area.width;
+ info->real_width = info->requested_width + (info->expand?extra_space:0);
- real_cell_area.width = real_background_area.width;
+ real_cell_area.width = info->real_width;
+ real_background_area.width=
+ real_cell_area.x + real_cell_area.width - real_background_area.x;
real_cell_area.width -= 2 * focus_line_width;
rtl_cell_area = real_cell_area;
@@ -2705,8 +2705,8 @@ gtk_tree_view_column_cell_process_action (GtkTreeViewColumn *tree_column,
flags &= ~GTK_CELL_RENDERER_FOCUSED;
- real_cell_area.x += (info->real_width + tree_column->spacing);
- real_background_area.x += (info->real_width + tree_column->spacing);
+ real_cell_area.x += (real_cell_area.width + tree_column->spacing);
+ real_background_area.x += (real_background_area.width + tree_column->spacing);
}
/* iterate list for PACK_END cells */
@@ -2725,11 +2725,11 @@ gtk_tree_view_column_cell_process_action (GtkTreeViewColumn *tree_column,
else
flags &= ~GTK_CELL_RENDERER_FOCUSED;
- real_background_area.width = info->requested_width +
- (info->expand?extra_space:0);
- info->real_width = real_background_area.width;
+ info->real_width = info->requested_width + (info->expand?extra_space:0);
- real_cell_area.width = real_background_area.width;
+ real_cell_area.width = info->real_width;
+ real_background_area.width =
+ real_cell_area.x + real_cell_area.width - real_background_area.x;
real_cell_area.width -= 2 * focus_line_width;
rtl_cell_area = real_cell_area;
@@ -2858,8 +2858,8 @@ gtk_tree_view_column_cell_process_action (GtkTreeViewColumn *tree_column,
flags &= ~GTK_CELL_RENDERER_FOCUSED;
- real_cell_area.x += (info->real_width + tree_column->spacing);
- real_background_area.x += (info->real_width + tree_column->spacing);
+ real_cell_area.x += (real_cell_area.width + tree_column->spacing);
+ real_background_area.x += (real_background_area.width + tree_column->spacing);
}
/* fill focus_rectangle when required */