* TreeView.cs: When an edit is finished make sure that the
authorJackson Harper <jackson@novell.com>
Thu, 13 Jul 2006 20:58:57 +0000 (20:58 -0000)
committerJackson Harper <jackson@novell.com>
Thu, 13 Jul 2006 20:58:57 +0000 (20:58 -0000)
        selected node is visible.
        - When setting the top/bottom use the scrollbars is_visible, so
        everything will be set correctly even if the tree isn't visible
        yet.

svn path=/trunk/mcs/; revision=62582

mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
mcs/class/Managed.Windows.Forms/System.Windows.Forms/TreeView.cs

index 99bae6e413cedeee8e071571d4e2e3a5997ebf85..7a9cec139c8b7655a59b365f484091d446677000 100644 (file)
@@ -1,3 +1,11 @@
+2006-07-13  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: When an edit is finished make sure that the
+       selected node is visible.
+       - When setting the top/bottom use the scrollbars is_visible, so
+       everything will be set correctly even if the tree isn't visible
+       yet.
+
 2006-07-13  Jackson Harper  <jackson@ximian.com>
 
        * ComboBox.cs: Revert the item->index part of my previous patch.
index 05e42f12b439280dca33d558a9f6f12f03be734b..2d6c387bc82e0fb0173b5f503bc3c503ea3f4cca 100644 (file)
@@ -474,6 +474,8 @@ namespace System.Windows.Forms {
                                if (update_needed) {
                                        RecalculateVisibleOrder (root_node);
                                        UpdateScrollBars ();
+                                       if (SelectedNode != null)
+                                               SelectedNode.EnsureVisible ();
                                        Invalidate (ViewportRectangle);
                                        update_needed = false;
                                }
@@ -885,7 +887,7 @@ namespace System.Windows.Forms {
 
                internal void SetTop (TreeNode node)
                {
-                       if (!vbar.Visible)
+                       if (!vbar.is_visible)
                                return;
 
                        TreeNode first = root_node.FirstNode;
@@ -903,7 +905,7 @@ namespace System.Windows.Forms {
 
                internal void SetBottom (TreeNode node)
                {
-                       if (!vbar.Visible)
+                       if (!vbar.is_visible)
                                return;
 
                        OpenTreeNodeEnumerator walk = new OpenTreeNodeEnumerator (node);
@@ -1444,7 +1446,7 @@ namespace System.Windows.Forms {
                }
 
                private void MouseWheelHandler(object sender, MouseEventArgs e) {
-                       if (vbar == null || !vbar.Visible) {
+                       if (vbar == null || !vbar.is_visible) {
                                return;
                        }