summaryrefslogtreecommitdiff
path: root/gtk/gtktreeprivate.h
diff options
context:
space:
mode:
authorKristian Rietveld <kris@gtk.org>2008-07-11 14:17:49 +0000
committerKristian Rietveld <kristian@src.gnome.org>2008-07-11 14:17:49 +0000
commit2cc1247433a1e4e480a09b31f7875ba253601ae8 (patch)
tree19bb8598cbad70c7d55e8b3144e1b799a344e8f0 /gtk/gtktreeprivate.h
parent1d510a9e84e829f838d4c900626c3c575d637c11 (diff)
downloadgtk+-2cc1247433a1e4e480a09b31f7875ba253601ae8.tar.gz
Fix #316087.
2008-07-11 Kristian Rietveld <kris@gtk.org> Bug 316087 - Resizing columns is chaotic * gtk/gtktreeprivate.h: add new member fields. * gtk/gtktreeview.c (gtk_tree_view_init), (validate_row): set post validation flag, (gtk_tree_view_size_allocate_columns): rework the size allocation mechanism to only recalculate the expand values if the width of the widget, content or the column configuration has changed, (gtk_tree_view_size_allocate): move call to size_allocate_columns() to before the adjustment updates so the proper width is used after we updated it, (gtk_tree_view_button_press), (gtk_tree_view_motion_resize_column): use the column width minus the expand value for the resized width, (gtk_tree_view_move_column_after): update call to gtk_tree_view_size_allocate_columns(). * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_expand): set use resized width to FALSE. * tests/Makefile.am: * tests/testtreecolumnsizing.c: new interactive test program for testing column resizing with different column configurations. svn path=/trunk/; revision=20818
Diffstat (limited to 'gtk/gtktreeprivate.h')
-rw-r--r--gtk/gtktreeprivate.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gtk/gtktreeprivate.h b/gtk/gtktreeprivate.h
index 51bb9511f8..384c176982 100644
--- a/gtk/gtktreeprivate.h
+++ b/gtk/gtktreeprivate.h
@@ -236,6 +236,8 @@ struct _GtkTreeViewPrivate
guint in_grab : 1;
+ guint post_validation_flag : 1;
+
/* Auto expand/collapse timeout in hover mode */
guint auto_expand_timeout;
@@ -268,6 +270,10 @@ struct _GtkTreeViewPrivate
GdkGC *tree_line_gc;
gint tooltip_column;
+
+ gint last_extra_space;
+ gint last_extra_space_per_column;
+ gint last_number_of_expand_columns;
};
#ifdef __GNUC__