public class SlippyMapBBoxChooser extends JMapViewer implements BBoxChooser, javax.swing.event.ChangeListener, MainLayerManager.ActiveLayerChangeListener, LayerManager.LayerChangeListener
BBox
.Modifier and Type | Class and Description |
---|---|
static class |
SlippyMapBBoxChooser.AbstractImageryInfoBasedTileSourceProvider
TileSource provider for the slippymap chooser.
|
static class |
SlippyMapBBoxChooser.CurrentLayersTileSourceProvider
TileSource provider for the slippymap chooser - providing sources from current layers
|
static class |
SlippyMapBBoxChooser.DefaultOsmTileSourceProvider
TileSource provider for the slippymap chooser - providing default OSM tile source
|
static interface |
SlippyMapBBoxChooser.TileSourceProvider
A list of tile sources that can be used for displaying the map.
|
static class |
SlippyMapBBoxChooser.TMSTileSourceProvider
TileSource provider for the slippymap chooser - providing sources from imagery sources menu
|
JMapViewer.ZOOM_BUTTON_STYLE
javax.swing.JPanel.AccessibleJPanel
javax.swing.JComponent.AccessibleJComponent
Modifier and Type | Field and Description |
---|---|
private Bounds |
bbox |
private TileLoader |
cachedLoader |
private ICoordinate |
iSelectionRectEnd |
private ICoordinate |
iSelectionRectStart |
private SizeButton |
iSizeButton |
private SourceButton |
iSourceButton |
private static StringProperty |
PROP_MAPSTYLE |
private static BooleanProperty |
PROP_SHOWDLAREA |
private static java.util.concurrent.CopyOnWriteArrayList<SlippyMapBBoxChooser.TileSourceProvider> |
providers |
static java.lang.String |
RESIZE_PROP
The property name used for the resize button.
|
private javax.swing.ButtonModel |
showDownloadAreaButtonModel |
private OsmTileLoader |
uncachedLoader |
attribution, center, debug, evtListenerList, mapMarkerList, mapMarkersVisible, mapPolygonList, mapPolygonsVisible, mapRectangleList, mapRectanglesVisible, MAX_ZOOM, MIN_ZOOM, scrollWrapEnabled, tileController, tileGridVisible, tileSource, zoom, zoomButtonStyle, zoomInButton, zoomOutButton, zoomReverseWheel, zoomSlider
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
BBOX_PROP
Constructor and Description |
---|
SlippyMapBBoxChooser()
Constructs a new
SlippyMapBBoxChooser . |
Modifier and Type | Method and Description |
---|---|
void |
activeOrEditLayerChanged(MainLayerManager.ActiveLayerChangeEvent e)
Called whenever the active or edit layer changed.
|
static void |
addTileSourceProvider(SlippyMapBBoxChooser.TileSourceProvider tileSourceProvider)
Plugins that wish to add custom tile sources to slippy map choose should call this method
|
private static java.util.LinkedHashMap<java.lang.String,TileSource> |
getAllTileSources() |
Bounds |
getBoundingBox()
Replies the currently selected bounding box in this BBoxChooser.
|
boolean |
handleAttribution(java.awt.Point p,
boolean click)
Handles a click/move on the attribution
|
(package private) static java.util.List<TileSource> |
imageryInfosToTileSources(java.util.List<ImageryInfo> imageryInfos) |
void |
layerAdded(LayerManager.LayerAddEvent e)
Notifies this listener that a layer has been added.
|
void |
layerOrderChanged(LayerManager.LayerOrderChangeEvent e)
Notifies this listener that the order of layers was changed.
|
void |
layerRemoving(LayerManager.LayerRemoveEvent e)
Notifies this listener that a alayer was just removed.
|
void |
paintComponent(java.awt.Graphics g)
Draw the map.
|
void |
refreshTileSources()
Refreshes the tile sources
|
void |
resizeSlippyMap()
Performs resizing of the DownloadDialog in order to enlarge or shrink the
map.
|
void |
setBoundingBox(Bounds bbox)
Sets the current bounding box in this bbox chooser without
emitting a property change event.
|
void |
setFileCacheEnabled(boolean enabled)
Enables the disk tile cache.
|
void |
setMaxTilesInMemory(int tiles)
Sets the maximum number of tiles that may be held in memory
|
void |
setSelection(java.awt.Point aStart,
java.awt.Point aEnd)
Callback for the OsmMapControl.
|
void |
setSizeButtonVisible(boolean visible)
Enables or disables painting of the shrink/enlarge button
|
void |
stateChanged(javax.swing.event.ChangeEvent e) |
void |
toggleMapSource(TileSource tileSource)
Sets the active tile source
|
addJMVListener, addMapMarker, addMapPolygon, addMapRectangle, getAttribution, getCenter, getLatOffset, getMapMarkerList, getMapMarkersVisible, getMapPolygonList, getMapPosition, getMapPosition, getMapPosition, getMapPosition, getMapRectangleList, getMeterPerPixel, getPosition, getPosition, getPosition, getRadius, getTileCache, getTileController, getToolTipText, getZoom, getZoomButtonStyle, getZoomControlsVisible, initializeZoomSlider, isMapPolygonsVisible, isMapRectanglesVisible, isScrollWrapEnabled, isTileGridVisible, moveMap, paintMarker, paintPolygon, paintRectangle, removeAllMapMarkers, removeAllMapPolygons, removeAllMapRectangles, removeJMVListener, removeMapMarker, removeMapPolygon, removeMapRectangle, setCenter, setDisplayPosition, setDisplayPosition, setDisplayPosition, setDisplayPosition, setDisplayToFitMapElements, setDisplayToFitMapMarkers, setDisplayToFitMapPolygons, setDisplayToFitMapRectangles, setMapMarkerList, setMapMarkerVisible, setMapPolygonList, setMapPolygonsVisible, setMapRectangleList, setMapRectanglesVisible, setScrollWrapEnabled, setTileGridVisible, setTileLoader, setTileSource, setZoom, setZoom, setZoomButtonStyle, setZoomContolsVisible, setZoomControlsVisible, tileLoadingFinished, zoomChanged, zoomIn, zoomIn, zoomOut, zoomOut
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, 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, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, 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, setVisible, unregisterKeyboardAction, update
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
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, 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, 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, removeComponentListener, 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, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
private static java.util.concurrent.CopyOnWriteArrayList<SlippyMapBBoxChooser.TileSourceProvider> providers
private static final StringProperty PROP_MAPSTYLE
private static final BooleanProperty PROP_SHOWDLAREA
public static final java.lang.String RESIZE_PROP
Container.addPropertyChangeListener(java.beans.PropertyChangeListener)
private final transient TileLoader cachedLoader
private final transient OsmTileLoader uncachedLoader
private final SizeButton iSizeButton
private final javax.swing.ButtonModel showDownloadAreaButtonModel
private final SourceButton iSourceButton
private transient ICoordinate iSelectionRectStart
private transient ICoordinate iSelectionRectEnd
public SlippyMapBBoxChooser()
SlippyMapBBoxChooser
.static java.util.List<TileSource> imageryInfosToTileSources(java.util.List<ImageryInfo> imageryInfos)
public static void addTileSourceProvider(SlippyMapBBoxChooser.TileSourceProvider tileSourceProvider)
tileSourceProvider
- new tile source providerprivate static java.util.LinkedHashMap<java.lang.String,TileSource> getAllTileSources()
public boolean handleAttribution(java.awt.Point p, boolean click)
p
- The point in the viewclick
- true if it was a click, false for hoverpublic void paintComponent(java.awt.Graphics g)
paintComponent
in class JMapViewer
public void activeOrEditLayerChanged(MainLayerManager.ActiveLayerChangeEvent e)
MainLayerManager.ActiveLayerChangeListener
You can be sure that this layer is still contained in this set.
Listeners are called in the EDT thread and you can manipulate the layer manager in the current thread.
activeOrEditLayerChanged
in interface MainLayerManager.ActiveLayerChangeListener
e
- The change event.public void stateChanged(javax.swing.event.ChangeEvent e)
stateChanged
in interface javax.swing.event.ChangeListener
public final void setFileCacheEnabled(boolean enabled)
enabled
- true to enable, false to disablepublic final void setMaxTilesInMemory(int tiles)
tiles
- The maximum number of tiles.public void setSelection(java.awt.Point aStart, java.awt.Point aEnd)
aStart
- selection startaEnd
- selection endpublic void resizeSlippyMap()
public void toggleMapSource(TileSource tileSource)
tileSource
- The active tile sourcepublic Bounds getBoundingBox()
BBoxChooser
getBoundingBox
in interface BBoxChooser
public void setBoundingBox(Bounds bbox)
setBoundingBox
in interface BBoxChooser
bbox
- the bounding box. null to reset the bounding boxpublic void setSizeButtonVisible(boolean visible)
visible
- true
to enable painting of the shrink/enlarge buttonpublic final void refreshTileSources()
public void layerAdded(LayerManager.LayerAddEvent e)
LayerManager.LayerChangeListener
Listeners are called in the EDT thread. You should not do blocking or long-running tasks in this method.
layerAdded
in interface LayerManager.LayerChangeListener
e
- The new added layer eventpublic void layerRemoving(LayerManager.LayerRemoveEvent e)
LayerManager.LayerChangeListener
Listeners are called in the EDT thread after the layer was removed.
Use LayerManager.LayerRemoveEvent.scheduleRemoval(Collection)
to remove more layers.
You should not do blocking or long-running tasks in this method.
layerRemoving
in interface LayerManager.LayerChangeListener
e
- The layer to be removed (as event)public void layerOrderChanged(LayerManager.LayerOrderChangeEvent e)
LayerManager.LayerChangeListener
Listeners are called in the EDT thread. You should not do blocking or long-running tasks in this method.
layerOrderChanged
in interface LayerManager.LayerChangeListener
e
- The order change event.