com.mucommander.ui.main.tree
Class FilesTreeModel

java.lang.Object
  extended by com.mucommander.ui.main.tree.FilesTreeModel
All Implemented Interfaces:
CachedDirectoryListener, java.util.EventListener, javax.swing.tree.TreeModel

public class FilesTreeModel
extends java.lang.Object
implements javax.swing.tree.TreeModel, CachedDirectoryListener

A tree model for files. This class contains a tree structure defined by AbstractFile objects.

Author:
Mariusz Jakubowski

Field Summary
protected  javax.swing.event.EventListenerList listenerList
          Listeners.
 
Constructor Summary
FilesTreeModel(FileFilter filter, FileComparator sort)
           
 
Method Summary
 void addTreeModelListener(javax.swing.event.TreeModelListener l)
           
 void cachingEnded(AbstractFile parent)
           
 void cachingStarted(AbstractFile parent)
           
 java.lang.Object getChild(java.lang.Object parent, int index)
           
 int getChildCount(java.lang.Object parent)
           
 javax.swing.Icon getCurrentIcon(AbstractFile file)
          Returns an icon of this directory or spinning icon if this directory is being cached.
 int getIndexOfChild(java.lang.Object parent, java.lang.Object child)
           
 AbstractFile[] getPathToRoot(AbstractFile aNode)
          Builds the parents of node up to and including the root node, where the original node is the last element in the returned array.
protected  AbstractFile[] getPathToRoot(AbstractFile aNode, int depth)
          Builds the parents of node up to and including the root node, where the original node is the last element in the returned array.
 java.lang.Object getRoot()
           
 boolean isLeaf(java.lang.Object node)
           
 void refresh(javax.swing.tree.TreePath path)
          Refreshes tree model from given path.
 void removeTreeModelListener(javax.swing.event.TreeModelListener l)
           
 void setRoot(AbstractFile newRoot)
          Changes the current root of a tree Fires 'tree structure changed' event.
 void valueForPathChanged(javax.swing.tree.TreePath path, java.lang.Object newValue)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

listenerList

protected javax.swing.event.EventListenerList listenerList
Listeners.

Constructor Detail

FilesTreeModel

public FilesTreeModel(FileFilter filter,
                      FileComparator sort)
Method Detail

setRoot

public void setRoot(AbstractFile newRoot)
Changes the current root of a tree Fires 'tree structure changed' event.

Parameters:
newRoot - the new root of a tree

getRoot

public java.lang.Object getRoot()
Specified by:
getRoot in interface javax.swing.tree.TreeModel

getChild

public java.lang.Object getChild(java.lang.Object parent,
                                 int index)
Specified by:
getChild in interface javax.swing.tree.TreeModel

getChildCount

public int getChildCount(java.lang.Object parent)
Specified by:
getChildCount in interface javax.swing.tree.TreeModel

getIndexOfChild

public int getIndexOfChild(java.lang.Object parent,
                           java.lang.Object child)
Specified by:
getIndexOfChild in interface javax.swing.tree.TreeModel

isLeaf

public boolean isLeaf(java.lang.Object node)
Specified by:
isLeaf in interface javax.swing.tree.TreeModel

valueForPathChanged

public void valueForPathChanged(javax.swing.tree.TreePath path,
                                java.lang.Object newValue)
Specified by:
valueForPathChanged in interface javax.swing.tree.TreeModel

getPathToRoot

public AbstractFile[] getPathToRoot(AbstractFile aNode)
Builds the parents of node up to and including the root node, where the original node is the last element in the returned array. The length of the returned array gives the node's depth in the tree.

Parameters:
aNode - the TreeNode to get the path for

getPathToRoot

protected AbstractFile[] getPathToRoot(AbstractFile aNode,
                                       int depth)
Builds the parents of node up to and including the root node, where the original node is the last element in the returned array. The length of the returned array gives the node's depth in the tree.

Parameters:
aNode - the TreeNode to get the path for
depth - an int giving the number of steps already taken towards the root (on recursive calls), used to size the returned array
Returns:
an array of TreeNodes giving the path from the root to the specified node

addTreeModelListener

public void addTreeModelListener(javax.swing.event.TreeModelListener l)
Specified by:
addTreeModelListener in interface javax.swing.tree.TreeModel

removeTreeModelListener

public void removeTreeModelListener(javax.swing.event.TreeModelListener l)
Specified by:
removeTreeModelListener in interface javax.swing.tree.TreeModel

refresh

public void refresh(javax.swing.tree.TreePath path)
Refreshes tree model from given path.

Parameters:
path - a path to refresh

cachingStarted

public void cachingStarted(AbstractFile parent)
Specified by:
cachingStarted in interface CachedDirectoryListener

cachingEnded

public void cachingEnded(AbstractFile parent)
Specified by:
cachingEnded in interface CachedDirectoryListener

getCurrentIcon

public javax.swing.Icon getCurrentIcon(AbstractFile file)
Returns an icon of this directory or spinning icon if this directory is being cached.

Returns:
an icon of this directory or spinning icon if this directory is being cached.


This file is part of muCommander - Copyright (C) 2002-2008 Maxence Bernard