/** * Returns whether the given node is visible, e.g. all it's parents are expanded. * * @param node * The node to inspect * @return true if the node is visible, false otherwise */ private boolean isNodeVisible(Object node) { if (node == null) { return false; } Object parent = getParentNode(node); while (parent != null) { if (isNodeExpanded(parent) == false) { return false; } parent = getParentNode(parent); } return true; }
/** * Builds the children for given TreeItem. It recursively traverses children of it's TreeNode * and creates TreeItem for every visible TreeNode. * * @param item * The parent tree item */ private void buildItemChildren(TreeItem item) { List<TreeItem> items; // if the node is expanded if (isNodeExpanded(item.getModelObject())) { // build the items for children of the items' treenode. items = buildTreeItems(item, nodeChildren(item.getModelObject()), item.getLevel() + 1); } else { // it's not expanded, just set children to an empty list items = new ArrayList<TreeItem>(0); } item.setChildren(items); }
if (isNodeExpanded(parentNode))
if (isNodeExpanded(parentNode))