Class SubstanceTreeUI
- java.lang.Object
-
- javax.swing.plaf.ComponentUI
-
- javax.swing.plaf.TreeUI
-
- javax.swing.plaf.basic.BasicTreeUI
-
- org.pushingpixels.substance.internal.ui.SubstanceTreeUI
-
public class SubstanceTreeUI extends BasicTreeUI
UI for lists in Substance look and feel.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
SubstanceTreeUI.MyTreeSelectionListener
Selection listener for selection animation effects.protected class
SubstanceTreeUI.PathRepaintCallback
Repaints a single path during the fade animation cycle.static class
SubstanceTreeUI.TreePathId
ID of a single tree path.-
Nested classes/interfaces inherited from class javax.swing.plaf.basic.BasicTreeUI
BasicTreeUI.CellEditorHandler, BasicTreeUI.ComponentHandler, BasicTreeUI.FocusHandler, BasicTreeUI.KeyHandler, BasicTreeUI.MouseHandler, BasicTreeUI.MouseInputHandler, BasicTreeUI.NodeDimensionsHandler, BasicTreeUI.PropertyChangeHandler, BasicTreeUI.SelectionModelPropertyChangeHandler, BasicTreeUI.TreeCancelEditingAction, BasicTreeUI.TreeExpansionHandler, BasicTreeUI.TreeHomeAction, BasicTreeUI.TreeIncrementAction, BasicTreeUI.TreeModelHandler, BasicTreeUI.TreePageAction, BasicTreeUI.TreeSelectionHandler, BasicTreeUI.TreeToggleAction, BasicTreeUI.TreeTraverseAction
-
-
Field Summary
Fields Modifier and Type Field Description protected SubstanceTreeUI.TreePathId
currRolloverPathId
Holds the currently rolled-over path ornull
if none such.protected Map<SubstanceTreeUI.TreePathId,Object>
selectedPaths
Holds the list of currently selected paths.protected org.pushingpixels.substance.internal.ui.SubstanceTreeUI.RolloverFadeListener
substanceFadeRolloverListener
Listener for transition animations on tree rollovers.protected PropertyChangeListener
substancePropertyChangeListener
Listener that listens to changes on tree properties.protected MouseListener
substanceRowSelectionListener
Listener for selection of an entire row.protected TreeSelectionListener
substanceSelectionFadeListener
Listener for selection animations.-
Fields inherited from class javax.swing.plaf.basic.BasicTreeUI
cellEditor, collapsedIcon, createdCellEditor, createdRenderer, currentCellRenderer, depthOffset, drawingCache, editingComponent, editingPath, editingRow, editorHasDifferentSize, expandedIcon, largeModel, lastSelectedRow, leftChildIndent, nodeDimensions, preferredMinSize, preferredSize, rendererPane, rightChildIndent, stopEditingInCompleteEditing, totalChildIndent, tree, treeModel, treeSelectionModel, treeState, validCachedPreferredSize
-
-
Constructor Summary
Constructors Constructor Description SubstanceTreeUI()
Creates a UI delegate for tree.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected TreeCellRenderer
createDefaultCellRenderer()
static ComponentUI
createUI(JComponent comp)
Insets
getCellRendererInsets()
Returns the cell renderer insets of this tree.SubstanceColorScheme
getDefaultColorScheme()
Returns the default color scheme of this tree.StateTransitionTracker.ModelStateInfo
getModelStateInfo(SubstanceTreeUI.TreePathId pathId)
Rectangle
getPathBounds(JTree tree, TreePath path)
ComponentState
getPathState(SubstanceTreeUI.TreePathId pathId)
Returns the current state for the specified path.int
getPivotRendererX(Rectangle paintBounds)
Returns the pivot X for the cells rendered in the specified area.StateTransitionTracker
getStateTransitionTracker(SubstanceTreeUI.TreePathId pathId)
protected void
installDefaults()
protected void
installListeners()
protected void
paintExpandControl(Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf)
protected void
paintExpandControlEnforce(Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf)
Paints the expand control of the specified row.protected void
paintHorizontalPartOfLeg(Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf)
protected void
paintRow(Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf)
protected void
paintVerticalPartOfLeg(Graphics g, Rectangle clipBounds, Insets insets, TreePath path)
protected void
uninstallDefaults()
protected void
uninstallListeners()
void
update(Graphics g, JComponent c)
-
Methods inherited from class javax.swing.plaf.basic.BasicTreeUI
cancelEditing, checkForClickInExpandControl, completeEditing, completeEditing, completeUIInstall, completeUIUninstall, configureLayoutCache, createCellEditorListener, createCellRendererPane, createComponentListener, createDefaultCellEditor, createFocusListener, createKeyListener, createLayoutCache, createMouseListener, createNodeDimensions, createPropertyChangeListener, createSelectionModelPropertyChangeListener, createTreeExpansionListener, createTreeModelListener, createTreeSelectionListener, drawCentered, drawDashedHorizontalLine, drawDashedVerticalLine, ensureRowsAreVisible, getBaseline, getBaselineResizeBehavior, getCellEditor, getCellRenderer, getClosestPathForLocation, getCollapsedIcon, getDropLineRect, getEditingPath, getExpandedIcon, getHashColor, getHorizontalLegBuffer, getLastChildPath, getLeadSelectionRow, getLeftChildIndent, getMaximumSize, getMinimumSize, getModel, getPathForRow, getPreferredMinSize, getPreferredSize, getPreferredSize, getRightChildIndent, getRowCount, getRowForPath, getRowHeight, getRowX, getSelectionModel, getShowsRootHandles, getVerticalLegBuffer, handleExpandControlClick, installComponents, installKeyboardActions, installUI, isDropLine, isEditable, isEditing, isLargeModel, isLeaf, isLocationInExpandControl, isMultiSelectEvent, isRootVisible, isToggleEvent, isToggleSelectionEvent, paint, paintDropLine, paintHorizontalLine, paintVerticalLine, pathWasCollapsed, pathWasExpanded, prepareForUIInstall, prepareForUIUninstall, selectPathForEvent, setCellEditor, setCellRenderer, setCollapsedIcon, setEditable, setExpandedIcon, setHashColor, setLargeModel, setLeftChildIndent, setModel, setPreferredMinSize, setRightChildIndent, setRootVisible, setRowHeight, setSelectionModel, setShowsRootHandles, shouldPaintExpandControl, startEditing, startEditingAtPath, stopEditing, toggleExpandState, uninstallComponents, uninstallKeyboardActions, uninstallUI, updateCachedPreferredSize, updateCellEditor, updateDepthOffset, updateExpandedDescendants, updateLayoutCacheExpandedNodes, updateLeadSelectionRow, updateRenderer, updateSize
-
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount
-
-
-
-
Field Detail
-
selectedPaths
protected Map<SubstanceTreeUI.TreePathId,Object> selectedPaths
Holds the list of currently selected paths.
-
currRolloverPathId
protected SubstanceTreeUI.TreePathId currRolloverPathId
Holds the currently rolled-over path ornull
if none such.
-
substancePropertyChangeListener
protected PropertyChangeListener substancePropertyChangeListener
Listener that listens to changes on tree properties.
-
substanceSelectionFadeListener
protected TreeSelectionListener substanceSelectionFadeListener
Listener for selection animations.
-
substanceFadeRolloverListener
protected org.pushingpixels.substance.internal.ui.SubstanceTreeUI.RolloverFadeListener substanceFadeRolloverListener
Listener for transition animations on tree rollovers.
-
substanceRowSelectionListener
protected MouseListener substanceRowSelectionListener
Listener for selection of an entire row.
-
-
Method Detail
-
createUI
public static ComponentUI createUI(JComponent comp)
-
installDefaults
protected void installDefaults()
- Overrides:
installDefaults
in classBasicTreeUI
-
uninstallDefaults
protected void uninstallDefaults()
- Overrides:
uninstallDefaults
in classBasicTreeUI
-
paintRow
protected void paintRow(Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf)
- Overrides:
paintRow
in classBasicTreeUI
-
paintExpandControl
protected void paintExpandControl(Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf)
- Overrides:
paintExpandControl
in classBasicTreeUI
-
paintExpandControlEnforce
protected void paintExpandControlEnforce(Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf)
Paints the expand control of the specified row.- Parameters:
g
- Graphics context.clipBounds
- Clip bounds.insets
- Insets.bounds
- Row bounds.path
- Tree path.row
- Tree row.isExpanded
- Expand indication.hasBeenExpanded
- Indication whether this row has ever been expanded.isLeaf
- Indication whether this row is a leaf.
-
paintHorizontalPartOfLeg
protected void paintHorizontalPartOfLeg(Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf)
- Overrides:
paintHorizontalPartOfLeg
in classBasicTreeUI
-
paintVerticalPartOfLeg
protected void paintVerticalPartOfLeg(Graphics g, Rectangle clipBounds, Insets insets, TreePath path)
- Overrides:
paintVerticalPartOfLeg
in classBasicTreeUI
-
createDefaultCellRenderer
protected TreeCellRenderer createDefaultCellRenderer()
- Overrides:
createDefaultCellRenderer
in classBasicTreeUI
-
installListeners
protected void installListeners()
- Overrides:
installListeners
in classBasicTreeUI
-
uninstallListeners
protected void uninstallListeners()
- Overrides:
uninstallListeners
in classBasicTreeUI
-
getPivotRendererX
public int getPivotRendererX(Rectangle paintBounds)
Returns the pivot X for the cells rendered in the specified area. Used for the smart tree scroll (SubstanceLookAndFeel.TREE_SMART_SCROLL_ANIMATION_KIND
).- Parameters:
paintBounds
- Area bounds.- Returns:
- Pivot X for the cells rendered in the specified area
-
getPathState
public ComponentState getPathState(SubstanceTreeUI.TreePathId pathId)
Returns the current state for the specified path.- Parameters:
pathId
- Path index.- Returns:
- The current state for the specified path.
-
getModelStateInfo
public StateTransitionTracker.ModelStateInfo getModelStateInfo(SubstanceTreeUI.TreePathId pathId)
-
update
public void update(Graphics g, JComponent c)
- Overrides:
update
in classComponentUI
-
getDefaultColorScheme
public SubstanceColorScheme getDefaultColorScheme()
Returns the default color scheme of this tree. Is for internal use only.- Returns:
- The default color scheme of this tree.
-
getCellRendererInsets
public Insets getCellRendererInsets()
Returns the cell renderer insets of this tree. Is for internal use only.- Returns:
- The cell renderer insets of this tree.
-
getPathBounds
public Rectangle getPathBounds(JTree tree, TreePath path)
- Overrides:
getPathBounds
in classBasicTreeUI
-
getStateTransitionTracker
public StateTransitionTracker getStateTransitionTracker(SubstanceTreeUI.TreePathId pathId)
-
-