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++)