/** Returns {@code true} if given node is nested in given parent. */ private boolean nestedNodeOf(Node node, Node parent) { while (node != null) { node = node.getParent(); if (parent.equals(node)) { return true; } } return false; }
private void updateSavedNodes(Node parent, List<Node> children) { List<Node> savedChildren = savedNodes .stream() .filter(node -> node.getParent() != null && node.getParent().equals(parent)) .collect(toList()); if (savedChildren.size() == children.size()) { savedChildren.forEach( node -> { int i = savedNodes.indexOf(node); savedNodes.remove(node); savedNodes.add(i, children.get(savedChildren.indexOf(node))); }); } }
Node parent = savedNode.getParent(); if (parent == null) { nodeStorage.add(savedNode);
public Promise<List<MatchNode>> computeMatches(ElementNode elementNode) { Node ancestor = elementNode.getParent(); SearchResult rootElement = elementNode.getElement(); while ((ancestor instanceof ElementNode) && ((ElementNode) ancestor) .getElement() .getUri() .equals(elementNode.getElement().getUri())) { rootElement = ((ElementNode) ancestor).getElement(); ancestor = ancestor.getParent(); } return loadMatches(rootElement) .then( (Function<Map<LinearRange, SnippetResult>, List<MatchNode>>) matches -> { return filterMatches(elementNode.getElement(), matches); }); }
/** {@inheritDoc} */ public void reset() { // reset selection tree.getSelectionModel().deselectAll(); Element rootContainer = tree.getContainer(null); rootContainer.setInnerHTML(""); // restore root nodes for (Node rootNode : rootNodes) { NodeDescriptor descriptor = tree.getNodeDescriptor(rootNode); rootContainer.appendChild(descriptor.getRootContainer()); } // then re-add our go into node Node parent = node.getParent(); if (parent != null) { tree.getNodeStorage().add(parent, node); } tree.scrollIntoView(node); tree.getSelectionModel().select(node, false); tree.update(); active = false; fireEvent(new GoIntoStateEvent(DEACTIVATED, node)); }