2007-05-08 Marek Habersack <mhabersack@novell.com>
authorMarek Habersack <grendel@twistedcode.net>
Tue, 8 May 2007 09:01:54 +0000 (09:01 -0000)
committerMarek Habersack <grendel@twistedcode.net>
Tue, 8 May 2007 09:01:54 +0000 (09:01 -0000)
* TreeView.cs: children padding is rendered only before and after
the children are rendered, not between them. Also, render padding
only if there are any nodes to follow the current one.

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

mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
mcs/class/System.Web/System.Web.UI.WebControls/TreeView.cs

index 8ca5286be78fee0e8455213387b4fac5c4137812..dbc5b24c9bb12ab6162c2649b85c6c7c4e04c95e 100644 (file)
@@ -1,3 +1,9 @@
+2007-05-08  Marek Habersack  <mhabersack@novell.com>
+
+       * TreeView.cs: children padding is rendered only before and after
+       the children are rendered, not between them. Also, render padding
+       only if there are any nodes to follow the current one.
+
 2007-05-07  Marek Habersack  <mhabersack@novell.com>
 
        * Wizard.cs: additional checks to see whether the wizard needs to
index 15c4697d7907fb6bb79cf0e8fd030876bf905c52..39c0f0f9867dd39833d68453fed220e7eefc269c 100644 (file)
@@ -1442,36 +1442,44 @@ namespace System.Web.UI.WebControls
                        
                        // Children
                        
-                       if (hasChildNodes)
-                       {
-                               AddChildrenPadding (writer, node);
+                       if (hasChildNodes) {
                                if (level >= levelLines.Count) {
-                                       if (hasNext) levelLines.Add (this);
-                                       else levelLines.Add (null);
+                                       if (hasNext)
+                                               levelLines.Add (this);
+                                       else
+                                               levelLines.Add (null);
                                } else {
-                                       if (hasNext) levelLines [level] = this;
-                                       else levelLines [level] = null;
+                                       if (hasNext)
+                                               levelLines [level] = this;
+                                       else
+                                               levelLines [level] = null;
                                }
                                
                                if (clientExpand) {
-                                       if (!(node.Expanded.HasValue && node.Expanded.Value)) writer.AddStyleAttribute ("display", "none");
-                                       else writer.AddStyleAttribute ("display", "block");
+                                       if (!(node.Expanded.HasValue && node.Expanded.Value))
+                                               writer.AddStyleAttribute ("display", "none");
+                                       else
+                                               writer.AddStyleAttribute ("display", "block");
                                        writer.AddAttribute ("id", GetNodeClientId (node, null));
                                        writer.RenderBeginTag (HtmlTextWriterTag.Span);
                                        
                                        if (renderChildNodes) {
+                                               AddChildrenPadding (writer, node);
                                                int num = node.ChildNodes.Count;
                                                for (int n=0; n<num; n++)
                                                        RenderNode (writer, node.ChildNodes [n], level + 1, levelLines, true, n<num-1);
+                                               if (hasNext)
+                                                       AddChildrenPadding (writer, node);
                                        }
                                        writer.RenderEndTag (); // SPAN
-                               }
-                               else if (renderChildNodes) {
+                               } else if (renderChildNodes) {
+                                       AddChildrenPadding (writer, node);
                                        int num = node.ChildNodes.Count;
                                        for (int n=0; n<num; n++)
                                                RenderNode (writer, node.ChildNodes [n], level + 1, levelLines, true, n<num-1);
+                                       if (hasNext)
+                                               AddChildrenPadding (writer, node);
                                }
-                               AddChildrenPadding (writer, node);
                        }
                }