projectviewer.vpt
Class VPTFilteredModel

java.lang.Object
  extended byjavax.swing.tree.DefaultTreeModel
      extended byprojectviewer.vpt.VPTFilteredModel
All Implemented Interfaces:
java.io.Serializable, javax.swing.tree.TreeModel

public class VPTFilteredModel
extends javax.swing.tree.DefaultTreeModel

A tree model that compress the view by displaying packed directories.

A directory is displayed only if it contains at least one (non-hidden) file. The relative path is used to display these directories.

Example:

-MyProject
-src/net/sf/myproject/ui
MyFrame.java
MyDialog.java
-src/net/sf/myproject/actions
MyAction.java
+src/net/sf/myproject/mybigpackage

Since:
PV 2.2.0.0
Version:
$Id: VPTFilteredModel.java 9433 2007-04-15 01:45:09Z vanza $
Author:
Rudolf Widmann
See Also:
Serialized Form

Nested Class Summary
 class VPTFilteredModel.FilteredDirectoryNode
           
 
Field Summary
 
Fields inherited from class javax.swing.tree.DefaultTreeModel
asksAllowsChildren, listenerList, root
 
Constructor Summary
VPTFilteredModel(VPTNode rootNode)
          Create a new VPTFilteredModel.
 
Method Summary
 void clearCache()
          when the filter has changed, clear the cache
 java.lang.Object getChild(java.lang.Object parent, int index)
           
 int getChildCount(java.lang.Object parent)
           
protected  java.util.List getFilteredNodes(VPTProject node)
           
 int getIndexOfChild(java.lang.Object parent, java.lang.Object child)
           
 javax.swing.tree.TreeNode[] getPathToRoot(javax.swing.tree.TreeNode aNode)
           
protected  java.util.List getProjectChildren(VPTProject project)
           
protected  boolean hasFile(VPTNode node)
           
 void nodeChanged(javax.swing.tree.TreeNode node)
          Handles a node changed request.
 void nodeStructureChanged(javax.swing.tree.TreeNode node)
           
 void nodesWereInserted(javax.swing.tree.TreeNode node, int[] childIndices)
           
 void nodesWereRemoved(javax.swing.tree.TreeNode node, int[] childIndices, java.lang.Object[] removedChildren)
           
 
Methods inherited from class javax.swing.tree.DefaultTreeModel
addTreeModelListener, asksAllowsChildren, fireTreeNodesChanged, fireTreeNodesInserted, fireTreeNodesRemoved, fireTreeStructureChanged, getListeners, getPathToRoot, getRoot, getTreeModelListeners, insertNodeInto, isLeaf, nodesChanged, 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

VPTFilteredModel

public VPTFilteredModel(VPTNode rootNode)
Create a new VPTFilteredModel.

Parameters:
rootNode - The root node of the tree.
Method Detail

getChildCount

public int getChildCount(java.lang.Object parent)

getChild

public java.lang.Object getChild(java.lang.Object parent,
                                 int index)

getIndexOfChild

public int getIndexOfChild(java.lang.Object parent,
                           java.lang.Object child)

nodeStructureChanged

public void nodeStructureChanged(javax.swing.tree.TreeNode node)

clearCache

public void clearCache()
when the filter has changed, clear the cache


nodesWereInserted

public void nodesWereInserted(javax.swing.tree.TreeNode node,
                              int[] childIndices)

nodesWereRemoved

public void nodesWereRemoved(javax.swing.tree.TreeNode node,
                             int[] childIndices,
                             java.lang.Object[] removedChildren)

getFilteredNodes

protected java.util.List getFilteredNodes(VPTProject node)

hasFile

protected boolean hasFile(VPTNode node)

getProjectChildren

protected java.util.List getProjectChildren(VPTProject project)

getPathToRoot

public javax.swing.tree.TreeNode[] getPathToRoot(javax.swing.tree.TreeNode aNode)

nodeChanged

public void nodeChanged(javax.swing.tree.TreeNode node)
Handles a node changed request.