projectviewer.vpt
Class VPTCompactModel

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

public class VPTCompactModel
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.1.0
Version:
$Id: VPTCompactModel.java 6334 2005-02-10 06:33:28Z vanza $
Author:
francisdobi
See Also:
Serialized Form

Nested Class Summary
static class VPTCompactModel.CompactDirectoryNode
           
 
Field Summary
 
Fields inherited from class javax.swing.tree.DefaultTreeModel
asksAllowsChildren, listenerList, root
 
Constructor Summary
VPTCompactModel(VPTNode rootNode)
          Create a new VPTCompactModel.
 
Method Summary
 java.lang.Object getChild(java.lang.Object parent, int index)
           
 int getChildCount(java.lang.Object parent)
           
protected  void getCompressedDirectories(java.lang.StringBuffer leading, VPTNode node, java.util.List appendTo)
           
protected  java.util.List getCompressedDirectories(VPTProject node)
           
 int getIndexOfChild(java.lang.Object parent, java.lang.Object child)
           
protected  java.util.List getProjectChildren(VPTProject project)
           
protected  boolean hasFile(VPTNode node)
           
 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, getPathToRoot, getRoot, getTreeModelListeners, insertNodeInto, isLeaf, nodeChanged, 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

VPTCompactModel

public VPTCompactModel(VPTNode rootNode)
Create a new VPTCompactModel.

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)

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)

getCompressedDirectories

protected java.util.List getCompressedDirectories(VPTProject node)

getCompressedDirectories

protected void getCompressedDirectories(java.lang.StringBuffer leading,
                                        VPTNode node,
                                        java.util.List appendTo)

hasFile

protected boolean hasFile(VPTNode node)

getProjectChildren

protected java.util.List getProjectChildren(VPTProject project)