public abstract class ALcdBusyLayerTreeNodeCellRenderer extends JComponent implements TreeCellRenderer
This class is a wrapper around a TLcdLayerTreeNodeCellRenderer
, adding support for displaying a busy icon to the renderer.
A possible use case is to show another icon in the renderer when a GXY layer is being
asynchronously painted. This can be achieved by implementing the abstract methods and using the
TLcdGXYAsynchronousLayerMonitor
. When the abstract
methods indicate the layer is being painted, the icon used in the renderer will be replaced by
the painting icon of this renderer. When the layer is not being painted, it will use the delegate
renderer.
It extends from JComponent
for the sole purpose of satisfying an instanceof
check in javax.swing.JTree#updateUI(). Do not rely on this.
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
ALcdBusyLayerTreeNodeCellRenderer(TLcdLayerTreeNodeCellRenderer aDelegateRenderer)
Wrap a new
ALcdBusyLayerTreeNodeCellRenderer around
aDelegateRenderer . |
ALcdBusyLayerTreeNodeCellRenderer(TLcdLayerTreeNodeCellRenderer aDelegateRenderer,
ILcdIcon aPaintingIcon,
ILcdIcon aBusyIcon)
Wrap a new
ALcdBusyLayerTreeNodeCellRenderer around
aDelegateRenderer , where the painting icon is aPaintingIcon and the
busyicon aBusyIcon . |
Modifier and Type | Method and Description |
---|---|
TLcdLayerTreeNodeCellRenderer |
getDelegateRenderer()
Returns the delegate
TLcdLayerTreeNodeCellRenderer . |
Component |
getTreeCellRendererComponent(JTree tree,
Object value,
boolean selected,
boolean expanded,
boolean leaf,
int row,
boolean hasFocus) |
protected abstract boolean |
isLayerOrDescendantBusy(ILcdLayer aLayer)
This method indicates whether or not the passed layer or one of its descendants is busy.
|
protected abstract boolean |
isLayerOrDescendantPainting(ILcdLayer aLayer)
This method indicates whether or not the passed layer or one of its descendants is painting.
|
protected void |
layerStateChanged(ILcdLayer aLayer)
Method which should be called by the implementing class when the result of
isLayerOrDescendantBusy(com.luciad.view.ILcdLayer) or isLayerOrDescendantPainting(com.luciad.view.ILcdLayer)
changes for aLayer . |
protected void |
updateRendererFromLayer(JTree aTree,
ILcdLayer aLayer,
boolean aSelected,
boolean aExpanded,
boolean aLeaf,
int aRow,
boolean aHasFocus,
TLcdLayerTreeNodeCellRenderer aRenderer)
Update the state of the renderer to match the state of layer
aLayer |
void |
updateUI() |
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public ALcdBusyLayerTreeNodeCellRenderer(TLcdLayerTreeNodeCellRenderer aDelegateRenderer, ILcdIcon aPaintingIcon, ILcdIcon aBusyIcon)
Wrap a new ALcdBusyLayerTreeNodeCellRenderer
around
aDelegateRenderer
, where the painting icon is aPaintingIcon
and the
busyicon aBusyIcon
. This renderer can only be used on one TLcdLayerTree
at the same time. The wrapped
TLcdLayerTreeNodeCellRenderer
must not be set on another tree.
aDelegateRenderer
- the renderer which is wrappedaPaintingIcon
- the icon used to indicate the layer is being painted. The icon is
automatically rotated, and assumed to not change its content (e.g. an
image icon).aBusyIcon
- the icon used to indicate the layer is busy. The icon is automatically
rotated, and assumed to not change its content (e.g. an image icon).public ALcdBusyLayerTreeNodeCellRenderer(TLcdLayerTreeNodeCellRenderer aDelegateRenderer)
Wrap a new ALcdBusyLayerTreeNodeCellRenderer
around
aDelegateRenderer
. This renderer can only be used on one TLcdLayerTree
at the same time. The wrapped
TLcdLayerTreeNodeCellRenderer
must not be set on another tree.
aDelegateRenderer
- the renderer which is wrappedpublic void updateUI()
updateUI
in class JComponent
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus)
getTreeCellRendererComponent
in interface TreeCellRenderer
protected void updateRendererFromLayer(JTree aTree, ILcdLayer aLayer, boolean aSelected, boolean aExpanded, boolean aLeaf, int aRow, boolean aHasFocus, TLcdLayerTreeNodeCellRenderer aRenderer)
Update the state of the renderer to match the state of layer aLayer
Custom overrides of this method should call this method to ensure animations are updated correctly.
aTree
- the tree which is currently rendereraLayer
- the layer which state the renderer should matchaSelected
- if true
, the cell must be drawn as if selectedaExpanded
- if true
, the node is currently expandedaLeaf
- if true
, the node represents a leafaRow
- the row numberaHasFocus
- if true
, the node currently has focusaRenderer
- the wrapped rendererprotected void layerStateChanged(ILcdLayer aLayer)
isLayerOrDescendantBusy(com.luciad.view.ILcdLayer)
or isLayerOrDescendantPainting(com.luciad.view.ILcdLayer)
changes for aLayer
.aLayer
- The layer for which the state has changedprotected abstract boolean isLayerOrDescendantBusy(ILcdLayer aLayer)
aLayer
- a layer for which the busy state needs to be retrieved.layerStateChanged(com.luciad.view.ILcdLayer)
protected abstract boolean isLayerOrDescendantPainting(ILcdLayer aLayer)
aLayer
- a layer for which the painting state needs to be retrieved.layerStateChanged(com.luciad.view.ILcdLayer)
public TLcdLayerTreeNodeCellRenderer getDelegateRenderer()
TLcdLayerTreeNodeCellRenderer
.TLcdLayerTreeNodeCellRenderer
.