javax.swing.tree
Class AbstractLayoutCache

java.lang.Object
  extended by javax.swing.tree.AbstractLayoutCache
All Implemented Interfaces:
RowMapper
Direct Known Subclasses:
VariableHeightLayoutCache

public abstract class AbstractLayoutCache
extends Object
implements RowMapper

class AbstractLayoutCache


Nested Class Summary
static class AbstractLayoutCache.NodeDimensions
          class NodeDimensions
 
Field Summary
protected  AbstractLayoutCache.NodeDimensions nodeDimensions
          nodeDimensions
protected  boolean rootVisible
          rootVisible
protected  int rowHeight
          rowHeight
protected  TreeModel treeModel
          treeModel
protected  TreeSelectionModel treeSelectionModel
          treeSelectionModel
 
Constructor Summary
AbstractLayoutCache()
          Constructor AbstractLayoutCache
 
Method Summary
abstract  Rectangle getBounds(TreePath value0, Rectangle value1)
          getBounds
abstract  boolean getExpandedState(TreePath path)
          getExpandedState
 TreeModel getModel()
          Returns the model that provides the tree data.
 AbstractLayoutCache.NodeDimensions getNodeDimensions()
          getNodeDimensions
protected  Rectangle getNodeDimensions(Object value, int row, int depth, boolean expanded, Rectangle bounds)
          Get the node dimensions.
abstract  TreePath getPathClosestTo(int value0, int value1)
          getPathClosestTo
abstract  TreePath getPathForRow(int row)
          getPathForRow
 int getPreferredHeight()
          Get the sum of heights for all rows.
 int getPreferredWidth(Rectangle rect)
          Get the maximal width.
abstract  int getRowCount()
          getRowCount
abstract  int getRowForPath(TreePath path)
          getRowForPath
 int getRowHeight()
          getRowHeight
 int[] getRowsForPaths(TreePath[] paths)
          Get the tree row numbers for the given pathes.
 TreeSelectionModel getSelectionModel()
          getSelectionModel
abstract  int getVisibleChildCount(TreePath path)
          getVisibleChildCount
abstract  Enumeration<TreePath> getVisiblePathsFrom(TreePath path)
          getVisiblePathsFrom
abstract  void invalidatePathBounds(TreePath path)
          invalidatePathBounds
abstract  void invalidateSizes()
          invalidateSizes
abstract  boolean isExpanded(TreePath value0)
          isExpanded
protected  boolean isFixedRowHeight()
          Returns true if this layout supposes that all rows have the fixed height.
 boolean isRootVisible()
          isRootVisible
abstract  void setExpandedState(TreePath value0, boolean value1)
          setExpandedState
 void setModel(TreeModel model)
          Sets the model that provides the tree data.
 void setNodeDimensions(AbstractLayoutCache.NodeDimensions dimensions)
          setNodeDimensions
 void setRootVisible(boolean visible)
          setRootVisible
 void setRowHeight(int height)
          setRowHeight
 void setSelectionModel(TreeSelectionModel model)
          setSelectionModel
abstract  void treeNodesChanged(TreeModelEvent event)
          treeNodesChanged
abstract  void treeNodesInserted(TreeModelEvent event)
          treeNodesInserted
abstract  void treeNodesRemoved(TreeModelEvent event)
          treeNodesRemoved
abstract  void treeStructureChanged(TreeModelEvent event)
          treeStructureChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nodeDimensions

protected AbstractLayoutCache.NodeDimensions nodeDimensions
nodeDimensions


treeModel

protected TreeModel treeModel
treeModel


treeSelectionModel

protected TreeSelectionModel treeSelectionModel
treeSelectionModel


rootVisible

protected boolean rootVisible
rootVisible


rowHeight

protected int rowHeight
rowHeight

Constructor Detail

AbstractLayoutCache

public AbstractLayoutCache()
Constructor AbstractLayoutCache

Method Detail

setNodeDimensions

public void setNodeDimensions(AbstractLayoutCache.NodeDimensions dimensions)
setNodeDimensions

Parameters:
dimensions - TODO

getNodeDimensions

public AbstractLayoutCache.NodeDimensions getNodeDimensions()
getNodeDimensions

Returns:
NodeDimensions

getNodeDimensions

protected Rectangle getNodeDimensions(Object value,
                                      int row,
                                      int depth,
                                      boolean expanded,
                                      Rectangle bounds)
Get the node dimensions. The NodeDimensions property must be set (unless the method is overridden, like if FixedHeightLayoutCache. If the method is not overridden and the property is not set, the InternalError is thrown.

Parameters:
value - the last node in the path
row - the node row
depth - the indentation depth
expanded - true if this node is expanded, false otherwise
bounds - the area where the tree is displayed

setModel

public void setModel(TreeModel model)
Sets the model that provides the tree data.

Parameters:
model - the model

getModel

public TreeModel getModel()
Returns the model that provides the tree data.

Returns:
the model

setRootVisible

public void setRootVisible(boolean visible)
setRootVisible

Parameters:
visible - true if root should be visible, false otherwise

isRootVisible

public boolean isRootVisible()
isRootVisible

Returns:
true if root is visible, false otherwise

setRowHeight

public void setRowHeight(int height)
setRowHeight

Parameters:
height - the row height

getRowHeight

public int getRowHeight()
getRowHeight

Returns:
the row height

setSelectionModel

public void setSelectionModel(TreeSelectionModel model)
setSelectionModel

Parameters:
model - the model

getSelectionModel

public TreeSelectionModel getSelectionModel()
getSelectionModel

Returns:
the model

getPreferredHeight

public int getPreferredHeight()
Get the sum of heights for all rows. This class provides a general not optimized implementation that is overridded in derived classes (VariableHeightLayoutCache, FixedHeightLayoutCache) for the better performance.


getPreferredWidth

public int getPreferredWidth(Rectangle rect)
Get the maximal width. This class provides a general not optimized implementation that is overridded in derived classes (VariableHeightLayoutCache, FixedHeightLayoutCache) for the better performance.

Parameters:
rect - the rectangle that is used during the method work

isExpanded

public abstract boolean isExpanded(TreePath value0)
isExpanded

Parameters:
value0 - TODO
Returns:
boolean

getBounds

public abstract Rectangle getBounds(TreePath value0,
                                    Rectangle value1)
getBounds

Parameters:
value0 - TODO
value1 - TODO
Returns:
Rectangle

getPathForRow

public abstract TreePath getPathForRow(int row)
getPathForRow

Parameters:
row - the row
Returns:
the tree path

getRowForPath

public abstract int getRowForPath(TreePath path)
getRowForPath

Parameters:
path - the tree path
Returns:
the row

getPathClosestTo

public abstract TreePath getPathClosestTo(int value0,
                                          int value1)
getPathClosestTo

Parameters:
value0 - TODO
value1 - TODO
Returns:
the tree path

getVisiblePathsFrom

public abstract Enumeration<TreePath> getVisiblePathsFrom(TreePath path)
getVisiblePathsFrom

Parameters:
path - the tree path
Returns:
Enumeration

getVisibleChildCount

public abstract int getVisibleChildCount(TreePath path)
getVisibleChildCount

Parameters:
path - the tree path
Returns:
int

setExpandedState

public abstract void setExpandedState(TreePath value0,
                                      boolean value1)
setExpandedState

Parameters:
value0 - TODO
value1 - TODO

getExpandedState

public abstract boolean getExpandedState(TreePath path)
getExpandedState

Parameters:
path - the tree path
Returns:
boolean

getRowCount

public abstract int getRowCount()
getRowCount

Returns:
the number of rows

invalidateSizes

public abstract void invalidateSizes()
invalidateSizes


invalidatePathBounds

public abstract void invalidatePathBounds(TreePath path)
invalidatePathBounds

Parameters:
path - the tree path

treeNodesChanged

public abstract void treeNodesChanged(TreeModelEvent event)
treeNodesChanged

Parameters:
event - the event to send

treeNodesInserted

public abstract void treeNodesInserted(TreeModelEvent event)
treeNodesInserted

Parameters:
event - the event to send

treeNodesRemoved

public abstract void treeNodesRemoved(TreeModelEvent event)
treeNodesRemoved

Parameters:
event - the event to send

treeStructureChanged

public abstract void treeStructureChanged(TreeModelEvent event)
treeStructureChanged

Parameters:
event - the event to send

getRowsForPaths

public int[] getRowsForPaths(TreePath[] paths)
Get the tree row numbers for the given pathes. This method performs the "bulk" conversion that may be faster than mapping pathes one by one. To have the benefit from the bulk conversion, the method must be overridden in the derived classes. The default method delegates work to the getRowForPath(TreePath).

Specified by:
getRowsForPaths in interface RowMapper
Parameters:
paths - the tree paths the array of the tree pathes.
Returns:
the array of the matching tree rows.

isFixedRowHeight

protected boolean isFixedRowHeight()
Returns true if this layout supposes that all rows have the fixed height.

Returns:
boolean true if all rows in the tree must have the fixed height (false by default).