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 betweenpaintingandbusylayers. - If the layer has a
painter providerthat 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.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested 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_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionWrap a newTLcdGXYBusyLayerTreeNodeCellRendereraround aTLcdLayerTreeNodeCellRenderer, created for the viewaGXYView.TLcdGXYBusyLayerTreeNodeCellRenderer(ILcdGXYView aGXYView, TLcdLayerTreeNodeCellRenderer aDelegateRenderer) Wrap a newTLcdGXYBusyLayerTreeNodeCellRendereraroundaDelegateRenderer.TLcdGXYBusyLayerTreeNodeCellRenderer(ILcdGXYView aGXYView, TLcdLayerTreeNodeCellRenderer aDelegateRenderer, ILcdIcon aPaintingIcon, ILcdIcon aBusyIcon) Wrap a newTLcdGXYBusyLayerTreeNodeCellRendereraroundaDelegateRenderer, where the painting icon isaPaintingIconand the busyiconaBusyIcon. -
Method Summary
Modifier and TypeMethodDescriptiongetTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) protected booleanisLayerOrDescendantBusy(ILcdLayer aLayer) This method indicates whether or not the passed layer or one of its descendants is busy.protected booleanisLayerOrDescendantPainting(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, updateUIMethods 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, updateMethods 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, validateTreeMethods 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
TLcdGXYBusyLayerTreeNodeCellRendereraroundaDelegateRenderer, where the painting icon isaPaintingIconand the busyiconaBusyIcon. This renderer can only be used on oneTLcdLayerTreeat the same time. The wrappedTLcdLayerTreeNodeCellRenderermust 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. SeeTLcdGXYAsynchronousLayerMonitorfor 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. SeeTLcdGXYAsynchronousLayerMonitorfor 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
TLcdGXYBusyLayerTreeNodeCellRendereraroundaDelegateRenderer. This renderer can only be used on oneTLcdLayerTreeat the same time. The wrappedTLcdLayerTreeNodeCellRenderermust 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
TLcdGXYBusyLayerTreeNodeCellRendereraround aTLcdLayerTreeNodeCellRenderer, created for the viewaGXYView. This renderer can only be used on oneTLcdLayerTreeat the same time. The wrappedTLcdLayerTreeNodeCellRenderermust 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:
getTreeCellRendererComponentin interfaceTreeCellRenderer- Overrides:
getTreeCellRendererComponentin 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:
isLayerOrDescendantBusyin 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:
isLayerOrDescendantPaintingin 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:
-