|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
com.bbn.openmap.Layer
com.bbn.openmap.layer.ScaleFilterLayer
public class ScaleFilterLayer
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) (...)
| 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 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 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 |
|---|
public static final transient java.lang.String layersProperty
public static final transient java.lang.String transitionScalesProperty
protected java.util.Vector<Layer> layers
protected float[] transitionScales
protected float defaultTransitionScale
protected int targetIndex
public static java.util.logging.Logger logger
protected javax.swing.JPanel panel
protected javax.swing.JTabbedPane tabs
protected java.lang.String mmID
protected boolean coolMM
protected MapMouseListener clmml
| Constructor Detail |
|---|
public ScaleFilterLayer()
| Method Detail |
|---|
public java.util.Vector<Layer> getLayers()
public float[] getTransitionScales()
public void setLayersAndScales(java.util.Vector<Layer> list,
float[] scales)
list - Vector of layersscales - Array of transition scales.
public void setProperties(java.lang.String prefix,
java.util.Properties props)
setProperties in interface PropertyConsumersetProperties in class Layerprops - the Properties holding settings for this layerprefix - the token to prefix the property namespublic java.util.Properties getProperties(java.util.Properties props)
Layer
getProperties in interface PropertyConsumergetProperties in class Layerprops - a Properties object to load the PropertyConsumer properties
into. If props equals null, then a new Properties object should be
created.
public Layer getAppropriateLayer()
protected void parseLayers(java.lang.String prefix,
java.util.Properties props)
prefix - Stringprops - Properties
protected void parseScales(java.lang.String prefix,
java.util.Properties props)
prefix - Stringprops - Properties
public void renderDataForProjection(Projection proj,
java.awt.Graphics g)
renderDataForProjection in interface ProjectionPainterrenderDataForProjection in class Layerproj - Projection of the map.g - java.awt.Graphics to draw into.public boolean setTargetIndex(float scale)
scale - the current map scale
public void projectionChanged(ProjectionEvent ev)
Projection.
projectionChanged in interface ProjectionListenerev - the new projection eventprotected Layer configureAppropriateLayer(float scale)
public void paint(java.awt.Graphics g)
paint in class javax.swing.JComponentg - a graphics contextpublic void updateLayerStatus(LayerStatusEvent evt)
updateLayerStatus in interface LayerStatusListenerevt - LayerStatusEventpublic java.awt.Component getGUI()
getGUI in class Layerpublic java.awt.Component getEmptyGUIFiller(Layer layer)
protected void setPaletteTab(int layerIndex)
public void requestURL(InfoDisplayEvent event)
requestURL in interface InfoDisplayListenerevent - InfoDisplayEventpublic void requestMessage(InfoDisplayEvent event)
requestMessage in interface InfoDisplayListenerevent - InfoDisplayEventpublic void requestInfoLine(InfoDisplayEvent event)
requestInfoLine in interface InfoDisplayListenerevent - InfoDisplayEventpublic void requestBrowserContent(InfoDisplayEvent event)
requestBrowserContent in interface InfoDisplayListenerevent - InfoDisplayEventpublic void requestCursor(java.awt.Cursor cursor)
requestCursor in interface InfoDisplayListenercursor - java.awt.Cursor to set over the MapBean.public void requestShowToolTip(InfoDisplayEvent event)
requestShowToolTip in interface InfoDisplayListenerevent - The InfoDisplayEvent containing the text and requestor.public void requestHideToolTip()
requestHideToolTip in interface InfoDisplayListenerpublic MapMouseListener getMapMouseListener()
getMapMouseListener in class Layerpublic boolean checkMouseMode()
public void setCurrentLayerMapMouseListener(MapMouseListener mml)
public MapMouseListener getCurrentLayerMapMouseListener()
public void propertyChange(java.beans.PropertyChangeEvent evt)
propertyChange in interface java.beans.PropertyChangeListenerpublic java.lang.String[] getMouseModeServiceList()
return new String[] { SelectMouseMode.modeID };
getMouseModeServiceList in interface MapMouseListenerNavMouseMode.modeID,
SelectMouseMode.modeID,
NullMouseMode.modeIDpublic boolean mousePressed(java.awt.event.MouseEvent e)
mousePressed in interface MapMouseListenere - MouseEvent
public boolean mouseReleased(java.awt.event.MouseEvent e)
mouseReleased in interface MapMouseListenere - MouseEvent
public boolean mouseClicked(java.awt.event.MouseEvent e)
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.
mouseClicked in interface MapMouseListenere - MouseEvent
public void mouseEntered(java.awt.event.MouseEvent e)
mouseEntered in interface MapMouseListenere - MouseEventpublic void mouseExited(java.awt.event.MouseEvent e)
mouseExited in interface MapMouseListenere - MouseEventpublic boolean mouseDragged(java.awt.event.MouseEvent e)
mouseDragged in interface MapMouseListenere - MouseEvent
public boolean mouseMoved(java.awt.event.MouseEvent e)
mouseMoved in interface MapMouseListenere - MouseEvent
public void mouseMoved()
mouseMoved in interface MapMouseListener
public void setBeanContext(java.beans.beancontext.BeanContext in_bc)
throws java.beans.PropertyVetoException
setBeanContext in interface java.beans.beancontext.BeanContextChildsetBeanContext in class Layerjava.beans.PropertyVetoExceptionpublic void dispose()
Layer
dispose in class Layerpublic void findAndInit(java.lang.Object obj)
findAndInit in class Layerpublic void findAndUndo(java.lang.Object obj)
findAndUndo in class Layer
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||