Class RadianceTreeUI
- java.lang.Object
-
- javax.swing.plaf.ComponentUI
-
- javax.swing.plaf.TreeUI
-
- javax.swing.plaf.basic.BasicTreeUI
-
- org.pushingpixels.radiance.theming.internal.ui.RadianceTreeUI
-
public class RadianceTreeUI extends javax.swing.plaf.basic.BasicTreeUIUI for lists in Radiance look and feel.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classRadianceTreeUI.MyTreeSelectionListenerSelection listener for selection animation effects.protected classRadianceTreeUI.PathRepaintCallbackRepaints a single path during the fade animation cycle.private classRadianceTreeUI.RolloverFadeListenerListener for rollover animation effects.private classRadianceTreeUI.RowSelectionListenerListener for selecting the entire rows.static classRadianceTreeUI.TreePathIdID of a single tree path.-
Nested classes/interfaces inherited from class javax.swing.plaf.basic.BasicTreeUI
javax.swing.plaf.basic.BasicTreeUI.CellEditorHandler, javax.swing.plaf.basic.BasicTreeUI.ComponentHandler, javax.swing.plaf.basic.BasicTreeUI.FocusHandler, javax.swing.plaf.basic.BasicTreeUI.KeyHandler, javax.swing.plaf.basic.BasicTreeUI.MouseHandler, javax.swing.plaf.basic.BasicTreeUI.MouseInputHandler, javax.swing.plaf.basic.BasicTreeUI.NodeDimensionsHandler, javax.swing.plaf.basic.BasicTreeUI.PropertyChangeHandler, javax.swing.plaf.basic.BasicTreeUI.SelectionModelPropertyChangeHandler, javax.swing.plaf.basic.BasicTreeUI.TreeCancelEditingAction, javax.swing.plaf.basic.BasicTreeUI.TreeExpansionHandler, javax.swing.plaf.basic.BasicTreeUI.TreeHomeAction, javax.swing.plaf.basic.BasicTreeUI.TreeIncrementAction, javax.swing.plaf.basic.BasicTreeUI.TreeModelHandler, javax.swing.plaf.basic.BasicTreeUI.TreePageAction, javax.swing.plaf.basic.BasicTreeUI.TreeSelectionHandler, javax.swing.plaf.basic.BasicTreeUI.TreeToggleAction, javax.swing.plaf.basic.BasicTreeUI.TreeTraverseAction
-
-
Field Summary
Fields Modifier and Type Field Description private java.awt.InsetscellRendererInsetsCell renderer insets.private ContainerColorTokenscurrDefaultColorTokensThe current default color tokens.private RadianceTreeUI.TreePathIdcurrRolloverPathIdHolds the currently rolled-over path ornullif none such.private RadianceTreeUI.RolloverFadeListenerradianceFadeRolloverListenerListener for transition animations on tree rollovers.private java.beans.PropertyChangeListenerradiancePropertyChangeListenerListener that listens to changes on tree properties.private java.awt.event.MouseListenerradianceRowSelectionListenerListener for selection of an entire row.private javax.swing.event.TreeSelectionListenerradianceSelectionFadeListenerListener for selection animations.private java.util.Map<RadianceTreeUI.TreePathId,java.lang.Object>selectedPathsHolds the list of currently selected paths.private StateTransitionMultiTracker<RadianceTreeUI.TreePathId>stateTransitionMultiTrackerprivate java.util.Set<RadianceThemingWidget<javax.swing.JComponent>>themingWidgets-
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 Modifier Constructor Description protectedRadianceTreeUI()Creates a UI delegate for tree.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected javax.swing.tree.TreeCellRenderercreateDefaultCellRenderer()static javax.swing.plaf.ComponentUIcreateUI(javax.swing.JComponent comp)java.awt.InsetsgetCellRendererInsets()Returns the cell renderer insets of this tree.ContainerColorTokensgetDefaultColorTokens()Returns the default color tokens of this tree.StateTransitionTracker.ModelStateInfogetModelStateInfo(RadianceTreeUI.TreePathId pathId)java.awt.RectanglegetPathBounds(javax.swing.JTree tree, javax.swing.tree.TreePath path)ComponentStategetPathState(RadianceTreeUI.TreePathId pathId)Returns the current state for the specified path.intgetPivotRendererX(java.awt.Rectangle paintBounds)Returns the pivot X for the cells rendered in the specified area.private StateTransitionTrackergetTracker(RadianceTreeUI.TreePathId pathId, boolean initialRollover, boolean initialSelected)protected voidinstallComponents()protected voidinstallDefaults()protected voidinstallListeners()voidinstallUI(javax.swing.JComponent c)protected voidpaintExpandControl(java.awt.Graphics g, java.awt.Rectangle clipBounds, java.awt.Insets insets, java.awt.Rectangle bounds, javax.swing.tree.TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf)private voidpaintExpandControlEnforce(java.awt.Graphics g, java.awt.Rectangle clipBounds, java.awt.Insets insets, java.awt.Rectangle bounds, javax.swing.tree.TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf)Paints the expand control of the specified row.protected voidpaintHorizontalPartOfLeg(java.awt.Graphics g, java.awt.Rectangle clipBounds, java.awt.Insets insets, java.awt.Rectangle bounds, javax.swing.tree.TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf)protected voidpaintRow(java.awt.Graphics g, java.awt.Rectangle clipBounds, java.awt.Insets insets, java.awt.Rectangle bounds, javax.swing.tree.TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf)protected voidpaintVerticalPartOfLeg(java.awt.Graphics g, java.awt.Rectangle clipBounds, java.awt.Insets insets, javax.swing.tree.TreePath path)protected voiduninstallComponents()protected voiduninstallDefaults()protected voiduninstallListeners()voiduninstallUI(javax.swing.JComponent c)voidupdate(java.awt.Graphics g, javax.swing.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, installKeyboardActions, 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, uninstallKeyboardActions, updateCachedPreferredSize, updateCellEditor, updateDepthOffset, updateExpandedDescendants, updateLayoutCacheExpandedNodes, updateLeadSelectionRow, updateRenderer, updateSize
-
-
-
-
Field Detail
-
selectedPaths
private java.util.Map<RadianceTreeUI.TreePathId,java.lang.Object> selectedPaths
Holds the list of currently selected paths.
-
currRolloverPathId
private RadianceTreeUI.TreePathId currRolloverPathId
Holds the currently rolled-over path ornullif none such.
-
radiancePropertyChangeListener
private java.beans.PropertyChangeListener radiancePropertyChangeListener
Listener that listens to changes on tree properties.
-
radianceSelectionFadeListener
private javax.swing.event.TreeSelectionListener radianceSelectionFadeListener
Listener for selection animations.
-
radianceFadeRolloverListener
private RadianceTreeUI.RolloverFadeListener radianceFadeRolloverListener
Listener for transition animations on tree rollovers.
-
radianceRowSelectionListener
private java.awt.event.MouseListener radianceRowSelectionListener
Listener for selection of an entire row.
-
stateTransitionMultiTracker
private StateTransitionMultiTracker<RadianceTreeUI.TreePathId> stateTransitionMultiTracker
-
currDefaultColorTokens
private ContainerColorTokens currDefaultColorTokens
The current default color tokens. Is computed inupdate(Graphics, JComponent)and reused inRadianceDefaultTreeCellRenderer.getTreeCellRendererComponent(JTree, Object, boolean, boolean, boolean, int, boolean)for performance optimizations.
-
cellRendererInsets
private java.awt.Insets cellRendererInsets
Cell renderer insets. Is computed ininstallDefaults()and reused inRadianceDefaultTreeCellRenderer.getTreeCellRendererComponent(JTree, Object, boolean, boolean, boolean, int, boolean)for performance optimizations.
-
themingWidgets
private java.util.Set<RadianceThemingWidget<javax.swing.JComponent>> themingWidgets
-
-
Method Detail
-
createUI
public static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent comp)
-
installUI
public void installUI(javax.swing.JComponent c)
- Overrides:
installUIin classjavax.swing.plaf.basic.BasicTreeUI
-
uninstallUI
public void uninstallUI(javax.swing.JComponent c)
- Overrides:
uninstallUIin classjavax.swing.plaf.basic.BasicTreeUI
-
installDefaults
protected void installDefaults()
- Overrides:
installDefaultsin classjavax.swing.plaf.basic.BasicTreeUI
-
uninstallDefaults
protected void uninstallDefaults()
- Overrides:
uninstallDefaultsin classjavax.swing.plaf.basic.BasicTreeUI
-
paintRow
protected void paintRow(java.awt.Graphics g, java.awt.Rectangle clipBounds, java.awt.Insets insets, java.awt.Rectangle bounds, javax.swing.tree.TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf)- Overrides:
paintRowin classjavax.swing.plaf.basic.BasicTreeUI
-
paintExpandControl
protected void paintExpandControl(java.awt.Graphics g, java.awt.Rectangle clipBounds, java.awt.Insets insets, java.awt.Rectangle bounds, javax.swing.tree.TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf)- Overrides:
paintExpandControlin classjavax.swing.plaf.basic.BasicTreeUI
-
paintExpandControlEnforce
private void paintExpandControlEnforce(java.awt.Graphics g, java.awt.Rectangle clipBounds, java.awt.Insets insets, java.awt.Rectangle bounds, javax.swing.tree.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(java.awt.Graphics g, java.awt.Rectangle clipBounds, java.awt.Insets insets, java.awt.Rectangle bounds, javax.swing.tree.TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf)- Overrides:
paintHorizontalPartOfLegin classjavax.swing.plaf.basic.BasicTreeUI
-
paintVerticalPartOfLeg
protected void paintVerticalPartOfLeg(java.awt.Graphics g, java.awt.Rectangle clipBounds, java.awt.Insets insets, javax.swing.tree.TreePath path)- Overrides:
paintVerticalPartOfLegin classjavax.swing.plaf.basic.BasicTreeUI
-
createDefaultCellRenderer
protected javax.swing.tree.TreeCellRenderer createDefaultCellRenderer()
- Overrides:
createDefaultCellRendererin classjavax.swing.plaf.basic.BasicTreeUI
-
installListeners
protected void installListeners()
- Overrides:
installListenersin classjavax.swing.plaf.basic.BasicTreeUI
-
uninstallListeners
protected void uninstallListeners()
- Overrides:
uninstallListenersin classjavax.swing.plaf.basic.BasicTreeUI
-
installComponents
protected void installComponents()
- Overrides:
installComponentsin classjavax.swing.plaf.basic.BasicTreeUI
-
uninstallComponents
protected void uninstallComponents()
- Overrides:
uninstallComponentsin classjavax.swing.plaf.basic.BasicTreeUI
-
getPivotRendererX
public int getPivotRendererX(java.awt.Rectangle paintBounds)
Returns the pivot X for the cells rendered in the specified area. Used for the smart tree scroll (RadianceThemingSlices.AnimationFacet.TREE_SMART_SCROLL_ANIMATION).- Parameters:
paintBounds- Area bounds.- Returns:
- Pivot X for the cells rendered in the specified area
-
getPathState
public ComponentState getPathState(RadianceTreeUI.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(RadianceTreeUI.TreePathId pathId)
-
update
public void update(java.awt.Graphics g, javax.swing.JComponent c)- Overrides:
updatein classjavax.swing.plaf.ComponentUI
-
getDefaultColorTokens
public ContainerColorTokens getDefaultColorTokens()
Returns the default color tokens of this tree. Is for internal use only.- Returns:
- The default color tokens of this tree.
-
getCellRendererInsets
public java.awt.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 java.awt.Rectangle getPathBounds(javax.swing.JTree tree, javax.swing.tree.TreePath path)- Overrides:
getPathBoundsin classjavax.swing.plaf.basic.BasicTreeUI
-
getTracker
private StateTransitionTracker getTracker(RadianceTreeUI.TreePathId pathId, boolean initialRollover, boolean initialSelected)
-
-