edu.northwestern.at.utils.swing
Class TreeToListModel

java.lang.Object
  extended by javax.swing.AbstractListModel
      extended by edu.northwestern.at.utils.swing.TreeToListModel
All Implemented Interfaces:
java.io.Serializable, java.util.EventListener, javax.swing.ComboBoxModel, javax.swing.event.TreeModelListener, javax.swing.ListModel

public class TreeToListModel
extends javax.swing.AbstractListModel
implements javax.swing.ComboBoxModel, javax.swing.event.TreeModelListener

See Also:
Serialized Form

Field Summary
protected  java.util.Vector cache
          Cache of list entries.
protected  java.lang.Object currentValue
          Currently selected list value.
protected  boolean invalid
          True if list is currently invalid.
protected  javax.swing.tree.TreeModel source
          The tree model whose entries will be mapped to list entries.
 
Fields inherited from class javax.swing.AbstractListModel
listenerList
 
Constructor Summary
TreeToListModel(javax.swing.tree.TreeModel treeModel)
          Create tree to list model mapper.
 
Method Summary
protected  void addListEntry(java.lang.Object object, int level, boolean isNode)
          Add an entry to the tree/list.
protected  void cacheTree(java.lang.Object object, int level)
          Add object to list/tree cache.
 java.lang.Object getElementAt(int index)
          Get specified list element.
 java.lang.Object getSelectedItem()
          Get the selected item.
 int getSize()
          Return size of the list.
 void setSelectedItem(java.lang.Object anItem)
          Set the selected item.
 void treeNodesChanged(javax.swing.event.TreeModelEvent e)
          Called after a node (or a set of siblings) has changed in some way.
 void treeNodesInserted(javax.swing.event.TreeModelEvent e)
          Called after nodes have been inserted into the tree.
 void treeNodesRemoved(javax.swing.event.TreeModelEvent e)
          Called after nodes have been removed from the tree.
 void treeStructureChanged(javax.swing.event.TreeModelEvent e)
          Called after the tree has drastically changed structure.
protected  void validate()
          Validate the tree/list.
 
Methods inherited from class javax.swing.AbstractListModel
addListDataListener, fireContentsChanged, fireIntervalAdded, fireIntervalRemoved, getListDataListeners, getListeners, removeListDataListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.swing.ListModel
addListDataListener, removeListDataListener
 

Field Detail

source

protected javax.swing.tree.TreeModel source
The tree model whose entries will be mapped to list entries.


invalid

protected boolean invalid
True if list is currently invalid.


currentValue

protected java.lang.Object currentValue
Currently selected list value.


cache

protected java.util.Vector cache
Cache of list entries.

Constructor Detail

TreeToListModel

public TreeToListModel(javax.swing.tree.TreeModel treeModel)
Create tree to list model mapper.

Parameters:
treeModel - The tree model to be mapped to a list model.
Method Detail

getSelectedItem

public java.lang.Object getSelectedItem()
Get the selected item.

Specified by:
getSelectedItem in interface javax.swing.ComboBoxModel
Returns:
Selected item or null if no item selected.

setSelectedItem

public void setSelectedItem(java.lang.Object anItem)
Set the selected item.

Specified by:
setSelectedItem in interface javax.swing.ComboBoxModel
Parameters:
anItem - The item to make the selected item. if null, the selection is cleared.

getSize

public int getSize()
Return size of the list.

Specified by:
getSize in interface javax.swing.ListModel
Returns:
Size of the list.

getElementAt

public java.lang.Object getElementAt(int index)
Get specified list element.

Specified by:
getElementAt in interface javax.swing.ListModel
Parameters:
index - Index of element to return.
Returns:
The specified list element, or null if index is bad.

treeNodesChanged

public void treeNodesChanged(javax.swing.event.TreeModelEvent e)
Called after a node (or a set of siblings) has changed in some way.

Specified by:
treeNodesChanged in interface javax.swing.event.TreeModelListener
Parameters:
e - The tree model event.

treeNodesInserted

public void treeNodesInserted(javax.swing.event.TreeModelEvent e)
Called after nodes have been inserted into the tree.

Specified by:
treeNodesInserted in interface javax.swing.event.TreeModelListener
Parameters:
e - The tree model event.

treeNodesRemoved

public void treeNodesRemoved(javax.swing.event.TreeModelEvent e)
Called after nodes have been removed from the tree.

Specified by:
treeNodesRemoved in interface javax.swing.event.TreeModelListener
Parameters:
e - The tree model event.

treeStructureChanged

public void treeStructureChanged(javax.swing.event.TreeModelEvent e)
Called after the tree has drastically changed structure.

Specified by:
treeStructureChanged in interface javax.swing.event.TreeModelListener
Parameters:
e - The tree model event.

validate

protected void validate()
Validate the tree/list.


cacheTree

protected void cacheTree(java.lang.Object object,
                         int level)
Add object to list/tree cache.

Parameters:
object - Object to add.
level - Tree depth.

addListEntry

protected void addListEntry(java.lang.Object object,
                            int level,
                            boolean isNode)
Add an entry to the tree/list.

Parameters:
object - Object to add.
level - Depth in the tree.
isNode - True if not a leaf node.