Author: jackson
Date: 2006-07-14 14:13:33 -0400 (Fri, 14 Jul 2006)
New Revision: 62613

Modified:
   trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
   trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TreeView.cs
Log:

        * TreeView.cs: Raise the OnAfterLabelEdit event correctly.
        * Also,
        when the tree is scrolled we end editing.        



Modified: trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog        
2006-07-14 17:52:44 UTC (rev 62612)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog        
2006-07-14 18:13:33 UTC (rev 62613)
@@ -1,3 +1,8 @@
+2006-07-14  Jackson Harper  <[EMAIL PROTECTED]>
+
+       * TreeView.cs: Raise the OnAfterLabelEdit event correctly.  Also,
+       when the tree is scrolled we end editing.
+
 2006-07-14  Alexander Olk  <[EMAIL PROTECTED]>
 
        * ThemeWin32Classic.cs: Fixed position of CPDrawScrollButton Up and

Modified: trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TreeView.cs
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TreeView.cs      
2006-07-14 17:52:44 UTC (rev 62612)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TreeView.cs      
2006-07-14 18:13:33 UTC (rev 62613)
@@ -1181,10 +1181,17 @@
 
                private void EndEdit ()
                {
-                       edit_text_box.Visible = false;
-                       edit_node.EndEdit (false);
-                       UpdateNode (edit_node);
-                       edit_node = null;
+                       if (edit_text_box != null)
+                               edit_text_box.Visible = false;
+
+                       if (edit_node != null) {
+                               NodeLabelEditEventArgs e = new 
NodeLabelEditEventArgs (edit_node, edit_text_box.Text);
+                               OnAfterLabelEdit (e);
+
+                               edit_node.EndEdit (e.CancelEdit);
+                               UpdateNode (edit_node);
+                               edit_node = null;
+                       }
                }
 
                internal int GetNodeWidth (TreeNode node)
@@ -1355,6 +1362,8 @@
 
                private void VScrollBarValueChanged (object sender, EventArgs e)
                {
+                       if (edit_node != null)
+                               EndEdit ();
                        SetVScrollPos (vbar.Value, null);
                }
 
@@ -1394,6 +1403,9 @@
 
                private void HScrollBarValueChanged(object sender, EventArgs e)
                {
+                       if (edit_node != null)
+                               EndEdit ();
+
                        int old_offset = hbar_offset;
                        hbar_offset = hbar.Value;
 
@@ -1501,13 +1513,9 @@
                                TreeNode old_selected = selected_node;
                                SelectedNode = node;
                                if (label_edit && e.Clicks == 1 && 
selected_node == old_selected) {
+                                       if (edit_node != null)
+                                               EndEdit ();
                                        node.BeginEdit ();
-                                       if (edit_node != null) {
-                                               edit_node.EndEdit (false);
-                                               UpdateNode (edit_node);
-                                       }
-                                       edit_node = node;
-                                       UpdateNode (edit_node);
                                } else if (selected_node != focused_node) {
                                        select_mmove = true;
                                }

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to