Package org.ka2ddo.yaac.gui
Class StationRenderer
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
com.bbn.openmap.Layer
org.ka2ddo.yaac.gui.StationRenderer
- All Implemented Interfaces:
com.bbn.openmap.event.MapMouseListener
,com.bbn.openmap.event.ProjectionListener
,com.bbn.openmap.ProjectionPainter
,com.bbn.openmap.PropertyConsumer
,ActionListener
,ComponentListener
,ImageObserver
,MenuContainer
,BeanContextChild
,BeanContextMembershipListener
,Serializable
,EventListener
,Observer
,TrackerListener
,FilterChangeListener
,FontChangeListener
public class StationRenderer
extends com.bbn.openmap.Layer
implements TrackerListener, com.bbn.openmap.event.MapMouseListener, FilterChangeListener, ComponentListener, FontChangeListener, Observer
This class draws APRS station symbols on a OpenMap MapBean object.
- 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 TypeFieldDescriptionfinal AbstractAction
Action to launch a geographical map specific popup menu.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
ConstructorDescriptionStationRenderer
(GeoMapGuiIfc geoMap) Create the StationRenderer layer for the map. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Add another AttentionAlert to the map.void
addSpecificTrackStripe
(String identifier) Add the identifier of a single station or object whose track stripe is to be plotted.void
Clear the plotting of all specific station/object track stripes.void
Invoked when the component has been made invisible.void
Invoked when the component's position changes.void
Invoked when the component's size changes.void
Invoked when the component has been made visible.void
Say this layer needs repainting, but don't rush it if lots of requests come in.void
filterSettingsChanged
(Filter changedFilter, boolean changedByUser) Called when any of the filters' matching criteria have been changed.void
fontChanged
(String category, Font newFont) Report that the font choice for the specified category has changed.long
Return the amount of time (in milliseconds) for the last station render.int
Return the number of Objects (non-transmitters) rendered in the last station render.int
Return the number of stations (transmitters) rendered in the last station render.com.bbn.openmap.event.MapMouseListener
long
Get the maximum time that dead reckoning will be projected for an object (non-self-transmitter).long
long
Get the maximum time that dead reckoning will be projected for a station (self-transmitter).long
Get the maximum duration of a track stripe in milliseconds.String[]
boolean
Report whether mobile station icons should be rotated to indicate the direction of station travel (bearing).boolean
Report whether the time interval since last receipt of a message from or about a station or object is plotted below the station/object's name.boolean
Report whether alias should be drawn instead of callsign should be drawn for each station/object if an alias is defined for the station/object..boolean
Indicate whether all moving stations should have track stripes plotted.boolean
Report whether aloha circles (optimal maximum RF transmission range for the local station before causing excessive collisions) are plotted on the map.boolean
Report whether a translucent ambiguity circle is drawn behind each station or object to indicate the area over which it could be located, given the precision of the position information reported.boolean
Report whether callsign label should be drawn for each station/object.boolean
Report whether Objects that have been "killed" are plotted on the map.boolean
Report whether deadreckoning position updates for moving stations and objects are calculated and the positions offset and deadreckoning vectors plotted when the stations and objecfts are drawn.boolean
isDrawDF()
Report whether direction-finding cones are plotted from stations reporting DFS vector informationboolean
Report if digipeater hop paths are drawn for stations.boolean
Report if symbols are being drawn double-sized.boolean
Report whether a color-coded "halo" is drawn around each station or object icon indicating its status as one of the APRSdos categories: fixed, mobile, deadreckoned, old, emergency-reporting, locally-controlled Object, or other station's Object.boolean
Report whether color-coded circles indicating Mic-E status codes are be drawn around stations reporting those codes.boolean
Report whether encoded polylines (generally used for National Weather Service severe weather regions) are plotted on the map.boolean
Report whether radio range circles are being drawn for stations reporting or implying transmission range limits.boolean
Report whether the local station is plotted on the map.boolean
Report whether local station is drawn like any other station (using its APRS symbol icon) or as crosshairs or a pointer making it obvious where the station is on the map.boolean
Report whether the motion speed and bearing of a station or object is plotted below the station/object's name.boolean
Report whether weather stations are drawn as old-style weather map circles with a flagged barb indicating wind direction and speed.boolean
Report whether the map should auto-pan to keep specifically tracked mobile stations on the map.static boolean
isSpecificallyTracked
(String identifier) Test if a given identifier is on the tracking list.static boolean
Test if any identifiers are on the tracking list.boolean
Report whether popup menus will use enlarged fonts.void
messageAdded
(StationState ss, int index, AX25Message msg) Called when a AX25Message is added to the history for a station in the tracker.void
messageDeleted
(StationState ss, int index, AX25Message msg) Called when a AX25Message is deleted from the history for a station in the tracker.boolean
boolean
void
void
void
boolean
boolean
boolean
void
Render this layer's content into the MapBean.void
projectionChanged
(com.bbn.openmap.event.ProjectionEvent e) Invoked when there has been a fundamental change to the Map.protected void
boolean
removeSpecificTrackStripe
(String identifier) Remove the identifier of a single station or object whose track stripe is no longer to be plotted.void
repaint()
Repaints the StationRenderer if it needs it and it hasn't been too little time since the last repaint.void
setDontRotateIcons
(boolean dontRotateIcons) Specify whether mobile station icons should be rotated to indicate the direction of station travel (bearing).void
setDrawAge
(boolean drawAge) Specify whether the time interval since last receipt of a message from or about a station or object should be plotted below the station/object's name.void
setDrawAliasInsteadOfCallsign
(boolean drawAliasInsteadOfCallsign) Specify whether alias should be drawn instead of callsign should be drawn for each station/object if an alias is defined for the station/object..void
setDrawAllTrackStripes
(boolean drawAllTrackStripes) Specify whether all moving stations should have track stripes plotted.void
setDrawAlohaCircle
(boolean drawAlohaCircle) Specify whether aloha circles (optimal maximum RF transmission range for the local station before causing excessive collisions) should be plotted on the map.void
setDrawAmbiguityCircle
(boolean drawAmbiguityCircle) Specify whether a translucent ambiguity circle should be drawn behind each station or object to indicate the area over which it could be located, given the precision of the position information reported.void
setDrawCallsign
(boolean drawCallsign) Specify whether callsign labels should be drawn for each station/object.void
setDrawDeadObjects
(boolean drawDeadObjects) Specify whether Objects that have been "killed" should still be plotted on the map.void
setDrawDeadReckoning
(boolean drawDeadReckoning) Specify whether deadreckoning position updates for moving stations and objects should be calculated and the positions offset and deadreckoning vectors plotted when the stations and objecfts are drawn.void
setDrawDF
(boolean drawDF) Specify whether direction-finding cones should be plotted from stations reporting DFS vector informationvoid
setDrawDigipeatHops
(boolean drawDigipeatHops) Specify whether digipeater hop paths should be drawn for stations.void
setDrawDoubleSizedSymbols
(boolean drawDoubleSizedSymbols) Specify whether symbols should be drawn double-sized (32x32 pixels) instead of single-sized (16x16).void
setDrawItemStatus
(boolean drawItemStatus) Specify whether a color-coded "halo" should be drawn around each station or object icon indicating its status as one of the APRSdos categories: fixed, mobile, deadreckoned, old, emergency-reporting, locally-controlled Object, or other station's Object.void
setDrawMicEStatusCircles
(boolean drawMicEStsCircles) Specify whether color-coded circles indicating Mic-E status codes should be drawn around stations reporting those codes.void
setDrawNWSMultiLine
(boolean drawNWSMultiLine) Specify whether encoded polylines (generally used for National Weather Service severe weather regions) should be plotted on the map.void
setDrawRangeCircles
(boolean drawRangeCircles) Specify whether range circles should be drawn around stations reporting or implying transmission range limits.void
setDrawSelf
(boolean drawSelf) Specify whether the local station should be plotted on the map.void
setDrawSelfLikeOther
(boolean drawSelfLikeOther) Specify whether local station should be drawn like any other station (using its APRS symbol icon) or as crosshairs or a pointer making it obvious where the station is on the map.void
setDrawSpeed
(boolean drawSpeed) Specify whether the motion speed and bearing of a station or object should be plotted below the station/object's name.void
setDrawWeatherAsWeather
(boolean drawWeatherAsWeather) Specify whether weather stations should be drawn as old-style weather map circles with a flagged barb indicating wind direction and speed.void
setKeepSpecificallyTrackedStationsOnScreen
(boolean keepSpecificallyTrackedStationsOnScreen) Specify whether the map should auto-pan to keep specifically tracked mobile stations on the map.void
setMaxAgeDRObject
(long maxAgeDRObject) Set the maximum time that dead reckoning will be projected for an object (non-self-transmitter).void
setMaxAgeDRSpecialObject
(long maxAgeDRSpecialObject) void
setMaxAgeDRStation
(long maxAgeDRStation) Set the maximum time that dead reckoning will be projected for a station (self-transmitter).void
setMaxTrackDuration
(long maxTrackDuration) Set the maximum duration of a track stripe in milliseconds.void
setUseLargeMenuFont
(boolean useLargeMenuFont) Specify whether popup menus will use enlarged fonts.void
Enable defining a line of sight between two points on the map; the user presses the mouse at the starting point, drags to the ending position, and releases.void
stationAdded
(StationState ss, int index) Called when a new station is initially added to the tracker.void
stationDeleted
(StationState ss, int index) Called when an existing station is deleted from the tracker.void
Called when an existing station is updated with new information in the tracker.void
update
(Observable o, Object arg) This method is called whenever the observed object (an AttentionAlert) is changed.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, 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, 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
-
CONTEXT_MENU_ACTION
Action to launch a geographical map specific popup menu.
-
-
Constructor Details
-
StationRenderer
Create the StationRenderer layer for the map.- Parameters:
geoMap
- GeographicalMap containing this StationRenderer
-
-
Method Details
-
isDrawAllTrackStripes
public boolean isDrawAllTrackStripes()Indicate whether all moving stations should have track stripes plotted.- Returns:
- boolean true if all moving stations should have track stripes
-
setDrawAllTrackStripes
public void setDrawAllTrackStripes(boolean drawAllTrackStripes) Specify whether all moving stations should have track stripes plotted.- Parameters:
drawAllTrackStripes
- boolean true if all moving stations should have track stripes
-
clearAllSpecificTrackStripes
public void clearAllSpecificTrackStripes()Clear the plotting of all specific station/object track stripes. -
addSpecificTrackStripe
Add the identifier of a single station or object whose track stripe is to be plotted.- Parameters:
identifier
- String station or object identifier
-
removeSpecificTrackStripe
Remove the identifier of a single station or object whose track stripe is no longer to be plotted.- Parameters:
identifier
- String station or object identifier- Returns:
- boolean true if identifier was removed
-
isSpecificallyTracked
Test if a given identifier is on the tracking list.- Parameters:
identifier
- String station or object identifier- Returns:
- boolean true if this identifier is marked for track stripe display
-
isSpecificallyTracking
public static boolean isSpecificallyTracking()Test if any identifiers are on the tracking list.- Returns:
- boolean true if any stations are specifically tagged for tracking
-
getMaxTrackDuration
public long getMaxTrackDuration()Get the maximum duration of a track stripe in milliseconds.- Returns:
- maximum plotted track duration in milliseconds
-
setMaxTrackDuration
public void setMaxTrackDuration(long maxTrackDuration) Set the maximum duration of a track stripe in milliseconds.- Parameters:
maxTrackDuration
- maximum plotted track duration in milliseconds
-
isDrawRangeCircles
public boolean isDrawRangeCircles()Report whether radio range circles are being drawn for stations reporting or implying transmission range limits.- Returns:
- boolean true if range circles are being drawn
-
setDrawRangeCircles
public void setDrawRangeCircles(boolean drawRangeCircles) Specify whether range circles should be drawn around stations reporting or implying transmission range limits.- Parameters:
drawRangeCircles
- boolean true if range circles should be drawn
-
isDrawMicEStatusCircles
public boolean isDrawMicEStatusCircles()Report whether color-coded circles indicating Mic-E status codes are be drawn around stations reporting those codes.- Returns:
- boolean true if Mic-E status color circles are drawn
-
setDrawMicEStatusCircles
public void setDrawMicEStatusCircles(boolean drawMicEStsCircles) Specify whether color-coded circles indicating Mic-E status codes should be drawn around stations reporting those codes.- Parameters:
drawMicEStsCircles
- boolean true if Mic-E status color circles should be drawn
-
isDrawSelf
public boolean isDrawSelf()Report whether the local station is plotted on the map.- Returns:
- boolean true if local station is drawn
-
setDrawSelf
public void setDrawSelf(boolean drawSelf) Specify whether the local station should be plotted on the map.- Parameters:
drawSelf
- boolean true if local station should be drawn
-
isDrawSelfLikeOther
public boolean isDrawSelfLikeOther()Report whether local station is drawn like any other station (using its APRS symbol icon) or as crosshairs or a pointer making it obvious where the station is on the map.- Returns:
- boolean true to use APRS symbol, or false to use crosshairs for fixed station or pointer arrowhead for moving station
- See Also:
-
setDrawSelfLikeOther
public void setDrawSelfLikeOther(boolean drawSelfLikeOther) Specify whether local station should be drawn like any other station (using its APRS symbol icon) or as crosshairs or a pointer making it obvious where the station is on the map.- Parameters:
drawSelfLikeOther
- boolean true to use APRS symbol, or false to use crosshairs for fixed station or pointer arrowhead for moving station- See Also:
-
isDrawWeatherAsWeather
public boolean isDrawWeatherAsWeather()Report whether weather stations are drawn as old-style weather map circles with a flagged barb indicating wind direction and speed.- Returns:
- boolean true if weather stations should be plotted with weather map symbols, false if using APRS icon
-
setDrawWeatherAsWeather
public void setDrawWeatherAsWeather(boolean drawWeatherAsWeather) Specify whether weather stations should be drawn as old-style weather map circles with a flagged barb indicating wind direction and speed.- Parameters:
drawWeatherAsWeather
- boolean true if weather stations should be plotted with weather map symbols, false if using APRS icon
-
isDrawAge
public boolean isDrawAge()Report whether the time interval since last receipt of a message from or about a station or object is plotted below the station/object's name.- Returns:
- boolean true if age is to be plotted
-
setDrawAge
public void setDrawAge(boolean drawAge) Specify whether the time interval since last receipt of a message from or about a station or object should be plotted below the station/object's name.- Parameters:
drawAge
- boolean true if age is to be plotted
-
isDrawSpeed
public boolean isDrawSpeed()Report whether the motion speed and bearing of a station or object is plotted below the station/object's name.- Returns:
- boolean true if age is to be plotted
-
setDrawSpeed
public void setDrawSpeed(boolean drawSpeed) Specify whether the motion speed and bearing of a station or object should be plotted below the station/object's name.- Parameters:
drawSpeed
- boolean true if age is to be plotted
-
isDrawDeadObjects
public boolean isDrawDeadObjects()Report whether Objects that have been "killed" are plotted on the map.- Returns:
- boolean true if "killed" Objects are plotted
-
setDrawDeadObjects
public void setDrawDeadObjects(boolean drawDeadObjects) Specify whether Objects that have been "killed" should still be plotted on the map.- Parameters:
drawDeadObjects
- boolean true if "killed" Objects should be plotted
-
isDrawAlohaCircle
public boolean isDrawAlohaCircle()Report whether aloha circles (optimal maximum RF transmission range for the local station before causing excessive collisions) are plotted on the map.- Returns:
- boolean true if aloha circles are drawn
-
setDrawAlohaCircle
public void setDrawAlohaCircle(boolean drawAlohaCircle) Specify whether aloha circles (optimal maximum RF transmission range for the local station before causing excessive collisions) should be plotted on the map. Note these will only appear if the local station has RF ports that can have collisions.- Parameters:
drawAlohaCircle
- boolean true if aloha circles should be drawn
-
isDrawItemStatus
public boolean isDrawItemStatus()Report whether a color-coded "halo" is drawn around each station or object icon indicating its status as one of the APRSdos categories: fixed, mobile, deadreckoned, old, emergency-reporting, locally-controlled Object, or other station's Object.- Returns:
- boolean true if status halo is drawm
- See Also:
-
setDrawItemStatus
public void setDrawItemStatus(boolean drawItemStatus) Specify whether a color-coded "halo" should be drawn around each station or object icon indicating its status as one of the APRSdos categories: fixed, mobile, deadreckoned, old, emergency-reporting, locally-controlled Object, or other station's Object.- Parameters:
drawItemStatus
- boolean true if status halo should be drawm- See Also:
-
isDrawAmbiguityCircle
public boolean isDrawAmbiguityCircle()Report whether a translucent ambiguity circle is drawn behind each station or object to indicate the area over which it could be located, given the precision of the position information reported.- Returns:
- boolean true if ambiguity circles are plotted
-
setDrawAmbiguityCircle
public void setDrawAmbiguityCircle(boolean drawAmbiguityCircle) Specify whether a translucent ambiguity circle should be drawn behind each station or object to indicate the area over which it could be located, given the precision of the position information reported.- Parameters:
drawAmbiguityCircle
- boolean true if ambiguity circles should be plotted
-
isDrawDeadReckoning
public boolean isDrawDeadReckoning()Report whether deadreckoning position updates for moving stations and objects are calculated and the positions offset and deadreckoning vectors plotted when the stations and objecfts are drawn.- Returns:
- boolean true if deadreckoning is plotted
-
setDrawDeadReckoning
public void setDrawDeadReckoning(boolean drawDeadReckoning) Specify whether deadreckoning position updates for moving stations and objects should be calculated and the positions offset and deadreckoning vectors plotted when the stations and objecfts are drawn.- Parameters:
drawDeadReckoning
- boolean true if deadreckoning should be plotted
-
getMaxAgeDRStation
public long getMaxAgeDRStation()Get the maximum time that dead reckoning will be projected for a station (self-transmitter).- Returns:
- maximum dead reckon interval in milliseconds
-
setMaxAgeDRStation
public void setMaxAgeDRStation(long maxAgeDRStation) Set the maximum time that dead reckoning will be projected for a station (self-transmitter).- Parameters:
maxAgeDRStation
- maximum dead reckon interval in milliseconds
-
getMaxAgeDRObject
public long getMaxAgeDRObject()Get the maximum time that dead reckoning will be projected for an object (non-self-transmitter).- Returns:
- maximum dead reckon interval in milliseconds
-
setMaxAgeDRObject
public void setMaxAgeDRObject(long maxAgeDRObject) Set the maximum time that dead reckoning will be projected for an object (non-self-transmitter).- Parameters:
maxAgeDRObject
- maximum dead reckon interval in milliseconds
-
getMaxAgeDRSpecialObject
public long getMaxAgeDRSpecialObject() -
setMaxAgeDRSpecialObject
public void setMaxAgeDRSpecialObject(long maxAgeDRSpecialObject) -
isDrawDF
public boolean isDrawDF()Report whether direction-finding cones are plotted from stations reporting DFS vector information- Returns:
- boolean true if direction-finding cones are drawm
-
setDrawDF
public void setDrawDF(boolean drawDF) Specify whether direction-finding cones should be plotted from stations reporting DFS vector information- Parameters:
drawDF
- boolean true if direction-finding cones should be drawm
-
isDrawNWSMultiLine
public boolean isDrawNWSMultiLine()Report whether encoded polylines (generally used for National Weather Service severe weather regions) are plotted on the map.- Returns:
- boolean true if multilines are plotted
-
setDrawNWSMultiLine
public void setDrawNWSMultiLine(boolean drawNWSMultiLine) Specify whether encoded polylines (generally used for National Weather Service severe weather regions) should be plotted on the map.- Parameters:
drawNWSMultiLine
- boolean true if multilines should be plotted
-
isDrawCallsign
public boolean isDrawCallsign()Report whether callsign label should be drawn for each station/object.- Returns:
- boolean true if callsign label should be drawn on map
-
setDrawCallsign
public void setDrawCallsign(boolean drawCallsign) Specify whether callsign labels should be drawn for each station/object.- Parameters:
drawCallsign
- boolean true if callsign label should be drawn on map
-
isDrawAliasInsteadOfCallsign
public boolean isDrawAliasInsteadOfCallsign()Report whether alias should be drawn instead of callsign should be drawn for each station/object if an alias is defined for the station/object..- Returns:
- boolean true if alias should be drawn instead of callsign
-
setDrawAliasInsteadOfCallsign
public void setDrawAliasInsteadOfCallsign(boolean drawAliasInsteadOfCallsign) Specify whether alias should be drawn instead of callsign should be drawn for each station/object if an alias is defined for the station/object..- Parameters:
drawAliasInsteadOfCallsign
- boolean true if alias should be drawn instead of callsign
-
isDontRotateIcons
public boolean isDontRotateIcons()Report whether mobile station icons should be rotated to indicate the direction of station travel (bearing).- Returns:
- boolean true if icons should not be rotated
-
setDontRotateIcons
public void setDontRotateIcons(boolean dontRotateIcons) Specify whether mobile station icons should be rotated to indicate the direction of station travel (bearing).- Parameters:
dontRotateIcons
- boolean true if icons should not be rotated
-
isKeepSpecificallyTrackedStationsOnScreen
public boolean isKeepSpecificallyTrackedStationsOnScreen()Report whether the map should auto-pan to keep specifically tracked mobile stations on the map.- Returns:
- boolean true if map should pan to keep tracked stations on the map
-
setKeepSpecificallyTrackedStationsOnScreen
public void setKeepSpecificallyTrackedStationsOnScreen(boolean keepSpecificallyTrackedStationsOnScreen) Specify whether the map should auto-pan to keep specifically tracked mobile stations on the map.- Parameters:
keepSpecificallyTrackedStationsOnScreen
- boolean true if map should pan to keep tracked stations on the map
-
isDrawDoubleSizedSymbols
public boolean isDrawDoubleSizedSymbols()Report if symbols are being drawn double-sized.- Returns:
- boolean true if symbols are rendered double-size
-
setDrawDoubleSizedSymbols
public void setDrawDoubleSizedSymbols(boolean drawDoubleSizedSymbols) Specify whether symbols should be drawn double-sized (32x32 pixels) instead of single-sized (16x16).- Parameters:
drawDoubleSizedSymbols
- boolean true if symbols should be rendered double-size
-
isDrawDigipeatHops
public boolean isDrawDigipeatHops()Report if digipeater hop paths are drawn for stations.- Returns:
- boolean true if digipeater hop paths are drawn for stations
-
setDrawDigipeatHops
public void setDrawDigipeatHops(boolean drawDigipeatHops) Specify whether digipeater hop paths should be drawn for stations.- Parameters:
drawDigipeatHops
- boolean true if digipeater hop paths should be drawn for stations
-
isUseLargeMenuFont
public boolean isUseLargeMenuFont()Report whether popup menus will use enlarged fonts.- Returns:
- boolean true if fonts will be enlarged
-
setUseLargeMenuFont
public void setUseLargeMenuFont(boolean useLargeMenuFont) Specify whether popup menus will use enlarged fonts.- Parameters:
useLargeMenuFont
- boolean true if fonts will be enlarged
-
startLineOfSight
public void startLineOfSight()Enable defining a line of sight between two points on the map; the user presses the mouse at the starting point, drags to the ending position, and releases. -
reallyStartLineOfSight
protected void reallyStartLineOfSight() -
addAlert
Add another AttentionAlert to the map.- Parameters:
aa
- AttentionAlert to display
-
update
This method is called whenever the observed object (an AttentionAlert) is changed. An application calls anObservable
object'snotifyObservers
method to have all the object's observers notified of the change (time to flash or expired). -
projectionChanged
public void projectionChanged(com.bbn.openmap.event.ProjectionEvent e) Invoked when there has been a fundamental change to the Map.Layers are expected to recompute their graphics (if this makes sense), and then
repaint()
themselves.- Specified by:
projectionChanged
in interfacecom.bbn.openmap.event.ProjectionListener
- Parameters:
e
- ProjectionEvent
-
paint
Render this layer's content into the MapBean. Note that we reproject on every draw to deal with moving stations or map pans/zooms.- Overrides:
paint
in classJComponent
- Parameters:
g
- Graphics object to use for rendering
-
messageAdded
Called when a AX25Message is added to the history for a station in the tracker.- Specified by:
messageAdded
in interfaceTrackerListener
- Parameters:
ss
- StationState containing the station's informationindex
- zero-based integer sequence number for this station in the StationTrackermsg
- APRS Message object being added to the tracker; note that non-APRS packets that can still be decoded (such as OpenTRAC) will also be passed here; AX25Frames that cannot be decoded will pass null here
-
messageDeleted
Called when a AX25Message is deleted from the history for a station in the tracker.- Specified by:
messageDeleted
in interfaceTrackerListener
- Parameters:
ss
- StationState containing the station's information; the initial Message will already be removed from the StationState objectindex
- zero-based index of the message removed from the StationState objectmsg
- APRS Message object being removed from the tracker; note that non-APRS packets that can still be decoded (such as OpenTRAC) will also be passed here; AX25Frames that cannot be decoded will pass null here
-
stationAdded
Called when a new station is initially added to the tracker.- Specified by:
stationAdded
in interfaceTrackerListener
- Parameters:
ss
- StationState containing the station's informationindex
- zero-based integer sequence number for this station in the StationTracker
-
stationUpdated
Called when an existing station is updated with new information in the tracker.- Specified by:
stationUpdated
in interfaceTrackerListener
- Parameters:
ss
- StationState containing the station's information
-
stationDeleted
Called when an existing station is deleted from the tracker.- Specified by:
stationDeleted
in interfaceTrackerListener
- Parameters:
ss
- StationState containing the station's informationindex
- zero-based integer sequence number for this station in the StationTracker
-
getMapMouseListener
public com.bbn.openmap.event.MapMouseListener getMapMouseListener()- Overrides:
getMapMouseListener
in classcom.bbn.openmap.Layer
-
getMouseModeServiceList
- Specified by:
getMouseModeServiceList
in interfacecom.bbn.openmap.event.MapMouseListener
-
mouseClicked
- Specified by:
mouseClicked
in interfacecom.bbn.openmap.event.MapMouseListener
-
mouseDragged
- Specified by:
mouseDragged
in interfacecom.bbn.openmap.event.MapMouseListener
-
mouseEntered
- Specified by:
mouseEntered
in interfacecom.bbn.openmap.event.MapMouseListener
-
mouseExited
- Specified by:
mouseExited
in interfacecom.bbn.openmap.event.MapMouseListener
-
mouseMoved
public void mouseMoved()- Specified by:
mouseMoved
in interfacecom.bbn.openmap.event.MapMouseListener
-
mouseMoved
- Specified by:
mouseMoved
in interfacecom.bbn.openmap.event.MapMouseListener
-
mousePressed
- Specified by:
mousePressed
in interfacecom.bbn.openmap.event.MapMouseListener
-
mouseReleased
- Specified by:
mouseReleased
in interfacecom.bbn.openmap.event.MapMouseListener
-
filterSettingsChanged
Called when any of the filters' matching criteria have been changed.- Specified by:
filterSettingsChanged
in interfaceFilterChangeListener
- Parameters:
changedFilter
- specific Filter that has changedchangedByUser
- boolean true if change was manually made by user, false if change was made automatically by dynamic filter logic
-
componentResized
Invoked when the component's size changes.- Specified by:
componentResized
in interfaceComponentListener
-
componentMoved
Invoked when the component's position changes.- Specified by:
componentMoved
in interfaceComponentListener
-
componentShown
Invoked when the component has been made visible.- Specified by:
componentShown
in interfaceComponentListener
-
componentHidden
Invoked when the component has been made invisible.- Specified by:
componentHidden
in interfaceComponentListener
-
conditionalRepaint
public void conditionalRepaint()Say this layer needs repainting, but don't rush it if lots of requests come in. -
repaint
public void repaint()Repaints the StationRenderer if it needs it and it hasn't been too little time since the last repaint. -
fontChanged
Report that the font choice for the specified category has changed.- Specified by:
fontChanged
in interfaceFontChangeListener
- Parameters:
category
- String font family name (as defined by Font class)newFont
- actual font instance
-
getLastElapsedPaintTime
public long getLastElapsedPaintTime()Return the amount of time (in milliseconds) for the last station render.- Returns:
- elapsed time in milliseconds for last StationRenderer run
-
getLastNumDrawnObjects
public int getLastNumDrawnObjects()Return the number of Objects (non-transmitters) rendered in the last station render.- Returns:
- count of rendered Objects
-
getLastNumDrawnStations
public int getLastNumDrawnStations()Return the number of stations (transmitters) rendered in the last station render.- Returns:
- count of rendered stations
-