summaryrefslogtreecommitdiff
path: root/gtk/gtktreeview.c
diff options
context:
space:
mode:
authorKristian Rietveld <kris@gtk.org>2002-04-19 19:02:26 +0000
committerKristian Rietveld <kristian@src.gnome.org>2002-04-19 19:02:26 +0000
commita1f3d61d500538b1d27beadad778c469f0093ff0 (patch)
treec629d7829bff629701496b1c43aa805daaabbcbb /gtk/gtktreeview.c
parentd3a1294923e0308ae76a25eb5b12b2dfdae36442 (diff)
downloadgtk+-a1f3d61d500538b1d27beadad778c469f0093ff0.tar.gz
subtract TREE_VIEW_HEADER_HEIGHT from allocation->height to get the real
Fri Apr 19 21:06:39 2002 Kristian Rietveld <kris@gtk.org> * gtk/gtktreeview.c (gtk_tree_view_size_allocate): subtract TREE_VIEW_HEADER_HEIGHT from allocation->height to get the real size for the tree (fixes #72729), (gtk_tree_view_real_start_editing): correct cell_area->y for scrolling due to gtk_tree_view_real_set_cursor (fixes #75687)
Diffstat (limited to 'gtk/gtktreeview.c')
-rw-r--r--gtk/gtktreeview.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index f748c78ed6..b22a434bc2 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -1650,7 +1650,7 @@ gtk_tree_view_size_allocate (GtkWidget *widget,
tree_view->priv->vadjustment->lower = 0;
tree_view->priv->vadjustment->upper = MAX (tree_view->priv->vadjustment->page_size, tree_view->priv->height);
- if (tree_view->priv->vadjustment->value + allocation->height > tree_view->priv->height)
+ if (tree_view->priv->vadjustment->value + allocation->height - TREE_VIEW_HEADER_HEIGHT (tree_view) > tree_view->priv->height)
gtk_adjustment_set_value (tree_view->priv->vadjustment,
MAX (tree_view->priv->height - tree_view->priv->vadjustment->page_size, 0));
gtk_adjustment_changed (tree_view->priv->vadjustment);
@@ -10647,9 +10647,15 @@ gtk_tree_view_real_start_editing (GtkTreeView *tree_view,
GdkEvent *event,
guint flags)
{
+ gint pre_val = tree_view->priv->vadjustment->value;
+
tree_view->priv->edited_column = column;
_gtk_tree_view_column_start_editing (column, GTK_CELL_EDITABLE (cell_editable));
+
gtk_tree_view_real_set_cursor (tree_view, path, FALSE, TRUE);
+
+ cell_area->y += pre_val - tree_view->priv->vadjustment->value;
+
GTK_TREE_VIEW_SET_FLAG (tree_view, GTK_TREE_VIEW_DRAW_KEYFOCUS);
gtk_tree_view_put (tree_view,
GTK_WIDGET (cell_editable),