Class TLcdGXYBusyLayerTreeNodeCellRenderer
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,TreeCellRenderer
This class is a wrapper around a TLcdLayerTreeNodeCellRenderer
, adding support for displaying a busy icon to the renderer.
- When a layer is being painted
asynchronously
. Here the renderer makes a distinction betweenpainting
andbusy
layers. - If the layer has a
painter provider
that is a busyILcdStatusSource
- If the layer is involved in asynchronous labeling done by
ILcdGXYViewLabelPlacer
.
If logging is enabled for this class, the renderer will use separate colors for asynchronous layers with separate paint queues. Logging can be enabled by adding this to your logging properties file:
com.luciad.view.gxy.swing.TLcdGXYBusyLayerTreeNodeCellRenderer.level = FINEST
- Since:
- 9.0
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
ConstructorDescriptionWrap a newTLcdGXYBusyLayerTreeNodeCellRenderer
around aTLcdLayerTreeNodeCellRenderer
, created for the viewaGXYView
.TLcdGXYBusyLayerTreeNodeCellRenderer
(ILcdGXYView aGXYView, TLcdLayerTreeNodeCellRenderer aDelegateRenderer) Wrap a newTLcdGXYBusyLayerTreeNodeCellRenderer
aroundaDelegateRenderer
.TLcdGXYBusyLayerTreeNodeCellRenderer
(ILcdGXYView aGXYView, TLcdLayerTreeNodeCellRenderer aDelegateRenderer, ILcdIcon aPaintingIcon, ILcdIcon aBusyIcon) Wrap a newTLcdGXYBusyLayerTreeNodeCellRenderer
aroundaDelegateRenderer
, where the painting icon isaPaintingIcon
and the busyiconaBusyIcon
. -
Method Summary
Modifier and TypeMethodDescriptiongetTreeCellRendererComponent
(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) protected boolean
isLayerOrDescendantBusy
(ILcdLayer aLayer) This method indicates whether or not the passed layer or one of its descendants is busy.protected boolean
isLayerOrDescendantPainting
(ILcdLayer aLayer) This method indicates whether or not the passed layer or one of its descendants is painting.Methods inherited from class com.luciad.view.gxy.swing.ALcdBusyLayerTreeNodeCellRenderer
getDelegateRenderer, layerStateChanged, updateRendererFromLayer, updateUI
Methods inherited from class javax.swing.JComponent
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, getUI, 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
Methods inherited from class java.awt.Container
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
Methods inherited from class java.awt.Component
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, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Constructor Details
-
TLcdGXYBusyLayerTreeNodeCellRenderer
public TLcdGXYBusyLayerTreeNodeCellRenderer(ILcdGXYView aGXYView, TLcdLayerTreeNodeCellRenderer aDelegateRenderer, ILcdIcon aPaintingIcon, ILcdIcon aBusyIcon) Wrap a new
TLcdGXYBusyLayerTreeNodeCellRenderer
aroundaDelegateRenderer
, where the painting icon isaPaintingIcon
and the busyiconaBusyIcon
. This renderer can only be used on oneTLcdLayerTree
at the same time. The wrappedTLcdLayerTreeNodeCellRenderer
must not be set on another tree.- Parameters:
aGXYView
- the view containing the layers which will be displayed in the layer treeaDelegateRenderer
- the renderer which is wrappedaPaintingIcon
- the icon used to indicate the layer is being painted. SeeTLcdGXYAsynchronousLayerMonitor
for a definition of painting and busy. 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, as a result of some other layer being painted in the same queue. SeeTLcdGXYAsynchronousLayerMonitor
for a definition of painting and busy. The icon is automatically rotated, and assumed to not change its content (e.g. an image icon).
-
TLcdGXYBusyLayerTreeNodeCellRenderer
public TLcdGXYBusyLayerTreeNodeCellRenderer(ILcdGXYView aGXYView, TLcdLayerTreeNodeCellRenderer aDelegateRenderer) Wrap a new
TLcdGXYBusyLayerTreeNodeCellRenderer
aroundaDelegateRenderer
. This renderer can only be used on oneTLcdLayerTree
at the same time. The wrappedTLcdLayerTreeNodeCellRenderer
must not be set on another tree.- Parameters:
aGXYView
- the view containing the layers which will be displayed in the layer treeaDelegateRenderer
- the renderer which is wrapper
-
TLcdGXYBusyLayerTreeNodeCellRenderer
Wrap a new
TLcdGXYBusyLayerTreeNodeCellRenderer
around aTLcdLayerTreeNodeCellRenderer
, created for the viewaGXYView
. This renderer can only be used on oneTLcdLayerTree
at the same time. The wrappedTLcdLayerTreeNodeCellRenderer
must not be set on another tree.- Parameters:
aGXYView
- the view containing the layers which will be displayed in the layer tree
-
-
Method Details
-
getTreeCellRendererComponent
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) - Specified by:
getTreeCellRendererComponent
in interfaceTreeCellRenderer
- Overrides:
getTreeCellRendererComponent
in classALcdBusyLayerTreeNodeCellRenderer
-
isLayerOrDescendantBusy
This method indicates whether or not the passed layer or one of its descendants is busy.For this implementation, busy is defined as the result of (
TLcdGXYAsynchronousLayerMonitor.isGXYLayerBusy(com.luciad.view.gxy.ILcdGXYLayer)
) for an asynchronously painted layer (seeILcdGXYAsynchronousLayerWrapper
). In addition, a layer is considered to be busy when it contains labels that are being asynchronously decluttered.- Specified by:
isLayerOrDescendantBusy
in classALcdBusyLayerTreeNodeCellRenderer
- Parameters:
aLayer
- a layer for which the busy state needs to be retrieved.- Returns:
- true if the layer is busy, false otherwise.
- See Also:
-
isLayerOrDescendantPainting
This method indicates whether or not the passed layer or one of its descendants is painting.For this implementation, busy is defined as the result of (
TLcdGXYAsynchronousLayerMonitor.isGXYLayerPainting(com.luciad.view.gxy.ILcdGXYLayer)
) for an asynchronously painted layer (seeILcdGXYAsynchronousLayerWrapper
).- Specified by:
isLayerOrDescendantPainting
in classALcdBusyLayerTreeNodeCellRenderer
- Parameters:
aLayer
- a layer for which the painting state needs to be retrieved.- Returns:
- true if the layer is busy, false otherwise.
- See Also:
-