Merge pull request #4453 from lambdageek/bug-49721
[mono.git] / mcs / class / System.Web / System.Web.UI.WebControls / TreeNodeCollection.cs
index 2b10379209f55503a5b912928c50533aa13d58b4..177cd5d73e8137a109884fc17e6d410a597b3d45 100644 (file)
@@ -28,7 +28,6 @@
 // Copyright (C) 2004 Novell, Inc (http://www.novell.com)
 //
 
-#if NET_2_0
 
 using System;
 using System.Web.UI;
@@ -66,8 +65,8 @@ namespace System.Web.UI.WebControls
                                node.Tree = tree;
                }
                
-               public TreeNode this [int i] {
-                       get { return (TreeNode) items [i]; }
+               public TreeNode this [int index] {
+                       get { return (TreeNode) items [index]; }
                }
                
                public void Add (TreeNode child)
@@ -78,6 +77,9 @@ namespace System.Web.UI.WebControls
                internal void Add (TreeNode child, bool updateParent)
                {
                        int index = items.Add (child);
+
+                       if (parent != null)
+                               parent.HadChildrenBeforePopulating = true;
                        
                        if (!updateParent)
                                return;
@@ -125,9 +127,9 @@ namespace System.Web.UI.WebControls
                        }
                }
                
-               public bool Contains (TreeNode child)
+               public bool Contains (TreeNode c)
                {
-                       return items.Contains (child);
+                       return items.Contains (c);
                }
                
                public void CopyTo (TreeNode[] nodeArray, int index)
@@ -140,18 +142,18 @@ namespace System.Web.UI.WebControls
                        return items.GetEnumerator ();
                }
                
-               public int IndexOf (TreeNode node)
+               public int IndexOf (TreeNode value)
                {
-                       return items.IndexOf (node);
+                       return items.IndexOf (value);
                }
                
-               public void Remove (TreeNode node)
+               public void Remove (TreeNode value)
                {
-                       int i = IndexOf (node);
+                       int i = IndexOf (value);
                        if (i == -1) return;
                        items.RemoveAt (i);
                        if (tree != null)
-                               node.Tree = null;
+                               value.Tree = null;
                        if (marked) {
                                SetDirty ();
                        }
@@ -280,4 +282,3 @@ namespace System.Web.UI.WebControls
        }
 }
 
-#endif