protected TreePath getPath() { if (node == null) return null; if (isNodeParentNode) return node.getTreePath() .pathByAddingChild(treeModel.getChild(node.getUserObject(), childIndex)); return node.path; }
/** Messaged to set the user object. This resets the path. */ public void setUserObject(Object o) { super.setUserObject(o); if (path != null) { FHTreeStateNode parent = (FHTreeStateNode) getParent(); if (parent != null) resetChildrenPaths(parent.getTreePath()); else resetChildrenPaths(null); } }
/** @return next visible TreePath. */ public TreePath nextElement() { if (!hasMoreElements()) throw new NoSuchElementException("No more visible paths"); TreePath retObject; if (nextIndex == -1) retObject = parent.getTreePath(); else { FHTreeStateNode node = parent.getChildAtModelIndex(nextIndex); if (node == null) retObject = parent .getTreePath() .pathByAddingChild(treeModel.getChild(parent.getUserObject(), nextIndex)); else retObject = node.getTreePath(); } updateNextObject(); return retObject; }
/** Removes the mapping for a previously added node. */ private void removeMapping(FHTreeStateNode node) { treePathMapping.remove(node.getTreePath()); }
/** Adds a mapping for node. */ private void addMapping(FHTreeStateNode node) { treePathMapping.put(node.getTreePath(), node); }