|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.swing.tree.DefaultTreeModel
projectviewer.vpt.ProjectTreeModel
projectviewer.vpt.ProjectCustomTreeModel
public abstract class ProjectCustomTreeModel
A tree model for customized trees, trees that do not follow the node hierarchy as defined by the original data. This class provides some useful methods for caching and doing boring tree management work for these trees.
Field Summary |
---|
Fields inherited from class javax.swing.tree.DefaultTreeModel |
---|
asksAllowsChildren, listenerList, root |
Constructor Summary | |
---|---|
protected |
ProjectCustomTreeModel(VPTNode root)
|
Method Summary | |
---|---|
protected void |
addChild(VPTProject proj,
VPTNode child)
Adds a child to the list of children of the given project. |
protected javax.swing.tree.TreeNode[] |
buildPathToRoot(javax.swing.tree.TreeNode aNode,
javax.swing.tree.TreeNode... children)
Returns the path from the root to the given node, appending an optional list of children of the node to the path. |
protected java.util.Map<VPTProject,java.util.List<VPTNode>> |
getCache()
Returns the internally cached children lists. |
protected java.util.List<VPTNode> |
getCachedChildren(VPTProject proj)
Retrieves the list of child nodes from the given project, first trying the cache. |
java.lang.Object |
getChild(java.lang.Object parent,
int index)
Returns the child at the given index of the given parent. |
int |
getChildCount(java.lang.Object parent)
Returns the number of children of the given node, based on the internal cached data. |
protected abstract java.util.List<VPTNode> |
getChildren(VPTProject proj)
Subclasses should implement this method to populate the list of children of a project node. |
int |
getIndexOfChild(java.lang.Object parent,
java.lang.Object child)
Returns the index of the given child in the given parent, according to the information in the internal cache. |
javax.swing.tree.TreeNode[] |
getPathToRoot(javax.swing.tree.TreeNode aNode)
Builds the path to the root of the tree up to the given node. |
protected boolean |
isCustom()
Overrides the parent implementation, returning "true". |
void |
nodeChanged(javax.swing.tree.TreeNode node)
Handles a node changed request. |
void |
nodeStructureChanged(javax.swing.tree.TreeNode node)
Called when some node in the tree is changed. |
void |
projectClosed(VPTProject p)
Remove data related to the project from the cache. |
protected void |
removeChild(VPTProject proj,
VPTNode child)
Remove a child from the internal cache for the given project. |
Methods inherited from class projectviewer.vpt.ProjectTreeModel |
---|
fileClosed, fileOpened, getName |
Methods inherited from class javax.swing.tree.DefaultTreeModel |
---|
addTreeModelListener, asksAllowsChildren, fireTreeNodesChanged, fireTreeNodesInserted, fireTreeNodesRemoved, fireTreeStructureChanged, getListeners, getPathToRoot, getRoot, getTreeModelListeners, insertNodeInto, isLeaf, nodesChanged, nodesWereInserted, nodesWereRemoved, reload, reload, removeNodeFromParent, removeTreeModelListener, setAsksAllowsChildren, setRoot, valueForPathChanged |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected ProjectCustomTreeModel(VPTNode root)
Method Detail |
---|
public java.lang.Object getChild(java.lang.Object parent, int index)
getChild
in interface javax.swing.tree.TreeModel
getChild
in class javax.swing.tree.DefaultTreeModel
public int getChildCount(java.lang.Object parent)
getChildCount
in interface javax.swing.tree.TreeModel
getChildCount
in class javax.swing.tree.DefaultTreeModel
public int getIndexOfChild(java.lang.Object parent, java.lang.Object child)
getIndexOfChild
in interface javax.swing.tree.TreeModel
getIndexOfChild
in class javax.swing.tree.DefaultTreeModel
public javax.swing.tree.TreeNode[] getPathToRoot(javax.swing.tree.TreeNode aNode)
getPathToRoot
in class javax.swing.tree.DefaultTreeModel
public void nodeChanged(javax.swing.tree.TreeNode node)
nodeChanged
in class javax.swing.tree.DefaultTreeModel
public void nodeStructureChanged(javax.swing.tree.TreeNode node)
nodeStructureChanged
in class javax.swing.tree.DefaultTreeModel
public void projectClosed(VPTProject p)
projectClosed
in class ProjectTreeModel
protected void addChild(VPTProject proj, VPTNode child)
protected javax.swing.tree.TreeNode[] buildPathToRoot(javax.swing.tree.TreeNode aNode, javax.swing.tree.TreeNode... children)
protected java.util.Map<VPTProject,java.util.List<VPTNode>> getCache()
protected java.util.List<VPTNode> getCachedChildren(VPTProject proj)
protected abstract java.util.List<VPTNode> getChildren(VPTProject proj)
proj
- The project being queried.protected boolean isCustom()
isCustom
in class ProjectTreeModel
protected void removeChild(VPTProject proj, VPTNode child)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |