You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by si...@apache.org on 2007/02/12 23:23:59 UTC

svn commit: r506705 - /cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/tree/Tree.java

Author: simoneg
Date: Mon Feb 12 14:23:59 2007
New Revision: 506705

URL: http://svn.apache.org/viewvc?view=rev&rev=506705
Log:
Added expandAll and collapseAll methods, and fixed makeVisible .

Modified:
    cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/tree/Tree.java

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/tree/Tree.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/tree/Tree.java?view=diff&rev=506705&r1=506704&r2=506705
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/tree/Tree.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/tree/Tree.java Mon Feb 12 14:23:59 2007
@@ -360,6 +360,8 @@
             TreePath parent = path.getParentPath();
             if (parent != null) {
                 expandPath(parent);
+                // Make visible also all parent paths
+                makeVisible(parent);
             }
         }
     }
@@ -394,6 +396,31 @@
             }
         }
     }
+    
+    public void collapseAll() {
+    	this.expandedPaths.clear();
+        if (!this.rootVisible) {
+            this.expandedPaths.add(TreePath.ROOT_PATH);
+        }    	
+    }
+    
+    public void expandAll() {
+    	collapseAll();
+        this.expandedPaths.add(TreePath.ROOT_PATH);    	
+    	TreeWalker tw = new TreeWalker(this);
+    	tw.enterChildren();
+    	while (tw.hasNext()) {
+    		tw.next();
+    		if (!tw.isLeaf()) {
+    			expandPath(tw.getPath());
+    			tw.enterChildren();
+    		}
+    		if (!tw.hasNext()) {
+    			tw.leave();
+    		}
+    	}
+    }
+    
 
     public void setExpandsSelectedPath(boolean value) {
         this.expandSelectedPath  = value;