/** * Creates the TreeState, which is an object where the current state of tree (which nodes are * expanded / collapsed, selected, ...) is stored. * * @return Tree state instance */ protected ITreeState newTreeState() { return new DefaultTreeState(); }
/** * 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); } } }
private void expandNodes(DefaultTreeState state, ExpandedNode node) { if (state.isNodeExpanded(node.treeNode)) { for (Map.Entry<String, ExpandedNode> entry : node.children.entrySet()) { expandNodes(state, entry.getValue()); } } }
public void setTreeState(final DefaultTreeState state) { expandNodes(state, expandedRoot); state.addTreeStateListener(new ObservableTreeStateListener()); }
@Override protected ITreeState newTreeState() { DefaultTreeState state = new DefaultTreeState(); JcrTreeModel model = (JcrTreeModel) getModelObject(); model.setTreeState(state); return state; }