Author: jpobst
Date: 2007-08-24 17:03:58 -0400 (Fri, 24 Aug 2007)
New Revision: 84819
Modified:
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TreeNode.cs
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TreeView.cs
Log:
2007-08-24 Jonathan Pobst <[EMAIL PROTECTED]>
* TreeView.cs: Create a CancelEdit method. Clone the edit_args in
EndEdit
before calling AfterLabelEdit. If the user calls BeginEdit in that
event,
it resets the edit_args.
* TreeNode.cs: Call CancelEdit if the user passes cancel = true to
EndEdit.
[Fixes bug #82577]
Modified: trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
2007-08-24 19:47:27 UTC (rev 84818)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
2007-08-24 21:03:58 UTC (rev 84819)
@@ -1,3 +1,11 @@
+2007-08-24 Jonathan Pobst <[EMAIL PROTECTED]>
+
+ * TreeView.cs: Create a CancelEdit method. Clone the edit_args in
EndEdit
+ before calling AfterLabelEdit. If the user calls BeginEdit in that
event,
+ it resets the edit_args.
+ * TreeNode.cs: Call CancelEdit if the user passes cancel = true to
EndEdit.
+ [Fixes bug #82577]
+
2007-08-24 Gert Driesen <[EMAIL PROTECTED]>
* FolderBrowserDialog.cs: Modifies form caption and text of new folder
Modified: trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TreeNode.cs
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TreeNode.cs
2007-08-24 19:47:27 UTC (rev 84818)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TreeNode.cs
2007-08-24 21:03:58 UTC (rev 84819)
@@ -771,6 +771,8 @@
TreeView tv = TreeView;
if (!cancel && tv != null)
tv.EndEdit (this);
+ else if (cancel && tv != null)
+ tv.CancelEdit (this);
}
public void Expand () {
Modified: trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TreeView.cs
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TreeView.cs
2007-08-24 19:47:27 UTC (rev 84818)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TreeView.cs
2007-08-24 21:03:58 UTC (rev 84819)
@@ -1657,19 +1657,32 @@
}
if (edit_node != null && edit_node == node) {
-
- OnAfterLabelEdit (edit_args);
+ NodeLabelEditEventArgs e = new
NodeLabelEditEventArgs (edit_args.Node, edit_args.Label);
- if (!edit_args.CancelEdit) {
- if (edit_args.Label != null)
- edit_node.Text =
edit_args.Label;
- }
+ OnAfterLabelEdit (e);
+
+ if (e.CancelEdit)
+ return;
+
+ if (e.Label != null)
+ edit_node.Text = e.Label;
}
edit_node = null;
UpdateNode (node);
}
+ internal void CancelEdit (TreeNode node)
+ {
+ edit_args.SetLabel (null);
+
+ if (edit_text_box != null && edit_text_box.Visible)
+ edit_text_box.Visible = false;
+
+ edit_node = null;
+ UpdateNode (node);
+ }
+
internal int GetNodeWidth (TreeNode node)
{
Font font = node.NodeFont;
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches