/** * Selects or deselects <code>node</code> and calls the corresponding method on all registered * <code>ITreeStateListeners</code>. If <code>isAllowSelectMultiple</code> is <code>false</code> * , any currently selected nodes are deselected. * * @param node * the node to be selected * @param selected * true if node is to be selected, false if node is to be deselected */ @Override public void selectNode(Object node, boolean selected) { if (selected) { selectNode(node); } else { deselectNode(node); } }
/** * Selects <code>node</code> and calls the <code>nodeSelected</code> method on all registered * <code>ITreeStateListeners</code>. If <code>isAllowSelectMultiple</code> is <code>false</code> * , any currently selected nodes are deselected. * * @param node * the node to be selected */ private void selectNode(Object node) { // if multiple selections are not allowed, deselect current selections if (selectedNodes.size() > 0 && !isAllowSelectMultiple()) { for (Object currentlySelectedNode : selectedNodes.toArray()) { if (!currentlySelectedNode.equals(node)) { deselectNode(currentlySelectedNode); } } } if (!selectedNodes.contains(node)) { selectedNodes.add(node); for (ITreeStateListener listener : listeners.toArray(new ITreeStateListener[listeners.size()])) { listener.nodeSelected(node); } } }