com.bbn.openmap.layer
Class ScaleFilterLayer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by com.bbn.openmap.Layer
                  extended by com.bbn.openmap.layer.ScaleFilterLayer
All Implemented Interfaces:
InfoDisplayListener, LayerStatusListener, MapMouseListener, ProjectionListener, ProjectionPainter, PropertyConsumer, java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.beancontext.BeanContextChild, java.beans.beancontext.BeanContextMembershipListener, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener

public class ScaleFilterLayer
extends Layer
implements InfoDisplayListener, LayerStatusListener, java.beans.PropertyChangeListener, MapMouseListener

An OpenMap Layer that encapsulates other layers and acts as a scale filter. It will delegate responsibility to one of several layers depending on the scale.

To use this layer, list it as a layer in the openmap.properties file in the openmap.layers properties, as you would add any other layer. Then, add these properties to the openmap.properties file. The layers added to the ScaleFilterLayer do not get added to the openmap.layers property, but instead get added to the scaledFilterLayer.layers property listed here. Then, the properties for these layers are added to the openmap.properties file like any other layer.

 The properties for this layer look like this:
 
 scaledFilterLayer.class=com.bbn.openmap.layer.ScaleFilterLayer
 scaledFilterLayer.prettyName=<Pretty name used on menu>
 # List 2 or more layer prefixes, larger scale layers first
 scaledFilterLayer.layers=layer_1 layer_2 layer_3 ...
 # List the transition scales to switch between layers
 scaledFilterLayer.transitionScales= (transition scale from layer 1 to 2) (transition scale from layer 2 to 3) (...)
        
 

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  MapMouseListener clmml
          The current MapMouseListener from the currently appropriate layer.
protected  boolean coolMM
          Flag to specify that the current layer wants events from the current active mouse mode.
protected  float defaultTransitionScale
          The default transition scale.
protected  java.util.Vector<Layer> layers
          The layers.
static java.lang.String layersProperty
          The layers property.
static java.util.logging.Logger logger
           
protected  java.lang.String mmID
          The current active mouse mode ID.
protected  javax.swing.JPanel panel
           
protected  javax.swing.JTabbedPane tabs
           
protected  int targetIndex
          The index of the currently selected layer.
protected  float[] transitionScales
          The transition scales.
static java.lang.String transitionScalesProperty
          The transition scales property.
 
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
accessibleContext, 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
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface com.bbn.openmap.PropertyConsumer
EditorProperty, initPropertiesProperty, LabelEditorProperty, ScopedEditorProperty
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ScaleFilterLayer()
          Initializes an empty layer.
 
Method Summary
 boolean checkMouseMode()
          Set the coolMM flag, whenever the scale-appropriate layer changes, or if the active mouse mode changes.
protected  Layer configureAppropriateLayer(float scale)
           
 void dispose()
          Method called when layer detects that it has been removed from MapHandler, assumes it's being thrown away.
 void findAndInit(java.lang.Object obj)
          MapHandler child methods, passing found objects to child layers.
 void findAndUndo(java.lang.Object obj)
          MapHandler child methods, passing removed objects to child layers.
 Layer getAppropriateLayer()
          Get the layer that's appropriate at the current scale.
 MapMouseListener getCurrentLayerMapMouseListener()
          Get the MapMouseListener to received events if the current layer wants them.
 java.awt.Component getEmptyGUIFiller(Layer layer)
           
 java.awt.Component getGUI()
          Get the GUI (palettes) for the layers.
 java.util.Vector<Layer> getLayers()
          Get the Vector holding the Layers.
 MapMouseListener getMapMouseListener()
          Try to handle mouse events for the current layer.
 java.lang.String[] getMouseModeServiceList()
          Return a list of the modes that are interesting to the MapMouseListener.
 java.util.Properties getProperties(java.util.Properties props)
          PropertyConsumer method, to fill in a Properties object, reflecting the current values of the layer.
 float[] getTransitionScales()
          Get the transition scales used to set the active layer.
 boolean mouseClicked(java.awt.event.MouseEvent e)
          Invoked when the mouse has been clicked on a component.
 boolean mouseDragged(java.awt.event.MouseEvent e)
          Invoked when a mouse button is pressed on a component and then dragged.
 void mouseEntered(java.awt.event.MouseEvent e)
          Invoked when the mouse enters a component.
 void mouseExited(java.awt.event.MouseEvent e)
          Invoked when the mouse exits a component.
 void mouseMoved()
          Handle a mouse cursor moving without the button being pressed.
 boolean mouseMoved(java.awt.event.MouseEvent e)
          Invoked when the mouse button has been moved on a component (with no buttons down).
 boolean mousePressed(java.awt.event.MouseEvent e)
          Invoked when a mouse button has been pressed on a component.
 boolean mouseReleased(java.awt.event.MouseEvent e)
          Invoked when a mouse button has been released on a component.
 void paint(java.awt.Graphics g)
          Renders the scale-appropriate layer on the map.
protected  void parseLayers(java.lang.String prefix, java.util.Properties props)
          Create the Layers from a property value string.
protected  void parseScales(java.lang.String prefix, java.util.Properties props)
          Create the transition scales from a property value string.
 void projectionChanged(ProjectionEvent ev)
          Handles projection change notification events.
 void propertyChange(java.beans.PropertyChangeEvent evt)
          Listen for changes to the active mouse mode and for any changes to the list of available mouse modes
 void renderDataForProjection(Projection proj, java.awt.Graphics g)
          Implementing the ProjectionPainter interface.
 void requestBrowserContent(InfoDisplayEvent event)
          Request that plain text or html text be displayed in a browser.
 void requestCursor(java.awt.Cursor cursor)
          Request that the MapBean cursor be set to a certain type.
 void requestHideToolTip()
          Request a tool tip be hidden.
 void requestInfoLine(InfoDisplayEvent event)
          Request to have an information line displayed in an application status window.
 void requestMessage(InfoDisplayEvent event)
          Request to have a message displayed in a dialog window.
 void requestShowToolTip(InfoDisplayEvent event)
          Request a tool tip be shown.
 void requestURL(InfoDisplayEvent event)
          Request to have a URL displayed in a Browser.
 void setBeanContext(java.beans.beancontext.BeanContext in_bc)
          Method for BeanContextChild interface.
 void setCurrentLayerMapMouseListener(MapMouseListener mml)
          Pre-set the MapMouseListener to received events if the current layer wants them.
 void setLayersAndScales(java.util.Vector<Layer> list, float[] scales)
          Programmatic way to set layers and scales.
protected  void setPaletteTab(int layerIndex)
           
 void setProperties(java.lang.String prefix, java.util.Properties props)
          Initializes this layer from the given properties.
 boolean setTargetIndex(float scale)
          Calculate the index of the target layer.
 void updateLayerStatus(LayerStatusEvent evt)
          Try to handle receiving LayerStatusEvents from child layers.
 
Methods inherited from class com.bbn.openmap.Layer
actionPerformed, addComponentListener, added, addInfoDisplayListener, addLayerStatusListener, addMouseListener, addVetoableChangeListener, childrenAdded, childrenRemoved, clearListeners, connectToBeanContext, createWindowSupport, disconnectFromBeanContext, finalize, findAndInit, fireHideToolTip, firePaletteEvent, fireRequestBrowserContent, fireRequestBrowserContent, fireRequestCursor, fireRequestInfoLine, fireRequestInfoLine, fireRequestInfoLine, fireRequestMessage, fireRequestMessage, fireRequestToolTip, fireRequestToolTip, fireRequestURL, fireRequestURL, fireStatusUpdate, fireStatusUpdate, fireVetoableChange, getAddAsBackground, getAddToBeanContext, getAttribute, getBeanContext, getCoordTransform, getIcon, getMaxScale, getMinScale, getPackage, getPalette, getProjection, getPropertyInfo, getPropertyPrefix, getWindowSupport, hasGUI, hidePalette, isAutoPalette, isProjectionOK, isReadyToPaint, isRemovable, notifyHideHack, prependDataPathPrefix, putAttribute, removeComponentListener, removeConfirmed, removed, removeInfoDisplayListener, removeLayerStatusListener, removeVetoableChangeListener, repaint, resetPalette, setAddAsBackground, setAddToBeanContext, setAutoPalette, setCoordTransform, setIcon, setLayerProperties, setMaxScale, setMinScale, setName, setPaletteVisible, setProjection, setProjection, 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, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, 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, transferFocusBackward, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setSize, setSize, show, show, size, toString, transferFocus, 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 Detail

layersProperty

public static final transient java.lang.String layersProperty
The layers property.

See Also:
Constant Field Values

transitionScalesProperty

public static final transient java.lang.String transitionScalesProperty
The transition scales property.

See Also:
Constant Field Values

layers

protected java.util.Vector<Layer> layers
The layers.


transitionScales

protected float[] transitionScales
The transition scales.


defaultTransitionScale

protected float defaultTransitionScale
The default transition scale.


targetIndex

protected int targetIndex
The index of the currently selected layer.


logger

public static java.util.logging.Logger logger

panel

protected javax.swing.JPanel panel

tabs

protected javax.swing.JTabbedPane tabs

mmID

protected java.lang.String mmID
The current active mouse mode ID.


coolMM

protected boolean coolMM
Flag to specify that the current layer wants events from the current active mouse mode.


clmml

protected MapMouseListener clmml
The current MapMouseListener from the currently appropriate layer.

Constructor Detail

ScaleFilterLayer

public ScaleFilterLayer()
Initializes an empty layer.

Method Detail

getLayers

public java.util.Vector<Layer> getLayers()
Get the Vector holding the Layers. If it hasn't been asked for yet, a new, empty Vector will be returned, one that will be used internally.


getTransitionScales

public float[] getTransitionScales()
Get the transition scales used to set the active layer.


setLayersAndScales

public void setLayersAndScales(java.util.Vector<Layer> list,
                               float[] scales)
Programmatic way to set layers and scales. There should be one more layer on the list than there is scale in the float array. Layers that should be displayed for larger scale numbers (smaller scale) should be at the front of the Vector list, and larger numbers should be at the front of the scale array. For scale numbers larger than the first number in the array, the first layer will be displayed. As the scale number decreases, other layers will be displayed.

Parameters:
list - Vector of layers
scales - Array of transition scales.

setProperties

public void setProperties(java.lang.String prefix,
                          java.util.Properties props)
Initializes this layer from the given properties.

Specified by:
setProperties in interface PropertyConsumer
Overrides:
setProperties in class Layer
Parameters:
props - the Properties holding settings for this layer
prefix - the token to prefix the property names

getProperties

public java.util.Properties getProperties(java.util.Properties props)
Description copied from class: Layer
PropertyConsumer method, to fill in a Properties object, reflecting the current values of the layer. If the layer has a propertyPrefix set, the property keys should have that prefix plus a separating '.' prepended to each property key it uses for configuration.

Specified by:
getProperties in interface PropertyConsumer
Overrides:
getProperties in class Layer
Parameters:
props - a Properties object to load the PropertyConsumer properties into. If props equals null, then a new Properties object should be created.
Returns:
Properties object containing PropertyConsumer property values. If getList was not null, this should equal getList. Otherwise, it should be the Properties object created by the PropertyConsumer.

getAppropriateLayer

public Layer getAppropriateLayer()
Get the layer that's appropriate at the current scale. The targetedIndex needs to be set before this is called. The targetedIndex is the index to the layers array representing the current layer.

Returns:
Layer

parseLayers

protected void parseLayers(java.lang.String prefix,
                           java.util.Properties props)
Create the Layers from a property value string.

Parameters:
prefix - String
props - Properties

parseScales

protected void parseScales(java.lang.String prefix,
                           java.util.Properties props)
Create the transition scales from a property value string. If there are N layers, there should be N-1 transition scales.

Parameters:
prefix - String
props - Properties

renderDataForProjection

public void renderDataForProjection(Projection proj,
                                    java.awt.Graphics g)
Implementing the ProjectionPainter interface.

Specified by:
renderDataForProjection in interface ProjectionPainter
Overrides:
renderDataForProjection in class Layer
Parameters:
proj - Projection of the map.
g - java.awt.Graphics to draw into.

setTargetIndex

public boolean setTargetIndex(float scale)
Calculate the index of the target layer. If there are N layers, there are N-1 transitionScales. The ith layer is chosen if the scale is greater than the ith transitionScale.

Parameters:
scale - the current map scale
Returns:
true if the targetIndex has changed as a result of the new scale.

projectionChanged

public void projectionChanged(ProjectionEvent ev)
Handles projection change notification events. Throws out old graphics, and requests new graphics from the spatial index based on the bounding rectangle of the new Projection.

Specified by:
projectionChanged in interface ProjectionListener
Parameters:
ev - the new projection event

configureAppropriateLayer

protected Layer configureAppropriateLayer(float scale)

paint

public void paint(java.awt.Graphics g)
Renders the scale-appropriate layer on the map.

Overrides:
paint in class javax.swing.JComponent
Parameters:
g - a graphics context

updateLayerStatus

public void updateLayerStatus(LayerStatusEvent evt)
Try to handle receiving LayerStatusEvents from child layers. May not always work, depending on what thread sends/receives this event - usually in the Swing thread, and the GUI can't always be updated as expected.

Specified by:
updateLayerStatus in interface LayerStatusListener
Parameters:
evt - LayerStatusEvent

getGUI

public java.awt.Component getGUI()
Get the GUI (palettes) for the layers. The BufferedLayer actually creates a JTabbedPane holding the palettes for all of its layers, and also has a pane for itself that provides visibility control for the group layers.

Overrides:
getGUI in class Layer
Returns:
java.awt.Component or null, null by default.

getEmptyGUIFiller

public java.awt.Component getEmptyGUIFiller(Layer layer)

setPaletteTab

protected void setPaletteTab(int layerIndex)

requestURL

public void requestURL(InfoDisplayEvent event)
Request to have a URL displayed in a Browser.

Specified by:
requestURL in interface InfoDisplayListener
Parameters:
event - InfoDisplayEvent

requestMessage

public void requestMessage(InfoDisplayEvent event)
Request to have a message displayed in a dialog window.

Specified by:
requestMessage in interface InfoDisplayListener
Parameters:
event - InfoDisplayEvent

requestInfoLine

public void requestInfoLine(InfoDisplayEvent event)
Request to have an information line displayed in an application status window.

Specified by:
requestInfoLine in interface InfoDisplayListener
Parameters:
event - InfoDisplayEvent

requestBrowserContent

public void requestBrowserContent(InfoDisplayEvent event)
Request that plain text or html text be displayed in a browser.

Specified by:
requestBrowserContent in interface InfoDisplayListener
Parameters:
event - InfoDisplayEvent

requestCursor

public void requestCursor(java.awt.Cursor cursor)
Request that the MapBean cursor be set to a certain type.

Specified by:
requestCursor in interface InfoDisplayListener
Parameters:
cursor - java.awt.Cursor to set over the MapBean.

requestShowToolTip

public void requestShowToolTip(InfoDisplayEvent event)
Request a tool tip be shown.

Specified by:
requestShowToolTip in interface InfoDisplayListener
Parameters:
event - The InfoDisplayEvent containing the text and requestor.

requestHideToolTip

public void requestHideToolTip()
Request a tool tip be hidden.

Specified by:
requestHideToolTip in interface InfoDisplayListener

getMapMouseListener

public MapMouseListener getMapMouseListener()
Try to handle mouse events for the current layer.

Overrides:
getMapMouseListener in class Layer
Returns:
null for the default, method can be overridden to return something interested in mouse events.

checkMouseMode

public boolean checkMouseMode()
Set the coolMM flag, whenever the scale-appropriate layer changes, or if the active mouse mode changes.


setCurrentLayerMapMouseListener

public void setCurrentLayerMapMouseListener(MapMouseListener mml)
Pre-set the MapMouseListener to received events if the current layer wants them.


getCurrentLayerMapMouseListener

public MapMouseListener getCurrentLayerMapMouseListener()
Get the MapMouseListener to received events if the current layer wants them. May be null, but coolMM should be false in that case.


propertyChange

public void propertyChange(java.beans.PropertyChangeEvent evt)
Listen for changes to the active mouse mode and for any changes to the list of available mouse modes

Specified by:
propertyChange in interface java.beans.PropertyChangeListener

getMouseModeServiceList

public java.lang.String[] getMouseModeServiceList()
Return a list of the modes that are interesting to the MapMouseListener. The source MouseEvents will only get sent to the MapMouseListener if the mode is set to one that the listener is interested in. Layers interested in receiving events should register for receiving events in "select" mode:
 
 return new String[] { SelectMouseMode.modeID };
 
 

Specified by:
getMouseModeServiceList in interface MapMouseListener
Returns:
String[] of modeID's
See Also:
NavMouseMode.modeID, SelectMouseMode.modeID, NullMouseMode.modeID

mousePressed

public boolean mousePressed(java.awt.event.MouseEvent e)
Invoked when a mouse button has been pressed on a component.

Specified by:
mousePressed in interface MapMouseListener
Parameters:
e - MouseEvent
Returns:
true if the listener was able to process the event.

mouseReleased

public boolean mouseReleased(java.awt.event.MouseEvent e)
Invoked when a mouse button has been released on a component.

Specified by:
mouseReleased in interface MapMouseListener
Parameters:
e - MouseEvent
Returns:
true if the listener was able to process the event.

mouseClicked

public boolean mouseClicked(java.awt.event.MouseEvent e)
Invoked when the mouse has been clicked on a component. The listener will receive this event if it successfully processed mousePressed(), or if no other listener processes the event. If the listener successfully processes mouseClicked(), then it will receive the next mouseClicked() notifications that have a click count greater than one.

Specified by:
mouseClicked in interface MapMouseListener
Parameters:
e - MouseEvent
Returns:
true if the listener was able to process the event.

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Invoked when the mouse enters a component.

Specified by:
mouseEntered in interface MapMouseListener
Parameters:
e - MouseEvent

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Invoked when the mouse exits a component.

Specified by:
mouseExited in interface MapMouseListener
Parameters:
e - MouseEvent

mouseDragged

public boolean mouseDragged(java.awt.event.MouseEvent e)
Invoked when a mouse button is pressed on a component and then dragged. The listener will receive these events if it successfully processes mousePressed(), or if no other listener processes the event.

Specified by:
mouseDragged in interface MapMouseListener
Parameters:
e - MouseEvent
Returns:
true if the listener was able to process the event.

mouseMoved

public boolean mouseMoved(java.awt.event.MouseEvent e)
Invoked when the mouse button has been moved on a component (with no buttons down).

Specified by:
mouseMoved in interface MapMouseListener
Parameters:
e - MouseEvent
Returns:
true if the listener was able to process the event.

mouseMoved

public void mouseMoved()
Handle a mouse cursor moving without the button being pressed. This event is intended to tell the listener that there was a mouse movement, but that the event was consumed by another layer. This will allow a mouse listener to clean up actions that might have happened because of another motion event response.

Specified by:
mouseMoved in interface MapMouseListener

setBeanContext

public void setBeanContext(java.beans.beancontext.BeanContext in_bc)
                    throws java.beans.PropertyVetoException
Method for BeanContextChild interface.

Specified by:
setBeanContext in interface java.beans.beancontext.BeanContextChild
Overrides:
setBeanContext in class Layer
Throws:
java.beans.PropertyVetoException

dispose

public void dispose()
Description copied from class: Layer
Method called when layer detects that it has been removed from MapHandler, assumes it's being thrown away. Use this method to let go of everything and to make any calls necessary to remove from listener lists that might not get picked up via MapHandler calls.

Overrides:
dispose in class Layer

findAndInit

public void findAndInit(java.lang.Object obj)
MapHandler child methods, passing found objects to child layers.

Overrides:
findAndInit in class Layer

findAndUndo

public void findAndUndo(java.lang.Object obj)
MapHandler child methods, passing removed objects to child layers.

Overrides:
findAndUndo in class Layer


Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details