Class TLcdGXYViewPlanarImage
- All Implemented Interfaces:
ILcdModelProducerListener
,ILcdPropertyChangeSource
,ILcdRotationCapable
,ILcdStatusSource
,ILcdGXYView
,ILcdGXYViewXYWorldTransformationProvider
,ILcdRotationCapableGXYView
,ILcdLayered
,ILcdTreeLayered
,ILcdView
,RenderedImage
,Serializable
,EventListener
,javax.media.jai.ImageJAI
,javax.media.jai.PropertyChangeEmitter
,javax.media.jai.PropertySource
,javax.media.jai.WritablePropertySource
TLcdGXYViewBufferedImage
. It additionally
supports internal tiling of the view, with the tiles being computed on the
fly. It is therefore more suitable for large views.
Note: if the view is tiled, painters and label painters that depend on the view bounds may introduce visual artifacts at the tile bounds. For instance, the current implementation may perform label decluttering per tile instead of for the entire view.
All code that might affect or depend on the state of the view should be executed in a single thread. This includes all methods that can cause the view to repaint implicitly or explicitly.
- Since:
- 8.1
- See Also:
-
Field Summary
Fields inherited from class javax.media.jai.PlanarImage
colorModel, eventManager, height, minX, minY, properties, sampleModel, tileFactory, tileGridXOffset, tileGridYOffset, tileHeight, tileWidth, width
Fields inherited from interface com.luciad.view.gxy.ILcdGXYView
CENTER, LOWERLEFT, LOWERRIGHT, UPPERLEFT, UPPERRIGHT
-
Constructor Summary
ConstructorDescriptionTLcdGXYViewPlanarImage
(int aWidth, int aHeight, int aTileWidth, int aTileHeight, int aBufferedImageType) Constructs a new TLcdGXYViewPlanarImage of the given size and type.TLcdGXYViewPlanarImage
(int aWidth, int aHeight, int aTileWidth, int aTileHeight, int aBufferedImageType, ILcdTreeLayeredSupport aTreeLayeredSupport) Constructs a new TLcdGXYViewPlanarImage of the given size and type.TLcdGXYViewPlanarImage
(int aWidth, int aHeight, int aTileWidth, int aTileHeight, int aBufferedImageType, IndexColorModel aIndexColorModel) Constructs a new TLcdGXYViewPlanarImage of the given size and with the given IndexColorModel.TLcdGXYViewPlanarImage
(int aWidth, int aHeight, int aTileWidth, int aTileHeight, int aBufferedImageType, IndexColorModel aIndexColorModel, ILcdTreeLayeredSupport aTreeLayeredSupport) Constructs a new TLcdGXYViewPlanarImage of the given size and with the given IndexColorModel. -
Method Summary
Modifier and TypeMethodDescriptionboolean
addGXYLayer
(ILcdGXYLayer aLayer) Adds the givenILcdGXYLayer
to thisILcdGXYView
.boolean
addGXYLayer
(ILcdGXYLayer aLayer, boolean aRepaint) Adds the givenILcdGXYLayer
to thisILcdGXYView
, forcing a repaint if desired.void
addLayeredListener
(ILcdLayeredListener aLayeredListener) Registers the givenILcdLayeredListener
to be notified when layers are added, removed or moved in the flat list.void
addLayerSelectionListener
(ILcdSelectionListener aSelectionListener) Registers the givenILcdSelectionListener
to be informed of selection change events from any layer in this view.void
AddsaModel
to be displayed in thisILcdView
.void
addModelListener
(ILcdModelListener aModelListener) Registers the givenILcdModelListener
to be informed ofILcdModel
change events from any layer's model in this view.void
Registers the givenPropertyChangeListener
to be notified when this object's properties change.void
addStatusListener
(ILcdStatusListener aStatusListener) Registers the givenILcdStatusListener
to be notified of view status events.boolean
containsLayer
(ILcdLayer aLayer) Returns whether the flat list representation of the hierarchical layer structure contains the given layer.Returns the background color of the view.getCornerIcon
(int aPosition) Returns theILcdIcon
to be painted at the given corner of the view.Returns anILcdGXYPen
supporting editing and painting on the view.Deprecated.This property is not used.Returns a graphics context for this view.Returns theILcdGXYController
handling the user interaction of the view.Returns the layer factory used when adding models to the view.Returns the label painting algorithm for this view.Returns the label placer for this view.Returns a validILcdGXYViewXYWorldTransformation
for anILcdGXYView
.getImage()
Returns anImage
of this view.getLayer
(int aIndex) Returns theILcdLayer
with indexaIndex
in the flat list representation of the hierarchical layer structure.double
Returns the maximum zoomed in scale of the view.double
Returns the maximum zoomed out scale of the view.int
Returns the number of layers whose combined representation is cached across repaints.Returns a handler to report paint exceptions.int
Gets the painting mode for this ILcdGXYView.Returns the preferred size of the view.Returns the root node of the tree structure.double
Returns the rotation of thisILcdGXYView
.double
getScale()
Returns the scale for which to paint the view contents expressed in toolkit pixels per world unit.getTile
(int aTileX, int aTileY) Returns the point in AWT pixel coordinates that maps onto the world origin.Returns the point in world coordinates that maps onto the view origin.Returns the view's 2D world coordinate system.boolean
Returnstrue
if the view has a valid image.int
Returns the index of the given layeraLayer
in the flat list representation of the hierarchical structure.void
invalidate
(boolean aRepaint, Object aSource, String aMessage) Asks the view to invalidate its content, optionally repainting the content asynchronously.void
invalidateAndWait
(boolean aRepaint, Object aSource, String aMessage) Asks the view to invalidate its content, optionally repainting the content synchronously.void
invalidateGXYLayer
(ILcdGXYLayer aGXYLayer, boolean aRepaint, Object aSource, String aMessage) Asks the view to invalidate the content of the givenILcdGXYLayer
, optionally repainting the content asynchronously.void
invalidateGXYLayerAndWait
(ILcdGXYLayer aGXYLayer, boolean aRepaint, Object aSource, String aMessage) Asks the view to invalidate the content of the givenILcdGXYLayer
, optionally repainting the content synchronously.void
invalidateRegion
(Rectangle aClip, boolean aRepaint, Object aSource, String aMessage) Asks the view to invalidate the content in the given AWT clip, optionally repainting the content asynchronously.void
invalidateRegionAndWait
(Rectangle aClip, boolean aRepaint, Object aSource, String aMessage) Asks the view to invalidate the content in the given AWT clip, optionally repainting the content synchronously.void
invalidateRegionSelection
(Rectangle aClip, boolean aRepaint, Object aSource, String aMessage) Asks the ILcdGXYView to invalidate its selection in the given AWT clip, optionally repainting the content asynchronously.void
invalidateRegionSelectionAndWait
(Rectangle aClip, boolean aRepaint, Object aSource, String aMessage) Asks the ILcdGXYView to invalidate its selection in the given AWT clip, optionally repainting the content synchronously.void
invalidateSelection
(boolean aRepaint, Object aSource, String aMessage) Asks the ILcdGXYView to invalidate its selection, optionally repainting the content asynchronously.void
invalidateSelectionAndWait
(boolean aRepaint, Object aSource, String aMessage) Asks the ILcdGXYView to invalidate its selection, optionally repainting the content synchronously.boolean
Specifies if anti-aliasing is enabled or not.boolean
Returns whether this view allows asynchronous operations.boolean
Returns whether the view's contents are automatically updated when necessary.boolean
Returns whether the entire view's content is displayed, or only the controller's representation.boolean
Returns whether the view is painted in a thread other than the event dispatch thread.boolean
Deprecated.This method has been deprecated.int
Returns the number of layers in the flat list representation of the hierarchical layer structure.Returns theILcdLayer
of the flat list that contains the givenILcdModel
.layers()
Returns anEnumeration
of all theILcdLayer
s currently in the flat list representation of the hierarchical layer structure, starting from the bottom layer to the top layer.Returns anEnumeration
of all theILcdLayer
s currently in the flat list representation of the hierarchical layer structure, starting from the top layer to the bottom layer.void
modelProduced
(TLcdModelProducerEvent aModelProducerEvent) The produced model is added to the view, provided that a layer factory supporting the model is set.void
moveLayerAt
(int aIndex, ILcdLayer aLayer) Moves the given layer (which is already inILcdLayered
) to the existing index aIndex.void
void
paintGXYView
(Graphics aGraphics) Paints the view on the givenGraphics
.void
pan
(int aDeltaX, int aDeltaY, boolean aRepaint) Changes the view and/or world origin of the view so that the view contents are panned by the specified AWT delta.void
Paints the representation of theILcdGXYView
on the givenGraphics
, without using any buffers or off-screen images.void
putCornerIcon
(ILcdIcon aCornerIcon, int aPosition) Sets anILcdIcon
to be painted at the given corner of this view.void
Remove all the layers from the hierarchical layer structure and the flat list representation.void
removeLayer
(ILcdLayer aLayer) Removes a layer from both the hierarchical layer structure and the flat list representation.void
removeLayeredListener
(ILcdLayeredListener aLayeredListener) Unregisters the givenILcdLayeredListener
from receiving layered events for the flat list.void
removeLayerSelectionListener
(ILcdSelectionListener aSelectionListener) Unregisters the givenILcdSelectionListener
from receiving selection change events from any layer in this view.void
removeModel
(ILcdModel aModel) Removes a single representation of the specified model from this view, if it is present in the view.void
removeModelListener
(ILcdModelListener aModelListener) Unregisters the givenILcdModelListener
from receivingILcdModel
change events from any layer's model in this view.void
De-registers the givenPropertyChangeListener
from receiving property change events for this object.void
removeStatusListener
(ILcdStatusListener aStatusListener) Unregisters the givenILcdStatusListener
from being notified of view status events.void
repaint()
TLcdGXYViewPlanarImage
does not implement this method.void
repaint
(int aX, int aY, int aWidth, int aHeight) TLcdGXYViewPlanarImage
does not implement this method.void
setAntiAliased
(boolean aAntiAliased) Changes the anti-aliasing behavior.void
setAsynchronousAllowed
(boolean aAsynchronousAllowed) Sets if asynchronous operation are allowed for this view.void
setAutoUpdate
(boolean aAutoUpdate) Sets whether to update the view's representation automatically to keep it in sync with its state and the state of its models.void
setBackground
(Color aColor) Sets the background color of the view.static void
setClassTraceOn
(boolean aClassTraceOn) Deprecated.This method has been deprecated.void
Sets the view cursor to the given cursor.void
setDrawOffScreenImageOnPaint
(boolean aDrawOffScreenImageOnPaint) Sets whether the entire view's content is displayed, or only the current controller's representation.void
setForeground
(Color aColor) Deprecated.This property is not used.void
setGXYController
(ILcdGXYController aGXYViewController) Do not call this method.void
setGXYLayerFactory
(ILcdGXYLayerFactory newGXYLayerFactory) Sets the layer factory to use when adding models to the view.void
setGXYViewLabelPainter
(ILcdGXYViewLabelPainter aGXYViewLabelPainter) Sets the label painter algorithm for thisILcdGXYView
.void
setGXYViewLabelPlacer
(ILcdGXYViewLabelPlacer aGXYViewLabelPlacer) This method sets anILcdGXYViewLabelPlacer
to use for global labeling.void
setMaxScale
(double aMaxScale) Limits the maximum zoomed in scale of the view.void
setMinScale
(double aMinScale) Limits the maximum zoomed out scale of the view.void
setNumberOfCachedBackgroundLayers
(int aNumberOfCachedBackgroundLayers) This operation is not supported, as this view does not cache background layers.void
setPaintExceptionHandler
(ILcdPaintExceptionHandler aPaintExceptionHandler) Sets a handler to report paint exceptions.void
setPaintInBackground
(boolean aUpdateInBackground) Painting in the background is not supported by this view implementation.void
setPaintingMode
(int aPaintingMode) Sets the type or types of layer content to display in the ILcdGXYView.void
setRotation
(double aRotation) Sets the rotation of thisILcdGXYView
, updating the view according toILcdView.isAutoUpdate()
.void
setRotation
(double aRotation, boolean aAdjusting) Sets the rotation of thisILcdGXYView
, optionally indicating subsequent property changes.void
setRotation
(double aRotation, boolean aRepaint, boolean aAdjusting) Sets the rotation of thisILcdGXYView
, optionally repainting the view.void
setScale
(double aScale) Sets the scale of this view, repainting the view according toisAutoUpdate
.void
setScale
(double aScale, boolean aRepaint) Sets the scale of this view, optionally repainting the view.void
setScale
(double aScale, boolean aRepaint, boolean aAdjusting) Sets the scale of this view, optionally indicating subsequent property changes.void
setScale
(double aScaleX, double aScaleY, boolean aRepaint, boolean aAdjusting) Sets the scale along the x-axis and y-axis of this view, repainting the view according toisAutoUpdate
.void
setTraceOn
(boolean aTraceOn) Deprecated.This method has been deprecated.void
setViewOrigin
(Point aViewOrigin) Sets the view origin of the view, repainting the view according toisAutoUpdate
.void
setViewOrigin
(Point aViewOrigin, boolean aRepaint) Sets the view origin of the view, optionally repainting the view.void
setViewOrigin
(Point aViewOrigin, boolean aRepaint, boolean aAdjusting) Sets the view origin of the view, optionally indicating subsequent property changes.void
setWorldOrigin
(ILcdPoint aWorldOrigin) Sets the world origin of the view, repainting the view according toisAutoUpdate
.void
setWorldOrigin
(ILcdPoint aWorldOrigin, boolean aRepaint) Sets the world origin of the view, optionally repainting the view.void
setWorldOrigin
(ILcdPoint aWorldOrigin, boolean aRepaint, boolean aAdjusting) Sets the world origin of the view, optionally indicating subsequent property changes.void
setXYWorldReference
(ILcdXYWorldReference aXYWorldReference) Sets the view's 2D world coordinate system, repainting the view according toisAutoUpdate
.void
setXYWorldReference
(ILcdXYWorldReference aXYWorldReference, boolean aRepaint) Sets the view's 2D world coordinate system, optionally repainting the view.void
setXYWorldReference
(ILcdXYWorldReference aXYWorldReference, boolean aRepaint, boolean aAdjusting) Sets the view's 2D world coordinate system, optionally indicating subsequent property changes.void
CallspaintGXYView( aGraphics )
Methods inherited from class javax.media.jai.PlanarImage
addPropertyChangeListener, addSink, addSink, addSource, addTileComputationListener, cancelTiles, copyData, copyData, copyExtendedData, createColorModel, createSnapshot, createWritableRaster, dispose, finalize, getAsBufferedImage, getAsBufferedImage, getBounds, getColorModel, getData, getData, getDefaultColorModel, getExtendedData, getHeight, getImageID, getMaxTileX, getMaxTileY, getMaxX, getMaxY, getMinTileX, getMinTileY, getMinX, getMinY, getNumBands, getNumSources, getNumXTiles, getNumYTiles, getProperties, getProperty, getPropertyClass, getPropertyNames, getPropertyNames, getSampleModel, getSinks, getSource, getSourceImage, getSourceObject, getSources, getSplits, getTileComputationListeners, getTileFactory, getTileGridXOffset, getTileGridYOffset, getTileHeight, getTileIndices, getTileRect, getTiles, getTiles, getTileWidth, getWidth, overlapsMultipleTiles, prefetchTiles, queueTiles, removeProperty, removePropertyChangeListener, removeSink, removeSink, removeSinks, removeSource, removeSources, removeTileComputationListener, setImageLayout, setProperties, setProperty, setSource, setSources, tileXToX, tileXToX, tileYToY, tileYToY, toString, wrapRenderedImage, XToTileX, XToTileX, YToTileY, YToTileY
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.luciad.view.gxy.ILcdGXYView
addViewInvalidationListener, getHeight, getLayers, getMapScale, getMapScaleRange, getWidth, removeViewInvalidationListener, setMapScale, setMapScaleRange
Methods inherited from interface com.luciad.view.ILcdLayered
addLayeredListener, removeLayeredListener
-
Constructor Details
-
TLcdGXYViewPlanarImage
public TLcdGXYViewPlanarImage(int aWidth, int aHeight, int aTileWidth, int aTileHeight, int aBufferedImageType) Constructs a new TLcdGXYViewPlanarImage of the given size and type. Auto-update is activated by default, no background layers are cached, and no default user interaction is provided.After construction, a world coordinate system needs to be set using
setXYWorldReference(com.luciad.view.ILcdXYWorldReference)
.- Parameters:
aWidth
- the width of the view, expressed in pixels.aHeight
- the height of the view, expressed in pixels.aTileWidth
- the width of internal image tiles, expressed in pixels.aTileHeight
- the height of internal image tiles, expressed in pixels.aBufferedImageType
- the type of the view image, as defined inBufferedImage
.
-
TLcdGXYViewPlanarImage
public TLcdGXYViewPlanarImage(int aWidth, int aHeight, int aTileWidth, int aTileHeight, int aBufferedImageType, ILcdTreeLayeredSupport aTreeLayeredSupport) Constructs a new TLcdGXYViewPlanarImage of the given size and type. Auto-update is activated by default, no background layers are cached, and no default user interaction is provided.After construction, a world coordinate system needs to be set using
setXYWorldReference(com.luciad.view.ILcdXYWorldReference)
.- Parameters:
aWidth
- the width of the view, expressed in pixels.aHeight
- the height of the view, expressed in pixels.aTileWidth
- the width of internal image tiles, expressed in pixels.aTileHeight
- the height of internal image tiles, expressed in pixels.aBufferedImageType
- the type of the view image, as defined inBufferedImage
.aTreeLayeredSupport
- an instance ofILcdTreeLayeredSupport
used to store the layers
-
TLcdGXYViewPlanarImage
public TLcdGXYViewPlanarImage(int aWidth, int aHeight, int aTileWidth, int aTileHeight, int aBufferedImageType, IndexColorModel aIndexColorModel) Constructs a new TLcdGXYViewPlanarImage of the given size and with the given IndexColorModel. All colors that are used when painting on this view are approximated by colors from this given color model. Auto-update is activated by default, no background layers are cached, and no default user interaction is provided.After construction, a world coordinate system needs to be set using
setXYWorldReference(com.luciad.view.ILcdXYWorldReference)
.- Parameters:
aWidth
- the width of the view, expressed in pixels.aHeight
- the height of the view, expressed in pixels.aTileWidth
- the width of internal image tiles, expressed in pixels.aTileHeight
- the height of internal image tiles, expressed in pixels.aBufferedImageType
- the type of the view image, as defined inBufferedImage
. The type must be compatible with the specified index color model.aIndexColorModel
- the index color model of the view image.
-
TLcdGXYViewPlanarImage
public TLcdGXYViewPlanarImage(int aWidth, int aHeight, int aTileWidth, int aTileHeight, int aBufferedImageType, IndexColorModel aIndexColorModel, ILcdTreeLayeredSupport aTreeLayeredSupport) Constructs a new TLcdGXYViewPlanarImage of the given size and with the given IndexColorModel. All colors that are used when painting on this view are approximated by colors from this given color model. Auto-update is activated by default, no background layers are cached, and no default user interaction is provided.After construction, a world coordinate system needs to be set using
setXYWorldReference(com.luciad.view.ILcdXYWorldReference)
.- Parameters:
aWidth
- the width of the view, expressed in pixels.aHeight
- the height of the view, expressed in pixels.aTileWidth
- the width of internal image tiles, expressed in pixels.aTileHeight
- the height of internal image tiles, expressed in pixels.aBufferedImageType
- the type of the view image, as defined inBufferedImage
. The type must be compatible with the specified index color model.aIndexColorModel
- the index color model of the view image.aTreeLayeredSupport
- an instance ofILcdTreeLayeredSupport
used to store the layers
-
-
Method Details
-
setClassTraceOn
public static void setClassTraceOn(boolean aClassTraceOn) Deprecated.This method has been deprecated. It is recommended to use the standard Java logging framework directly.Enables tracing for all instances of this class. If the argument istrue
then all log messages are recorded, otherwise only the informative, warning and error messages are recorded.- Parameters:
aClassTraceOn
- if true then all log messages are recorded, otherwise only the informative, warning and error messages are recorded.
-
setTraceOn
public void setTraceOn(boolean aTraceOn) Deprecated.This method has been deprecated. It is recommended to use the standard Java logging framework directly.Enables tracing for this class instance. Calling this method with eithertrue
orfalse
as argument automatically turns off tracing for all other class instances for whichsetTraceOn
has not been called. If the argument isfalse
then only the informative, warning and error log messages are recorded.- Parameters:
aTraceOn
- if true then all log messages are recorded for this instance. If false, then only the informative, warning and error log messages are recorded.
-
isTraceOn
public boolean isTraceOn()Deprecated.This method has been deprecated. It is recommended to use the standard Java logging framework directly.Returnstrue
if tracing is enabled for this class.- Returns:
- true if tracing is enabled for this class, false otherwise.
-
getTile
- Specified by:
getTile
in interfaceRenderedImage
- Specified by:
getTile
in classjavax.media.jai.PlanarImage
-
pan
public void pan(int aDeltaX, int aDeltaY, boolean aRepaint) Description copied from interface:ILcdGXYView
Changes the view and/or world origin of the view so that the view contents are panned by the specified AWT delta. Implementations of this method are allowed to only repaint newly exposed areas, hence this method is preferred over simply changing the world origin.- Specified by:
pan
in interfaceILcdGXYView
- Parameters:
aDeltaX
- the shift in the X direction in screen coordinatesaDeltaY
- the shift in the Y direction in screen coordinatesaRepaint
- iftrue
, will trigger a repaint of the view's contents. Depending on the implementation, only the newly exposed areas may be painted. If false, the view is not repainted.
-
paint
-
paintGXYView
Description copied from interface:ILcdGXYView
Paints the view on the givenGraphics
. The painted image contains the following:- a background color;
- the bodies of each contained layer's models. Each layer is asked to paint itself, from bottom to top;
- the labels of each contained layer's models.
Typically labels are painted on top of any bodies.
The labels are painted by the layer itself, or by a
view label painter
, if it is set; - the selected bodies of each contained layer's models. Typically selections are painted on top of bodies and labels.
- the selected labels of each contained layer's models. The labels are painted by the layer itself, or by a view label painter, if it is set;
- corner icons, if any;
- the controller handling user interaction.
invalidate
methods.- Specified by:
paintGXYView
in interfaceILcdGXYView
- Parameters:
aGraphics
- theGraphics
to paint the contents of this view on- See Also:
-
update
CallspaintGXYView( aGraphics )
- Parameters:
aGraphics
- the graphics to paint the view on- See Also:
-
print
Paints the representation of theILcdGXYView
on the givenGraphics
, without using any buffers or off-screen images.- Parameters:
aGraphics
- theGraphics
to paint the contents of this view on- See Also:
-
addModel
AddsaModel
to be displayed in thisILcdView
.This method creates an
ILcdGXYLayer
containing the model and adds it to the view. For this to work, a layer factory supporting the given model must be set on the view.- Specified by:
addModel
in interfaceILcdView
- Throws:
IllegalArgumentException
- if the model isnull
, if no layer factory is set, or if the layer factory cannot create a layer for the given model- See Also:
-
removeModel
Description copied from interface:ILcdView
Removes a single representation of the specified model from this view, if it is present in the view.- Specified by:
removeModel
in interfaceILcdView
-
addLayeredListener
Description copied from interface:ILcdTreeLayered
Registers the givenILcdLayeredListener
to be notified when layers are added, removed or moved in the flat list.- Specified by:
addLayeredListener
in interfaceILcdLayered
- Specified by:
addLayeredListener
in interfaceILcdTreeLayered
- Parameters:
aLayeredListener
- the listener that from now on will be notified of all changes to the flat list.- See Also:
-
removeLayeredListener
Description copied from interface:ILcdTreeLayered
Unregisters the givenILcdLayeredListener
from receiving layered events for the flat list.- Specified by:
removeLayeredListener
in interfaceILcdLayered
- Specified by:
removeLayeredListener
in interfaceILcdTreeLayered
- Parameters:
aLayeredListener
- the listener that will no longer be notified of changes in the flat list.- See Also:
-
layerCount
public int layerCount()Description copied from interface:ILcdTreeLayered
Returns the number of layers in the flat list representation of the hierarchical layer structure. This does not include the root node.
- Specified by:
layerCount
in interfaceILcdLayered
- Specified by:
layerCount
in interfaceILcdTreeLayered
- Returns:
- the number of layers in the flat list. Does not include the root node.
-
layers
Description copied from interface:ILcdTreeLayered
Returns an
Enumeration
of all theILcdLayer
s currently in the flat list representation of the hierarchical layer structure, starting from the bottom layer to the top layer. This does not include the root node.- Specified by:
layers
in interfaceILcdLayered
- Specified by:
layers
in interfaceILcdTreeLayered
- Returns:
- an
Enumeration
of all theILcdLayer
s currently in the flat list, starting from the bottom layer to the top layer. Does not include the root node.
-
layersBackwards
Description copied from interface:ILcdTreeLayered
Returns an
Enumeration
of all theILcdLayer
s currently in the flat list representation of the hierarchical layer structure, starting from the top layer to the bottom layer. This does not include the root node.- Specified by:
layersBackwards
in interfaceILcdLayered
- Specified by:
layersBackwards
in interfaceILcdTreeLayered
- Returns:
- an
Enumeration
of all theILcdLayer
s currently in the flat list, starting from the top layer to the bottom layer. Does not include the root node.
-
getLayer
Description copied from interface:ILcdTreeLayered
Returns the
ILcdLayer
with indexaIndex
in the flat list representation of the hierarchical layer structure.- Specified by:
getLayer
in interfaceILcdLayered
- Specified by:
getLayer
in interfaceILcdTreeLayered
- Parameters:
aIndex
- the position of the layer to retrieve in the flat list representation.- Returns:
- the
ILcdLayer
with indexaIndex
in the flat list representation - Throws:
ArrayIndexOutOfBoundsException
- if the given index is invalid
-
layerOf
Description copied from interface:ILcdTreeLayered
Returns theILcdLayer
of the flat list that contains the givenILcdModel
.- Specified by:
layerOf
in interfaceILcdLayered
- Specified by:
layerOf
in interfaceILcdTreeLayered
- Parameters:
aModel
- the model to check for in the flat list- Returns:
- the
ILcdLayer
of the flat list that contains the givenILcdModel
. - Throws:
NoSuchElementException
- if there is no layer containing the given model
-
indexOf
Description copied from interface:ILcdTreeLayered
Returns the index of the given layer
aLayer
in the flat list representation of the hierarchical structure.- Specified by:
indexOf
in interfaceILcdLayered
- Specified by:
indexOf
in interfaceILcdTreeLayered
- Parameters:
aLayer
- the layer whose index to return- Returns:
- the index of
aLayer
in the flat list representation - Throws:
NoSuchElementException
- ifaLayer
is not in the flat list
-
moveLayerAt
public void moveLayerAt(int aIndex, ILcdLayer aLayer) throws NoSuchElementException, ArrayIndexOutOfBoundsException Description copied from interface:ILcdLayered
Moves the given layer (which is already inILcdLayered
) to the existing index aIndex. When a layer is moved down, all layers in between the previous and future position of the given layer (including the layer at index aIndex) are moved one position up. When a layer is moved up, all layers in between the previous and future position of the given layer (including the layer at index aIndex) are moved one position down.More formally, let previousIndex be the index of
aLayer
before the move. If previousIndex < aIndex, then the index of allILcdLayer
objects in from previousIndex + 1 to aIndex is decremented with 1. If previousIndex > aIndex, then the index of allILcdLayer
objects in from aIndex to previousIndex -1 is incremented with 1.- Specified by:
moveLayerAt
in interfaceILcdLayered
- Parameters:
aIndex
- the index of the position where to move the layer.aLayer
- the layer to move.- Throws:
NoSuchElementException
- ifaLayer
is not in thisILcdLayered
.ArrayIndexOutOfBoundsException
- ifaIndex
is not an index of one of the layers of thisILcdLayered
.
-
removeLayer
Description copied from interface:ILcdTreeLayered
Removes a layer from both the hierarchical layer structure and the flat list representation. When removing an
ILcdLayerTreeNode
all of its children will also be removed. An event will then be generated for every layer that has been removed (one for the node and one for each of its child layers).It is not possible to remove the root node
- Specified by:
removeLayer
in interfaceILcdLayered
- Specified by:
removeLayer
in interfaceILcdTreeLayered
- Parameters:
aLayer
- the layer to remove. If the layer is not in the flat list, this method has no effect.
-
removeAllLayers
public void removeAllLayers()Description copied from interface:ILcdTreeLayered
Remove all the layers from the hierarchical layer structure and the flat list representation. An event will be fired for every layer that has been removed. This will not remove the root node.
- Specified by:
removeAllLayers
in interfaceILcdLayered
- Specified by:
removeAllLayers
in interfaceILcdTreeLayered
-
containsLayer
Description copied from interface:ILcdTreeLayered
Returns whether the flat list representation of the hierarchical layer structure contains the given layer. More formally, returns
true
if and only if the flat list representation contains at least one layerl
such that (aLayer==null ? l==null : aLayer.equals(l)).Calling this method with the root node will return
false
, since the root node is not a part of the flat list representation.- Specified by:
containsLayer
in interfaceILcdLayered
- Specified by:
containsLayer
in interfaceILcdTreeLayered
- Parameters:
aLayer
- the layer to check whether it is in the flat list representation- Returns:
true
when the flat list representation contains the given layer,false
otherwise
-
putCornerIcon
Description copied from interface:ILcdGXYView
Sets anILcdIcon
to be painted at the given corner of this view. Only the last set icon for the given position is painted.- Specified by:
putCornerIcon
in interfaceILcdGXYView
- Parameters:
aCornerIcon
- theILcdIcon
to be painted at the given corner ornull
to unregister the iconaPosition
- one ofILcdGXYView.UPPERLEFT
,ILcdGXYView.UPPERRIGHT
,ILcdGXYView.LOWERRIGHT
,ILcdGXYView.LOWERLEFT
-
getCornerIcon
Returns theILcdIcon
to be painted at the given corner of the view.- Parameters:
aPosition
- one ofILcdGXYView.UPPERLEFT
,ILcdGXYView.UPPERRIGHT
,ILcdGXYView.LOWERRIGHT
,ILcdGXYView.LOWERLEFT
- Returns:
- the
ILcdIcon
to be painted at the given corner ornull
when no icon has to be painted at the given corner - See Also:
-
addGXYLayer
Description copied from interface:ILcdGXYView
Adds the givenILcdGXYLayer
to thisILcdGXYView
. The layer is normally added to the top of the view's layers, but that is implementation specific. The view will be repainted depending on the result ofisAutoUpdate
. No action is performed if the given layer is already contained in the list.- Specified by:
addGXYLayer
in interfaceILcdGXYView
- Parameters:
aLayer
- the layer to add to this view- Returns:
true
if the layer was added successfully,false
if the view already contained the layer- See Also:
-
addGXYLayer
Description copied from interface:ILcdGXYView
Adds the givenILcdGXYLayer
to thisILcdGXYView
, forcing a repaint if desired. The layer is normally added to the top of the view's layers, but that is implementation specific. No action is performed if the given layer is already contained in the list.- Specified by:
addGXYLayer
in interfaceILcdGXYView
- Parameters:
aLayer
- the layer to add to this viewaRepaint
- if true, the view is repainted. If false, the view is not repainted.- Returns:
true
if the layer was added successfully,false
if the view already contained the layer- See Also:
-
getNumberOfCachedBackgroundLayers
public int getNumberOfCachedBackgroundLayers()Description copied from interface:ILcdGXYView
Returns the number of layers whose combined representation is cached across repaints. The layers are always the bottommost layer objects; they are regarded as background layers.- Specified by:
getNumberOfCachedBackgroundLayers
in interfaceILcdGXYView
- Returns:
- the number of bottommost layers to cache
- See Also:
-
setNumberOfCachedBackgroundLayers
public void setNumberOfCachedBackgroundLayers(int aNumberOfCachedBackgroundLayers) This operation is not supported, as this view does not cache background layers.- Specified by:
setNumberOfCachedBackgroundLayers
in interfaceILcdGXYView
- Parameters:
aNumberOfCachedBackgroundLayers
- should be zero- Throws:
IllegalArgumentException
- when aNumberOfCachedBackgroundLayers != 0- See Also:
-
hasValidImage
public boolean hasValidImage()Description copied from interface:ILcdGXYView
Returnstrue
if the view has a valid image.- Specified by:
hasValidImage
in interfaceILcdGXYView
- Returns:
true
- See Also:
-
getImage
Description copied from interface:ILcdGXYView
Returns anImage
of this view. The image has not been painted on by the controller. This method is guaranteed to return an up-to-date image: if the view has been invalidated in some way (e.g. when a layer has been removed) then this method first updates the view before returning an image. To improve performance and conserve memory, the view is allowed to cache, reuse and overwrite the image in subsequent repaints. NOTE: While using High DPI mode, this method will return an image which is bigger than the view dimensions reported bygetWidth()
andgetHeight()
methods.- Specified by:
getImage
in interfaceILcdGXYView
- Returns:
- an image containing the representation of this view
-
getPreferredSize
Description copied from interface:ILcdGXYView
Returns the preferred size of the view. This interface does not specify a functionality for this property.- Specified by:
getPreferredSize
in interfaceILcdGXYView
- Returns:
- the preferred size of the view in AWT pixels
-
setCursor
Sets the view cursor to the given cursor. Its image is displayed when the mouse is within the view boundaries.This method is not implemented: an image does not offer user-interaction.
- Specified by:
setCursor
in interfaceILcdGXYView
- Parameters:
aCursor
- Cursor instance to use, or null to inherit the cursor of a containing entity, if any- See Also:
-
setBackground
Description copied from interface:ILcdGXYView
Sets the background color of the view. This is the color that appears when no objects are painted on top of it.- Specified by:
setBackground
in interfaceILcdGXYView
- Parameters:
aColor
- the color which appears at a location where no data is painted.- See Also:
-
getBackground
Description copied from interface:ILcdGXYView
Returns the background color of the view. This is the color that appears when no objects are painted on top of it.- Specified by:
getBackground
in interfaceILcdGXYView
- Returns:
- the background color of the view
- See Also:
-
setScale
public void setScale(double aScale) Description copied from interface:ILcdGXYView
Sets the scale of this view, repainting the view according toisAutoUpdate
. The scale corresponds to the number of pixels per world unit, as determined by theILcdXYWorldReference
. Hence, increasing the scale zooms in, and decreasing the scale zooms out. A view displaying geographical data usually employs a scale in pixels per meter. As an example, to fit the world on a view that is 1000 pixels wide, a scale of about 1000 pixels/40.000km, or 1.0/40.000 is needed. For most use cases, we recommended setting theunitless map scale
instead.- Specified by:
setScale
in interfaceILcdGXYView
- Parameters:
aScale
- the new scale of the view. The view is scaled using the world origin as center. The scale is limited so that it does not exceed the interval defined by the minimum and maximum scales.- See Also:
-
setScale
public void setScale(double aScale, boolean aRepaint) Description copied from interface:ILcdGXYView
Sets the scale of this view, optionally repainting the view. The scale corresponds to the number of pixels per world unit, as determined by theILcdXYWorldReference
. Hence, increasing the scale zooms in, and decreasing the scale zooms out. A view displaying geographical data usually employs a scale in pixels per meter. As an example, to fit the world on a view that is 1000 pixels wide, a scale of about 1000 pixels/40.000km, or 1.0/40.000 is needed. For most use cases, we recommended setting theunitless map scale
instead.- Specified by:
setScale
in interfaceILcdGXYView
- Parameters:
aScale
- the new scale of the view. The view is scaled using the world origin as center. The scale is limited so that it does not exceed the interval defined by the minimum and maximum scales.aRepaint
- iftrue
, the view is repainted. If false, the view is not repainted.- See Also:
-
setScale
public void setScale(double aScale, boolean aRepaint, boolean aAdjusting) Description copied from interface:ILcdGXYView
Sets the scale of this view, optionally indicating subsequent property changes. The scale corresponds to the number of pixels per world unit, as determined by theILcdXYWorldReference
. Hence, increasing the scale zooms in, and decreasing the scale zooms out. A view displaying geographical data usually employs a scale in pixels per meter. As an example, to fit the world on a view that is 1000 pixels wide, a scale of about 1000 pixels/40.000km, or 1.0/40.000 is needed. For most use cases, we recommended setting theunitless map scale
instead.- Specified by:
setScale
in interfaceILcdGXYView
- Parameters:
aScale
- the new scale of the view. The view is scaled using the world origin as center. The scale is limited so that it does not exceed the interval defined by the minimum and maximum scales.aRepaint
- iftrue
, the view is repainted. If false, the view is not repainted.aAdjusting
- iftrue
, the caller indicates that he will trigger another property change right after this call. This is reflected in the associated property change event.- See Also:
-
setScale
public void setScale(double aScaleX, double aScaleY, boolean aRepaint, boolean aAdjusting) Description copied from interface:ILcdGXYView
Sets the scale along the x-axis and y-axis of this view, repainting the view according toisAutoUpdate
.The scale corresponds to the number of pixels per world unit, as determined by the
ILcdXYWorldReference
. For example, a view displaying geographical data could use a scale in pixels per meter.The default implementation in this interface sets both scales to the geometric mean of the requested scales. The concrete view implementations do respect the individual scales.
- Specified by:
setScale
in interfaceILcdGXYView
- Parameters:
aScaleX
- the new scale along the x-axis of the view.aScaleY
- the new scale along the y-axis of the view.aRepaint
- iftrue
, the view is repainted. If false, the view is not repainted.aAdjusting
- iftrue
, the caller indicates that he will trigger another property change right after this call. This is reflected in the associated property change event.- See Also:
-
getScale
public double getScale()Description copied from interface:ILcdGXYView
Returns the scale for which to paint the view contents expressed in toolkit pixels per world unit. The world unit is determined by the view's world reference. Increasing the scale zooms in, and decreasing the scale zooms out. For most use cases, we recommended using theunitless map scale
instead.- Specified by:
getScale
in interfaceILcdGXYView
- Returns:
- the scale of this view
- See Also:
-
setMinScale
public void setMinScale(double aMinScale) Description copied from interface:ILcdGXYView
Limits the maximum zoomed out scale of the view. Subsequent calls ofILcdGXYView.setScale(double)
orILcdGXYView.setMapScale(com.luciad.view.TLcdMapScale, com.luciad.view.TLcdMapScale.ScaleLocation)
will ensure that the scale does not fall below the minimum scale. For most use cases, we recommended using theunitless map scale
variant instead.- Specified by:
setMinScale
in interfaceILcdGXYView
- Parameters:
aMinScale
- the new minimum scale of this view- See Also:
-
getMinScale
public double getMinScale()Description copied from interface:ILcdGXYView
Returns the maximum zoomed out scale of the view. Subsequent calls ofILcdGXYView.setScale(double)
orILcdGXYView.setMapScale(com.luciad.view.TLcdMapScale, com.luciad.view.TLcdMapScale.ScaleLocation)
will ensure that the scale does not fall below the minimum scale. For most use cases, we recommended using theunitless map scale
variant instead.- Specified by:
getMinScale
in interfaceILcdGXYView
- Returns:
- the minimum scale of the view
- See Also:
-
setMaxScale
public void setMaxScale(double aMaxScale) Description copied from interface:ILcdGXYView
Limits the maximum zoomed in scale of the view. Subsequent calls ofILcdGXYView.setScale(double)
orILcdGXYView.setMapScale(com.luciad.view.TLcdMapScale, com.luciad.view.TLcdMapScale.ScaleLocation)
will ensure that the scale does not rise above the maximum scale. For most use cases, we recommended using theunitless map scale
variant instead.- Specified by:
setMaxScale
in interfaceILcdGXYView
- Parameters:
aMaxScale
- the new maximum scale of this view- See Also:
-
getMaxScale
public double getMaxScale()Description copied from interface:ILcdGXYView
Returns the maximum zoomed in scale of the view. Subsequent calls ofILcdGXYView.setScale(double)
orILcdGXYView.setMapScale(com.luciad.view.TLcdMapScale, com.luciad.view.TLcdMapScale.ScaleLocation)
will ensure that the scale does not rise above the maximum scale. For most use cases, we recommended using theunitless map scale
variant instead.- Specified by:
getMaxScale
in interfaceILcdGXYView
- Returns:
- the maximum scale of the view
- See Also:
-
setWorldOrigin
Description copied from interface:ILcdGXYView
Sets the world origin of the view, repainting the view according toisAutoUpdate
. The world origin is a point in world coordinates that maps onto the view origin.- Specified by:
setWorldOrigin
in interfaceILcdGXYView
- Parameters:
aWorldOrigin
- the new world origin of this view, expressed in world coordinates. Only the XY coordinates are considered.- See Also:
-
setWorldOrigin
Description copied from interface:ILcdGXYView
Sets the world origin of the view, optionally repainting the view. The world origin is a point in world coordinates that maps onto the view origin.- Specified by:
setWorldOrigin
in interfaceILcdGXYView
- Parameters:
aWorldOrigin
- the new world origin of this view, expressed in world coordinates. Only the XY coordinates are considered.aRepaint
- iftrue
, the view is repainted. If false, the view is not repainted.- See Also:
-
setWorldOrigin
Description copied from interface:ILcdGXYView
Sets the world origin of the view, optionally indicating subsequent property changes. The world origin is a point in world coordinates that maps onto the view origin.- Specified by:
setWorldOrigin
in interfaceILcdGXYView
- Parameters:
aWorldOrigin
- the new world origin of this view, expressed in world coordinates. Only the XY coordinates are considered.aRepaint
- iftrue
, the view is repainted. If false, the view is not repainted.aAdjusting
- iftrue
, the caller indicates that he will trigger another property change right after this call. This is reflected in the associated property change event.- See Also:
-
getWorldOrigin
Description copied from interface:ILcdGXYView
Returns the point in world coordinates that maps onto the view origin. Hence, the combination of world origin and view origin determines which part of the world is visible in the view. The points are considered to be 'on top of each other'- Specified by:
getWorldOrigin
in interfaceILcdGXYView
- Returns:
- the world origin of the view, expressed in world coordinates. Only the XY coordinates of the point are relevant.
- See Also:
-
setViewOrigin
Description copied from interface:ILcdGXYView
Sets the view origin of the view, repainting the view according toisAutoUpdate
. The view origin is a point in AWT pixel coordinates that maps onto the world origin.- Specified by:
setViewOrigin
in interfaceILcdGXYView
- Parameters:
aViewOrigin
- the new view origin of this view, expressed in AWT pixel coordinates- See Also:
-
setViewOrigin
Description copied from interface:ILcdGXYView
Sets the view origin of the view, optionally repainting the view. The view origin is a point in AWT pixel coordinates that maps onto the world origin.- Specified by:
setViewOrigin
in interfaceILcdGXYView
- Parameters:
aViewOrigin
- the new view origin of this view, expressed in AWT pixel coordinatesaRepaint
- iftrue
, the view is repainted. If false, the view is not repainted.- See Also:
-
setViewOrigin
Description copied from interface:ILcdGXYView
Sets the view origin of the view, optionally indicating subsequent property changes. The view origin is a point in AWT pixel coordinates that maps onto the world origin.- Specified by:
setViewOrigin
in interfaceILcdGXYView
- Parameters:
aViewOrigin
- the new view origin of this view, expressed in AWT pixel coordinatesaRepaint
- iftrue
, the view is repainted. If false, the view is not repainted.aAdjusting
- iftrue
, the caller indicates that he will trigger another property change right after this call. This is reflected in the associated property change event.- See Also:
-
getViewOrigin
Description copied from interface:ILcdGXYView
Returns the point in AWT pixel coordinates that maps onto the world origin. Hence, the combination of world origin and view origin determines which part of the world is visible in the view. The points are considered to be 'on top of each other'.- Specified by:
getViewOrigin
in interfaceILcdGXYView
- Returns:
- the view origin expressed in AWT pixel coordinates
- See Also:
-
getRotation
public double getRotation()Description copied from interface:ILcdRotationCapableGXYView
Returns the rotation of thisILcdGXYView
. The rotation is expressed in degrees and is positive counter-clockwise. The rotation is applied in the world reference system around the worldOrigin.- Specified by:
getRotation
in interfaceILcdRotationCapable
- Specified by:
getRotation
in interfaceILcdRotationCapableGXYView
- Returns:
- the rotation of this
ILcdGXYView
. The rotation is expressed in degrees and is positive counter-clockwise. - See Also:
-
setRotation
public void setRotation(double aRotation, boolean aRepaint, boolean aAdjusting) Sets the rotation of thisILcdGXYView
, optionally repainting the view. The rotation is expressed in degrees and is positive counter-clockwise. The rotation is applied in the world reference system around the worldOrigin.- Parameters:
aRotation
- the new rotation value expressed in degrees (positive counter-clockwise)aRepaint
- if true, the view is repaintedaAdjusting
- if true, the caller indicates that he will trigger another property change right after this call. This is reflected in the associated property change event.- See Also:
-
setRotation
public void setRotation(double aRotation) Description copied from interface:ILcdRotationCapableGXYView
Sets the rotation of thisILcdGXYView
, updating the view according toILcdView.isAutoUpdate()
. The rotation is expressed in degrees and is positive counter-clockwise. The rotation is applied in the world reference system around the worldOrigin.- Specified by:
setRotation
in interfaceILcdRotationCapable
- Specified by:
setRotation
in interfaceILcdRotationCapableGXYView
- Parameters:
aRotation
- the new rotation value expressed in degrees (positive counter-clockwise).- See Also:
-
setRotation
public void setRotation(double aRotation, boolean aAdjusting) Description copied from interface:ILcdRotationCapableGXYView
Sets the rotation of thisILcdGXYView
, optionally indicating subsequent property changes. The rotation is expressed in degrees and is positive counter-clockwise. The rotation is applied in the world reference system around the worldOrigin.- Specified by:
setRotation
in interfaceILcdRotationCapable
- Specified by:
setRotation
in interfaceILcdRotationCapableGXYView
- Parameters:
aRotation
- the new rotation value expressed in degrees (positive counter-clockwise)aAdjusting
- if true, the caller indicates that he will trigger another property change right after this call. This is reflected in the associated property change event.- See Also:
-
getGXYViewXYWorldTransformation
Description copied from interface:ILcdGXYViewXYWorldTransformationProvider
Returns a validILcdGXYViewXYWorldTransformation
for anILcdGXYView
. Users of the transformation should update their reference when the view'sworld origin
,view origin
,rotation
, orscale
changes.- Specified by:
getGXYViewXYWorldTransformation
in interfaceILcdGXYViewXYWorldTransformationProvider
- Returns:
- a valid
ILcdGXYViewXYWorldTransformation
-
setXYWorldReference
Description copied from interface:ILcdGXYView
Sets the view's 2D world coordinate system, repainting the view according toisAutoUpdate
.- Specified by:
setXYWorldReference
in interfaceILcdGXYView
- Parameters:
aXYWorldReference
- the newILcdXYWorldReference
associated to this view- See Also:
-
setXYWorldReference
Description copied from interface:ILcdGXYView
Sets the view's 2D world coordinate system, optionally repainting the view.- Specified by:
setXYWorldReference
in interfaceILcdGXYView
- Parameters:
aXYWorldReference
- the newILcdXYWorldReference
associated to this viewaRepaint
- iftrue
, the view is repainted. If false, the view is not repainted.- See Also:
-
setXYWorldReference
public void setXYWorldReference(ILcdXYWorldReference aXYWorldReference, boolean aRepaint, boolean aAdjusting) Description copied from interface:ILcdGXYView
Sets the view's 2D world coordinate system, optionally indicating subsequent property changes.- Specified by:
setXYWorldReference
in interfaceILcdGXYView
- Parameters:
aXYWorldReference
- the newILcdXYWorldReference
associated to this viewaRepaint
- iftrue
, the view is repainted. If false, the view is not repainted.aAdjusting
- iftrue
, the caller indicates that he will trigger another property change right after this call. This is reflected in the associated property change event.- See Also:
-
getXYWorldReference
Description copied from interface:ILcdGXYView
Returns the view's 2D world coordinate system.- Specified by:
getXYWorldReference
in interfaceILcdGXYView
- Returns:
- the view's 2D world coordinate system
- See Also:
-
setGXYController
Do not call this method.TLcdGXYViewPlanarImage
does not support controllers: an image has no user-interaction.- Specified by:
setGXYController
in interfaceILcdGXYView
- Parameters:
aGXYViewController
- the new controller of this view, ornull
if no controller is to be used- Throws:
UnsupportedOperationException
- when this method is called- See Also:
-
getGXYController
Description copied from interface:ILcdGXYView
Returns theILcdGXYController
handling the user interaction of the view.- Specified by:
getGXYController
in interfaceILcdGXYView
- Returns:
- the current controller handling the user interaction, or null if no controller is present
- See Also:
-
getDefaultPen
Description copied from interface:ILcdGXYView
Returns anILcdGXYPen
supporting editing and painting on the view.- Specified by:
getDefaultPen
in interfaceILcdGXYView
- Returns:
- the default
ILcdGXYPen
of this view - See Also:
-
setPaintingMode
public void setPaintingMode(int aPaintingMode) Description copied from interface:ILcdGXYView
Sets the type or types of layer content to display in the ILcdGXYView.- Specified by:
setPaintingMode
in interfaceILcdGXYView
- Parameters:
aPaintingMode
- a binary OR of ILcdGXYLayer.BODIES, ILcdGXYLayer.LABELS, ILcdGXYLayer.SELECTION- See Also:
-
getPaintingMode
public int getPaintingMode()Description copied from interface:ILcdGXYView
Gets the painting mode for this ILcdGXYView.- Specified by:
getPaintingMode
in interfaceILcdGXYView
- Returns:
- a binary OR of ILcdGXYLayer.BODIES, ILcdGXYLayer.LABELS, ILcdGXYLayer.SELECTION
- See Also:
-
invalidate
Description copied from interface:ILcdGXYView
Asks the view to invalidate its content, optionally repainting the content asynchronously. A subsequent repaint will ask (at the least) all layers to draw their bodies, labels and selection. This method is typically called when the entire view needs to be redrawn, for example, after a zoom operation or projection change.- Specified by:
invalidate
in interfaceILcdGXYView
- Specified by:
invalidate
in interfaceILcdView
- Parameters:
aRepaint
- iftrue
, the view is updated immediately, but the method will not wait for the update to finish. If false, the view is updated on the next paint or repaint method call.aSource
- class instance calling the method. For tracing purposes.aMessage
- a message associated to this method call. For tracing purposes.- See Also:
-
invalidateAndWait
Description copied from interface:ILcdGXYView
Asks the view to invalidate its content, optionally repainting the content synchronously. A subsequent repaint will ask (at the least) all layers to draw their bodies, labels and selection. This method is typically called when the entire view needs to be redrawn, for example, after a zoom operation or projection change.- Specified by:
invalidateAndWait
in interfaceILcdGXYView
- Parameters:
aRepaint
- iftrue
the ILcdGXYView will be updated immediately, and the method will block until the update is complete. If false, the view is updated on the next paint or repaint method call.aSource
- class instance calling the method. For tracing purposes.aMessage
- a message associated to this method call. For tracing purposes.- See Also:
-
invalidateRegion
Description copied from interface:ILcdGXYView
Asks the view to invalidate the content in the given AWT clip, optionally repainting the content asynchronously. A subsequent repaint will ask (at the least) all layers to draw their bodies, labels and selection in the given clip, and may reuse earlier generated imagery for the rest of the view. This method is typically called when a small portion of the view needs to be redrawn, for example, when the objects in that area have changed.- Specified by:
invalidateRegion
in interfaceILcdGXYView
- Parameters:
aClip
- the clip to invalidateaRepaint
- iftrue
, the view is updated immediately, but the method will not wait for the update to finish. If false, the view is updated on the next paint or repaint method call.aSource
- class instance calling the method. For tracing purposes.aMessage
- a message associated to this method call. For tracing purposes.- See Also:
-
invalidateRegionAndWait
public void invalidateRegionAndWait(Rectangle aClip, boolean aRepaint, Object aSource, String aMessage) Description copied from interface:ILcdGXYView
Asks the view to invalidate the content in the given AWT clip, optionally repainting the content synchronously. A subsequent repaint will ask (at the least) all layers to draw their bodies, labels and selection in the given clip, and may reuse earlier generated imagery for the rest of the view. This method is typically called when a small portion of the view needs to be redrawn, for example, when the objects in that area have changed.- Specified by:
invalidateRegionAndWait
in interfaceILcdGXYView
- Parameters:
aClip
- the clip to invalidateaRepaint
- iftrue
the ILcdGXYView will be updated immediately, and the method will block until the update is complete. If false, the view is updated on the next paint or repaint method call.aSource
- class instance calling the method. For tracing purposes.aMessage
- a message associated to this method call. For tracing purposes.- See Also:
-
invalidateGXYLayer
public void invalidateGXYLayer(ILcdGXYLayer aGXYLayer, boolean aRepaint, Object aSource, String aMessage) Description copied from interface:ILcdGXYView
Asks the view to invalidate the content of the givenILcdGXYLayer
, optionally repainting the content asynchronously. A subsequent repaint will (at the least) ask the given layer to draw its bodies, labels and selection, and may reuse earlier generated imagery for the other layers. This method is typically called when a single layer needs to be redrawn, for example, when its painter settings change.- Specified by:
invalidateGXYLayer
in interfaceILcdGXYView
- Parameters:
aGXYLayer
- the layer to invalidateaRepaint
- iftrue
, the view is updated immediately, but the method will not wait for the update to finish. If false, the view is updated on the next paint or repaint method call.aSource
- class instance calling the method. For tracing purposes.aMessage
- a message associated to this method call. For tracing purposes.
-
invalidateGXYLayerAndWait
public void invalidateGXYLayerAndWait(ILcdGXYLayer aGXYLayer, boolean aRepaint, Object aSource, String aMessage) Description copied from interface:ILcdGXYView
Asks the view to invalidate the content of the givenILcdGXYLayer
, optionally repainting the content synchronously. A subsequent repaint will (at the least) ask the given layer to draw its bodies, labels and selection, and may reuse earlier generated imagery for the other layers. This method is typically called when a single layer needs to be redrawn, for example, when its painter settings change.- Specified by:
invalidateGXYLayerAndWait
in interfaceILcdGXYView
- Parameters:
aGXYLayer
- the layer to invalidateaRepaint
- iftrue
the ILcdGXYView will be updated immediately, and the method will block until the update is complete. If false, the view is updated on the next paint or repaint method call.aSource
- class instance calling the method. For tracing purposes.aMessage
- a message associated to this method call. For tracing purposes.- See Also:
-
invalidateSelection
Description copied from interface:ILcdGXYView
Asks the ILcdGXYView to invalidate its selection, optionally repainting the content asynchronously. A subsequent repaint will ask (at the least) all layers to draw their selection, and may reuse earlier generated imagery for the bodies and labels. This method is typically called when the selection needs to be redrawn, for example, when changing the selection.- Specified by:
invalidateSelection
in interfaceILcdGXYView
- Parameters:
aRepaint
- iftrue
, the view is updated immediately, but the method will not wait for the update to finish. If false, the view is updated on the next paint or repaint method call.aSource
- class instance calling the method. For tracing purposes.aMessage
- a message associated to this method call. For tracing purposes.- See Also:
-
invalidateSelectionAndWait
Description copied from interface:ILcdGXYView
Asks the ILcdGXYView to invalidate its selection, optionally repainting the content synchronously. A subsequent repaint will ask (at the least) all layers to draw their selection, and may reuse earlier generated imagery for the bodies and labels. This method is typically called when the selection needs to be redrawn, for example, when changing the selection.- Specified by:
invalidateSelectionAndWait
in interfaceILcdGXYView
- Parameters:
aRepaint
- iftrue
the ILcdGXYView will be updated immediately, and the method will block until the update is complete. If false, the view is updated on the next paint or repaint method call.aSource
- class instance calling the method. For tracing purposes.aMessage
- a message associated to this method call. For tracing purposes.- See Also:
-
invalidateRegionSelection
public void invalidateRegionSelection(Rectangle aClip, boolean aRepaint, Object aSource, String aMessage) Description copied from interface:ILcdGXYView
Asks the ILcdGXYView to invalidate its selection in the given AWT clip, optionally repainting the content asynchronously. A subsequent repaint will ask (at the least) all layers to draw their selection in the given clip, and may reuse earlier generated imagery for the bodies, labels, and rest of the view. This method is typically called when the selection of a small portion of the view needs to be redrawn, for example, when changing the selection in that area.- Specified by:
invalidateRegionSelection
in interfaceILcdGXYView
- Parameters:
aClip
- the clip to invalidateaRepaint
- iftrue
, the view is updated immediately, but the method will not wait for the update to finish. If false, the view is updated on the next paint or repaint method call.aSource
- class instance calling the method. For tracing purposes.aMessage
- a message associated to this method call. For tracing purposes.- See Also:
-
invalidateRegionSelectionAndWait
public void invalidateRegionSelectionAndWait(Rectangle aClip, boolean aRepaint, Object aSource, String aMessage) Description copied from interface:ILcdGXYView
Asks the ILcdGXYView to invalidate its selection in the given AWT clip, optionally repainting the content synchronously. A subsequent repaint will ask (at the least) all layers to draw their selection in the given clip, and may reuse earlier generated imagery for the bodies, labels, and rest of the view. This method is typically called when the selection of a small portion of the view needs to be redrawn, for example, when changing the selection in that area.- Specified by:
invalidateRegionSelectionAndWait
in interfaceILcdGXYView
- Parameters:
aClip
- the clip to invalidateaRepaint
- iftrue
the ILcdGXYView will be updated immediately, and the method will block until the update is complete. If false, the view is updated on the next paint or repaint method call.aSource
- class instance calling the method. For tracing purposes.aMessage
- a message associated to this method call. For tracing purposes.- See Also:
-
setAutoUpdate
public void setAutoUpdate(boolean aAutoUpdate) Sets whether to update the view's representation automatically to keep it in sync with its state and the state of its models.When switching the autoUpdate property from
false
totrue
, a repaint will be triggered.- Specified by:
setAutoUpdate
in interfaceILcdView
- Parameters:
aAutoUpdate
- iftrue
, the view automatically updates its representation on reception of any event that might require an update (e.g. when its properties change, when anObject
in a model has changed, or when a model has been added/removed). If false, the view must be repainted manually.- See Also:
-
isAutoUpdate
public boolean isAutoUpdate()Description copied from interface:ILcdView
Returns whether the view's contents are automatically updated when necessary.- Specified by:
isAutoUpdate
in interfaceILcdView
- Returns:
true
if the view automatically updates its representation on reception of any event that might require an update (e.g. when its properties change, when anObject
in a model has changed, or when a model has been added/removed).false
if the view must be repainted manually.- See Also:
-
setDrawOffScreenImageOnPaint
public void setDrawOffScreenImageOnPaint(boolean aDrawOffScreenImageOnPaint) Description copied from interface:ILcdGXYView
Sets whether the entire view's content is displayed, or only the current controller's representation. The controller can use this method to temporarily override the view's contents. The effect is visible upon the next repaint.- Specified by:
setDrawOffScreenImageOnPaint
in interfaceILcdGXYView
- Parameters:
aDrawOffScreenImageOnPaint
-true
to make the view paint itself when one of the paint methods is called. False if only the current controller is painted.- See Also:
-
isDrawOffScreenImageOnPaint
public boolean isDrawOffScreenImageOnPaint()Description copied from interface:ILcdGXYView
Returns whether the entire view's content is displayed, or only the controller's representation.- Specified by:
isDrawOffScreenImageOnPaint
in interfaceILcdGXYView
- Returns:
true
if the view paints itself when one of the paint methods is called. False if only the current controller is painted.- See Also:
-
addPropertyChangeListener
Description copied from interface:ILcdPropertyChangeSource
Registers the given
PropertyChangeListener
to be notified when this object's properties change.In case you need to register a listener which keeps a reference to an object with a shorter life-time than this change source, you can use a
ALcdWeakPropertyChangeListener
instance as property change listener.- Specified by:
addPropertyChangeListener
in interfaceILcdPropertyChangeSource
- Specified by:
addPropertyChangeListener
in interfacejavax.media.jai.PropertyChangeEmitter
- Overrides:
addPropertyChangeListener
in classjavax.media.jai.PlanarImage
- Parameters:
listener
- The listener to be notified- See Also:
-
removePropertyChangeListener
Description copied from interface:ILcdPropertyChangeSource
De-registers the given
PropertyChangeListener
from receiving property change events for this object.If the listener was added more than once, it will be notified one less time after being removed. If the listener is
null
, or was never added, no exception is thrown and no action is taken.- Specified by:
removePropertyChangeListener
in interfaceILcdPropertyChangeSource
- Specified by:
removePropertyChangeListener
in interfacejavax.media.jai.PropertyChangeEmitter
- Overrides:
removePropertyChangeListener
in classjavax.media.jai.PlanarImage
- Parameters:
listener
- the listener that should no longer be notified of changes of this object's properties- See Also:
-
setGXYViewLabelPainter
Sets the label painter algorithm for thisILcdGXYView
. A view label painter handles the labels of all the view's layers. When the view label painter is null, the layers are asked to paint their labels themselves. This will override any configured view label placer.Note that it is recommended to use
setGXYViewLabelPlacer
instead. Label placers offer better decluttering behavior, more algorithm choices, support for asynchronous label placement, and easier customization.- Parameters:
aGXYViewLabelPainter
- the painter handling this view's labels, or null- See Also:
-
getGXYViewLabelPainter
Description copied from interface:ILcdGXYView
Returns the label painting algorithm for this view. A view label painter handles the labels of all the view's layers. Hence, the layers are not asked to paint their labels if the view label painter is not null. The view label painter can be used for decluttering labels across all layers. To do this, it can select the objects that need a label and delegate the actual painting to the relevant layer'sILcdGXYLabelPainter
.- Specified by:
getGXYViewLabelPainter
in interfaceILcdGXYView
- Returns:
- the painter handling this view's labels, or null
- See Also:
-
getGXYViewLabelPlacer
Description copied from interface:ILcdGXYView
Returns the label placer for this view. A view label placer handles the labels of all the view's layers. The layers are only responsible for painting their labels while the label placer declutters the labels.- Specified by:
getGXYViewLabelPlacer
in interfaceILcdGXYView
- Returns:
- the label placer handling this view's labels, or
null
. - See Also:
-
setGXYViewLabelPlacer
Description copied from interface:ILcdGXYView
This method sets anILcdGXYViewLabelPlacer
to use for global labeling.This will override any configured view label painter.
- Specified by:
setGXYViewLabelPlacer
in interfaceILcdGXYView
- Parameters:
aGXYViewLabelPlacer
- a view label placer.- See Also:
-
setGXYLayerFactory
Sets the layer factory to use when adding models to the view. If null, layers can only be added usingaddGXYLayer(com.luciad.view.gxy.ILcdGXYLayer)
.- Parameters:
newGXYLayerFactory
- the layer factory to use when adding models to the view, or null- See Also:
-
getGXYLayerFactory
Returns the layer factory used when adding models to the view. If null, layers can only be added usingaddGXYLayer(com.luciad.view.gxy.ILcdGXYLayer)
.- Returns:
- newGXYLayerFactory the layer factory that is used when adding models to the view
- See Also:
-
addStatusListener
Registers the givenILcdStatusListener
to be notified of view status events. The amount, type and order of the status events is subject to change.- Specified by:
addStatusListener
in interfaceILcdGXYView
- Specified by:
addStatusListener
in interfaceILcdStatusSource
- Parameters:
aStatusListener
- the listener that will be informed of status events- See Also:
-
removeStatusListener
Unregisters the givenILcdStatusListener
from being notified of view status events.- Specified by:
removeStatusListener
in interfaceILcdGXYView
- Specified by:
removeStatusListener
in interfaceILcdStatusSource
- Parameters:
aStatusListener
- the listener that will no longer be informed of status events- See Also:
-
modelProduced
The produced model is added to the view, provided that a layer factory supporting the model is set.- Specified by:
modelProduced
in interfaceILcdModelProducerListener
- Parameters:
aModelProducerEvent
- the event describing the model production- See Also:
-
addModelListener
Description copied from interface:ILcdGXYView
Registers the givenILcdModelListener
to be informed ofILcdModel
change events from any layer's model in this view.- Specified by:
addModelListener
in interfaceILcdGXYView
- Parameters:
aModelListener
- a listener that will be notified ofILcdModel
change events from any layer's model in this view- See Also:
-
removeModelListener
Description copied from interface:ILcdGXYView
Unregisters the givenILcdModelListener
from receivingILcdModel
change events from any layer's model in this view.- Specified by:
removeModelListener
in interfaceILcdGXYView
- Parameters:
aModelListener
- a listener that the view will no longer notify ofILcdModel
change events- See Also:
-
addLayerSelectionListener
Description copied from interface:ILcdGXYView
Registers the givenILcdSelectionListener
to be informed of selection change events from any layer in this view.- Specified by:
addLayerSelectionListener
in interfaceILcdGXYView
- Parameters:
aSelectionListener
- a listener that will be notified of selection change events from any layer in this view. The events will have the relevant layer as source.- See Also:
-
removeLayerSelectionListener
Description copied from interface:ILcdGXYView
Unregisters the givenILcdSelectionListener
from receiving selection change events from any layer in this view.- Specified by:
removeLayerSelectionListener
in interfaceILcdGXYView
- Parameters:
aSelectionListener
- a listener that the view will no longer inform of selection change events- See Also:
-
repaint
public void repaint()TLcdGXYViewPlanarImage
does not implement this method. UsegetImage()
to obtain the up-to-date representation of the view.Repaints the view. The view is allowed to reuse earlier painted results as long as they are valid. Invalidation of the contents may occur indirectly (e.g. by changing view or layer properties) or directly by calling one of the
invalidate
methods. This method may return before the repaint is complete.- Specified by:
repaint
in interfaceILcdGXYView
- See Also:
-
repaint
public void repaint(int aX, int aY, int aWidth, int aHeight) TLcdGXYViewPlanarImage
does not implement this method. UsegetImage()
to obtain the up-to-date representation of the view.Repaints the view within the given AWT rectangle. The view is allowed to reuse earlier painted results as long as they are valid. Invalidation of the contents may occur indirectly (e.g. by changing view or layer properties) or directly by calling one of the
invalidate
methods. This method may return before the repaint is complete.- Specified by:
repaint
in interfaceILcdGXYView
- Parameters:
aX
- the x-coordinate of the rectangle's top-left pointaY
- the y-coordinate of the rectangle's top-left pointaWidth
- the width of the rectangleaHeight
- the height of the rectangle- See Also:
-
getForeground
Deprecated.This property is not used.Returns the foreground color of the view.- Specified by:
getForeground
in interfaceILcdGXYView
- Returns:
- the view's foreground color
- See Also:
-
setForeground
Deprecated.This property is not used.Sets the foreground color of the view.- Specified by:
setForeground
in interfaceILcdGXYView
- Parameters:
aColor
- the desired foregroundColor
- See Also:
-
getGraphics
Description copied from interface:ILcdGXYView
Returns a graphics context for this view. Most view implementations offer this context only to retrieve information from. Typically it cannot be used to draw on the view, especially if the view is automatically repainted.- Specified by:
getGraphics
in interfaceILcdGXYView
- Overrides:
getGraphics
in classjavax.media.jai.PlanarImage
- Returns:
- a graphics context for this view
-
isPaintInBackground
public boolean isPaintInBackground()Description copied from interface:ILcdGXYView
Returns whether the view is painted in a thread other than the event dispatch thread.- Specified by:
isPaintInBackground
in interfaceILcdGXYView
- Returns:
true
if background painting is enabled;false
otherwise
-
setPaintInBackground
public void setPaintInBackground(boolean aUpdateInBackground) Painting in the background is not supported by this view implementation. If this method is called, a runtime exception will be thrown.- Specified by:
setPaintInBackground
in interfaceILcdGXYView
- Parameters:
aUpdateInBackground
-true
to enable painting in the background;false
to disable it- Throws:
RuntimeException
- when the method is called
-
getPaintExceptionHandler
Description copied from interface:ILcdGXYView
Returns a handler to report paint exceptions. The view, as well as layers and painters can use this handler if they encounter an exception during painting. Because painting may happen asynchronously, the handler may be called from different threads.- Specified by:
getPaintExceptionHandler
in interfaceILcdGXYView
- Returns:
- a handler to report paint exceptions.
-
setPaintExceptionHandler
Sets a handler to report paint exceptions. Layers and/or painters can use this handler if they encounter a problem during painting. Because painting may happen asynchronously, the handler may be called from different threads.- Specified by:
setPaintExceptionHandler
in interfaceILcdGXYView
- Parameters:
aPaintExceptionHandler
- a handler to report paint exceptions. This handler should never be null.
-
getRootNode
Description copied from interface:ILcdTreeLayered
Returns the root node of the tree structure.
- Specified by:
getRootNode
in interfaceILcdTreeLayered
- Returns:
- the root node of the tree structure
-
isAsynchronousAllowed
public boolean isAsynchronousAllowed()Description copied from interface:ILcdGXYView
Returns whether this view allows asynchronous operations. Painters, layers or other parts of a view should not perform asynchronous operations when this method returns
false
. If this method returnstrue
, they can decide either way.When asynchronous operations are allowed, intermediate results of time-consuming asynchronous operations are displayed in order to provide an interactive user experience. For non-interactive applications, it is useful to disable asynchronous operations, since they can lead to more unpredictable results. Examples are tests, or server side functionality like the OGC WMS protocol which paints the view and returns it as an image. In these cases, you want the view to be painted completely without having to deal with intermediate results.
- Specified by:
isAsynchronousAllowed
in interfaceILcdGXYView
- Returns:
- whether this view allows asynchronous operations.
-
setAsynchronousAllowed
public void setAsynchronousAllowed(boolean aAsynchronousAllowed) Sets if asynchronous operation are allowed for this view. See
ILcdGXYView.isAsynchronousAllowed()
for more information.This method returns
false
by default.Note: it is advised to only modify this flag at construction time, not at runtime.
- Parameters:
aAsynchronousAllowed
-true
to allow asynchronous operations.- Since:
- 2017.0
-
isAntiAliased
public boolean isAntiAliased()Description copied from interface:ILcdGXYView
Specifies if anti-aliasing is enabled or not. Anti-aliasing makes lines and text appear smoother, but slows down rendering a little bit. If this property isfalse
, it does not mean anti-aliasing is fully disabled. It only means anti-aliasing is not enabled on the view level, various layers and painters may still decide to enable anti-aliasing for what they render.- Specified by:
isAntiAliased
in interfaceILcdGXYView
- Returns:
true
if anti-aliasing is enabled,false
otherwise.
-
setAntiAliased
public void setAntiAliased(boolean aAntiAliased) Changes the anti-aliasing behavior. Please refer toILcdGXYView.isAntiAliased()
for more information.- Parameters:
aAntiAliased
-true
to enable anti-aliasing,false
to let layers and painters decide.- Since:
- 2017.0
-