You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by kn...@apache.org on 2007/06/11 14:11:34 UTC

svn commit: r546118 - /incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/DefaultTreeState.java

Author: knopp
Date: Mon Jun 11 05:11:34 2007
New Revision: 546118

URL: http://svn.apache.org/viewvc?view=rev&rev=546118
Log:
WICKET-139 - DefaultTreeState allowSelectMultiple == false not evaluated when selecting node already selected

Modified:
    incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/DefaultTreeState.java

Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/DefaultTreeState.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/DefaultTreeState.java?view=diff&rev=546118&r1=546117&r2=546118
==============================================================================
--- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/DefaultTreeState.java (original)
+++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/DefaultTreeState.java Mon Jun 11 05:11:34 2007
@@ -212,13 +212,14 @@
 	 */
 	public void selectNode(TreeNode node, boolean selected)
 	{
-		if (selected == true && selectedNodes.contains(node) == false)
+		
+		if (isAllowSelectMultiple() == false && selectedNodes.size() > 0)
 		{
-			if (isAllowSelectMultiple() == false && selectedNodes.size() > 0)
+			for (Iterator i = selectedNodes.iterator(); i.hasNext();)
 			{
-				for (Iterator i = selectedNodes.iterator(); i.hasNext();)
+				TreeNode current = (TreeNode)i.next();
+				if (current.equals(node) == false) 
 				{
-					TreeNode current = (TreeNode)i.next();
 					i.remove();
 					Object[] listenersCopy = listeners.toArray();
 					for(int j = 0; j < listenersCopy.length; j++) 
@@ -228,6 +229,11 @@
 					}
 				}
 			}
+		}
+		
+		if (selected == true && selectedNodes.contains(node) == false)
+		{
+			
 			selectedNodes.add(node);
 			Object[] listenersCopy = listeners.toArray();
 			for(int i = 0; i < listenersCopy.length; i++)