Package org.ka2ddo.yaac.gui.rastermap
Class RasterMapOverlay
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
com.bbn.openmap.Layer
org.ka2ddo.yaac.gui.rastermap.RasterMapOverlay
- All Implemented Interfaces:
com.bbn.openmap.event.MapMouseListener
,com.bbn.openmap.event.ProjectionListener
,com.bbn.openmap.ProjectionPainter
,com.bbn.openmap.PropertyConsumer
,ActionListener
,ComponentListener
,KeyListener
,ImageObserver
,MenuContainer
,BeanContextChild
,BeanContextMembershipListener
,Serializable
,Runnable
,EventListener
public class RasterMapOverlay
extends com.bbn.openmap.Layer
implements ComponentListener, Runnable, com.bbn.openmap.event.MapMouseListener, KeyListener
This class renders raster maps properly rescaled and translated to fit into the
Mercator projection used by the MapBean.
- Author:
- Andrew Pavlin, KA2DDO
- 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
Modifier and TypeFieldDescriptionstatic final com.bbn.openmap.event.SelectMouseMode
static final String
Fields inherited from class com.bbn.openmap.Layer
addAsBackground, AddAsBackgroundProperty, addToBeanContext, AddToBeanContextProperty, attributes, autoPalette, AutoPaletteProperty, beanContextChildSupport, coordTransform, DataPathPrefixProperty, DisplayPaletteCmd, DisplayPropertiesCmd, doHack, HidePaletteCmd, i18n, localHackList, maxScale, MaxScaleProperty, minScale, MinScaleProperty, palette, paletteListener, PrettyNameProperty, propertyPrefix, readyToPaint, RedrawCmd, removable, RemovableProperty, SWING_PACKAGE, TransformProperty, windowSupport
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
Fields inherited from interface com.bbn.openmap.PropertyConsumer
EditorProperty, initPropertiesProperty, LabelEditorProperty, ScopedEditorProperty
-
Constructor Summary
ConstructorDescriptionRasterMapOverlay
(com.bbn.openmap.MouseDelegator mouseDelegator, GeographicalMap geoMap) Create an overlay layer for displaying rescaled raster images. -
Method Summary
Modifier and TypeMethodDescriptionvoid
DO NOT CALL.void
DO NOT CALL.void
DO NOT CALL.void
DO NOT CALL.com.bbn.openmap.event.MapMouseListener
Get the object that should receive MapMouse events when this Layer is active for mouse input.String[]
Specify what map mouse service this Layer provides.Get the collection of raster images used by this map overlay.boolean
Identify whether raster overlays should be rendered on the map window.void
Invoked when a key has been pressed.void
Invoked when a key has been released.void
Invoked when a key has been typed.boolean
mouseClicked
(MouseEvent mouseEvent) Handle mouse click events on this Layer.boolean
mouseDragged
(MouseEvent mouseEvent) Handle mouse drag events on this Layer.void
mouseEntered
(MouseEvent mouseEvent) Handle mouse enter events on this Layer.void
mouseExited
(MouseEvent mouseEvent) Handle mouse exit events on this Layer.void
No-op.boolean
mouseMoved
(MouseEvent mouseEvent) Handle mouse move events on this Layer.boolean
mousePressed
(MouseEvent mouseEvent) Handle mouse press events on this Layer.boolean
mouseReleased
(MouseEvent mouseEvent) Handle mouse release events on this Layer.protected void
Draw the enabled raster maps on the map window.void
projectionChanged
(com.bbn.openmap.event.ProjectionEvent e) Handle when the current map Projection is modified.void
registerMouseMode
(com.bbn.openmap.MouseDelegator mouseDelegator) Specify the identifier for when this Layer should receive MapMouseEvents.void
repaint()
Repaints this component.final void
run()
DO NOT CALL.void
setPinningRasterMapEntry
(RasterMapEntry pinningRME) Specify what raster image is to be pinned to the map coordinate system.void
setShowRasterMaps
(boolean showRasterMaps) Specify whether raster overlays should be rendered on the map window.void
Start regenerating the raster map overlay layer based on the current Projection.void
stopRegenerate
(int offsetX, int offsetY) Stop regenerating the raster overlay.Complete a raster pinning operation.Methods inherited from class com.bbn.openmap.Layer
actionPerformed, addComponentListener, added, addInfoDisplayListener, addLayerStatusListener, addMouseListener, addVetoableChangeListener, childrenAdded, childrenRemoved, clearListeners, connectToBeanContext, createWindowSupport, disconnectFromBeanContext, dispose, finalize, findAndInit, findAndInit, findAndUndo, fireHideToolTip, firePaletteEvent, fireRequestBrowserContent, fireRequestBrowserContent, fireRequestCursor, fireRequestInfoLine, fireRequestInfoLine, fireRequestInfoLine, fireRequestMessage, fireRequestMessage, fireRequestToolTip, fireRequestToolTip, fireRequestURL, fireRequestURL, fireStatusUpdate, fireStatusUpdate, fireVetoableChange, getAddAsBackground, getAddToBeanContext, getAttribute, getBeanContext, getCoordTransform, getGUI, getIcon, getMaxScale, getMinScale, getPackage, getPalette, getProjection, getProperties, getPropertyInfo, getPropertyPrefix, getWindowSupport, hasGUI, hidePalette, isAutoPalette, isProjectionOK, isReadyToPaint, isRemovable, notifyHideHack, prependDataPathPrefix, putAttribute, removeComponentListener, removeConfirmed, removed, removeInfoDisplayListener, removeLayerStatusListener, removeVetoableChangeListener, renderDataForProjection, repaint, resetPalette, setAddAsBackground, setAddToBeanContext, setAutoPalette, setBeanContext, setCoordTransform, setIcon, setLayerProperties, setMaxScale, setMinScale, setName, setPaletteVisible, setProjection, setProjection, setProperties, setProperties, setPropertyPrefix, setReadyToPaint, setRemovable, setVisible, setWindowSupport, showPalette
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, 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, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, 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, unregisterKeyboardAction, update, updateUI
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, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, 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, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.beans.beancontext.BeanContextChild
addPropertyChangeListener, removePropertyChangeListener
-
Field Details
-
YAAC_RASTER_PIN_MODE
- See Also:
-
YAAC_RASTER_MODE
public static final com.bbn.openmap.event.SelectMouseMode YAAC_RASTER_MODE
-
-
Constructor Details
-
RasterMapOverlay
Create an overlay layer for displaying rescaled raster images.- Parameters:
mouseDelegator
- MouseDelegator that will control which layer will get mouse eventsgeoMap
- GeographicalMap that will contain thus RasterMapOverlay
-
-
Method Details
-
registerMouseMode
public void registerMouseMode(com.bbn.openmap.MouseDelegator mouseDelegator) Specify the identifier for when this Layer should receive MapMouseEvents.- Parameters:
mouseDelegator
- the MouseDelegator to receive the registration info
-
isShowRasterMaps
public boolean isShowRasterMaps()Identify whether raster overlays should be rendered on the map window.- Returns:
- boolean true if the collected rasters should be rendered
-
setShowRasterMaps
public void setShowRasterMaps(boolean showRasterMaps) Specify whether raster overlays should be rendered on the map window.- Parameters:
showRasterMaps
- boolean true if the collected rasters should be rendered
-
getRasterMapCatalog
Get the collection of raster images used by this map overlay.- Returns:
- RasterMapCatalog
-
unsetPinningRasterMapEntry
Complete a raster pinning operation.- Returns:
- the pinned RasterMapEntry
-
setPinningRasterMapEntry
Specify what raster image is to be pinned to the map coordinate system.- Parameters:
pinningRME
- RasterMapEntry to be pinned
-
projectionChanged
public void projectionChanged(com.bbn.openmap.event.ProjectionEvent e) Handle when the current map Projection is modified.- Specified by:
projectionChanged
in interfacecom.bbn.openmap.event.ProjectionListener
- Parameters:
e
- ProjectEvent describing the change in geometrical projection
-
paintComponent
Draw the enabled raster maps on the map window.- Overrides:
paintComponent
in classJComponent
- Parameters:
g
- Graphics object to use for rendering
-
stopRegenerate
public void stopRegenerate(int offsetX, int offsetY) Stop regenerating the raster overlay.- Parameters:
offsetX
- X offset for drawing the existing overlay on a dragged mapoffsetY
- Y offset for drawing the existing overlay on a dragged map
-
startRegenerate
public void startRegenerate()Start regenerating the raster map overlay layer based on the current Projection. -
run
public final void run()DO NOT CALL. Background thread body for rendering the raster image overlay layer. -
componentHidden
DO NOT CALL. No-op.- Specified by:
componentHidden
in interfaceComponentListener
- Parameters:
e
- ComponentEvent
-
componentMoved
DO NOT CALL. No-op.- Specified by:
componentMoved
in interfaceComponentListener
- Parameters:
e
- ComponentEvent
-
componentResized
DO NOT CALL. Listener callback to regenerate raster map overlay when map widget is resized.- Specified by:
componentResized
in interfaceComponentListener
- Parameters:
e
- ComponentEvent
-
componentShown
DO NOT CALL. No-op.- Specified by:
componentShown
in interfaceComponentListener
- Parameters:
e
- ComponentEvent
-
getMapMouseListener
public com.bbn.openmap.event.MapMouseListener getMapMouseListener()Get the object that should receive MapMouse events when this Layer is active for mouse input.- Overrides:
getMapMouseListener
in classcom.bbn.openmap.Layer
- Returns:
- this Layer object
-
getMouseModeServiceList
Specify what map mouse service this Layer provides.- Specified by:
getMouseModeServiceList
in interfacecom.bbn.openmap.event.MapMouseListener
- Returns:
- array of service name Strings
-
mousePressed
Handle mouse press events on this Layer.- Specified by:
mousePressed
in interfacecom.bbn.openmap.event.MapMouseListener
- Parameters:
mouseEvent
- MouseEvent describing the press- Returns:
- boolean true if press was fully consumed by this Layer
-
mouseReleased
Handle mouse release events on this Layer.- Specified by:
mouseReleased
in interfacecom.bbn.openmap.event.MapMouseListener
- Parameters:
mouseEvent
- MouseEvent describing the release- Returns:
- boolean true if release was fully consumed by this Layer
-
mouseClicked
Handle mouse click events on this Layer.- Specified by:
mouseClicked
in interfacecom.bbn.openmap.event.MapMouseListener
- Parameters:
mouseEvent
- MouseEvent describing the click- Returns:
- always false
-
mouseEntered
Handle mouse enter events on this Layer.- Specified by:
mouseEntered
in interfacecom.bbn.openmap.event.MapMouseListener
- Parameters:
mouseEvent
- MouseEvent describing the enter
-
mouseExited
Handle mouse exit events on this Layer.- Specified by:
mouseExited
in interfacecom.bbn.openmap.event.MapMouseListener
- Parameters:
mouseEvent
- MouseEvent describing the exit
-
mouseDragged
Handle mouse drag events on this Layer.- Specified by:
mouseDragged
in interfacecom.bbn.openmap.event.MapMouseListener
- Parameters:
mouseEvent
- MouseEvent describing the drag- Returns:
- boolean true if drag was fully consumed by this Layer
-
mouseMoved
Handle mouse move events on this Layer.- Specified by:
mouseMoved
in interfacecom.bbn.openmap.event.MapMouseListener
- Parameters:
mouseEvent
- MouseEvent describing the move- Returns:
- always false
-
mouseMoved
public void mouseMoved()No-op. Handles generic report of mouse being moved across the Layer.- Specified by:
mouseMoved
in interfacecom.bbn.openmap.event.MapMouseListener
-
keyPressed
Invoked when a key has been pressed. See the class description forKeyEvent
for a definition of a key pressed event.- Specified by:
keyPressed
in interfaceKeyListener
-
keyTyped
Invoked when a key has been typed. See the class description forKeyEvent
for a definition of a key typed event.- Specified by:
keyTyped
in interfaceKeyListener
-
keyReleased
Invoked when a key has been released. See the class description forKeyEvent
for a definition of a key released event.- Specified by:
keyReleased
in interfaceKeyListener
-
repaint
public void repaint()Repaints this component.
-