org.openstreetmap.josm.gui.bbox
Class SlippyMapBBoxChooser

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.openstreetmap.gui.jmapviewer.JMapViewer
                      extended by org.openstreetmap.josm.gui.bbox.SlippyMapBBoxChooser
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, TileLoaderListener, BBoxChooser

public class SlippyMapBBoxChooser
extends JMapViewer
implements BBoxChooser

See Also:
Serialized Form

Nested Class Summary
static class SlippyMapBBoxChooser.RenamedSourceDecorator
           
static interface SlippyMapBBoxChooser.TileSourceProvider
           
static class SlippyMapBBoxChooser.TMSTileSourceProvider
          TMS TileSource provider for the slippymap chooser
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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
private  Bounds bbox
           
private  TileLoader cachedLoader
           
(package private)  java.awt.Point iSelectionRectEnd
           
(package private)  java.awt.Point iSelectionRectStart
           
private  SizeButton iSizeButton
           
private  SourceButton iSourceButton
           
private static StringProperty PROP_MAPSTYLE
           
private static java.util.concurrent.CopyOnWriteArrayList<SlippyMapBBoxChooser.TileSourceProvider> providers
           
static java.lang.String RESIZE_PROP
           
private  TileLoader uncachedLoader
           
 
Fields inherited from class org.openstreetmap.gui.jmapviewer.JMapViewer
attribution, center, listenerList, mapMarkerList, mapMarkersVisible, mapPolygonList, mapPolygonsVisible, mapRectangleList, mapRectanglesVisible, MAX_ZOOM, MIN_ZOOM, move, tileController, tileGridVisible, zoom, zoomInButton, zoomOutButton, zoomSlider
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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 org.openstreetmap.josm.gui.bbox.BBoxChooser
BBOX_PROP
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
SlippyMapBBoxChooser()
           
 
Method Summary
static void addTileSourceProvider(SlippyMapBBoxChooser.TileSourceProvider tileSourceProvider)
          Plugins that wish to add custom tile sources to slippy map choose should call this method
 Bounds getBoundingBox()
          Replies the currently selected bounding box in this BBoxChooser.
protected  java.awt.Point getTopLeftCoordinates()
           
 boolean handleAttribution(java.awt.Point p, boolean click)
           
 void paint(java.awt.Graphics g)
          Draw the map.
 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 emiting a property change event.
 void setFileCacheEnabled(boolean enabled)
           
 void setMaxTilesInMemory(int tiles)
           
 void setSelection(java.awt.Point aStart, java.awt.Point aEnd)
          Callback for the OsmMapControl.
 void toggleMapSource(TileSource tileSource)
           
 
Methods inherited from class org.openstreetmap.gui.jmapviewer.JMapViewer
addJMVListener, addMapMarker, addMapPolygon, addMapRectangle, getCenter, getMapMarkerList, getMapMarkersVisible, getMapPolygonList, getMapPosition, getMapPosition, getMapPosition, getMapPosition, getMapRectangleList, getMeterPerPixel, getPosition, getPosition, getPosition, getTileCache, getToolTipText, getZoom, getZoomContolsVisible, initializeZoomSlider, isMapPolygonsVisible, isMapRectanglesVisible, isTileGridVisible, moveMap, paintComponent, paintMarker, paintPolygon, paintRectangle, removeAllMapMarkers, removeAllMapPolygons, removeAllMapRectangles, removeJMVListener, removeMapMarker, removeMapPolygon, removeMapRectangle, setCenter, setDisplayPosition, setDisplayPosition, setDisplayPositionByLatLon, setDisplayPositionByLatLon, setDisplayToFitMapElements, setDisplayToFitMapMarkers, setDisplayToFitMapPolygons, setDisplayToFitMapRectangles, setMapMarkerList, setMapMarkerVisible, setMapPolygonList, setMapPolygonsVisible, setMapRectangleList, setMapRectanglesVisible, setTileGridVisible, setTileLoader, setTileSource, setZoom, setZoom, setZoomContolsVisible, tileLoadingFinished, zoomChanged, zoomIn, zoomIn, zoomOut, zoomOut
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, 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
 
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, 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, 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, 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

providers

private static java.util.concurrent.CopyOnWriteArrayList<SlippyMapBBoxChooser.TileSourceProvider> providers

PROP_MAPSTYLE

private static final StringProperty PROP_MAPSTYLE

RESIZE_PROP

public static final java.lang.String RESIZE_PROP

cachedLoader

private TileLoader cachedLoader

uncachedLoader

private TileLoader uncachedLoader

iSizeButton

private final SizeButton iSizeButton

iSourceButton

private final SourceButton iSourceButton

bbox

private Bounds bbox

iSelectionRectStart

java.awt.Point iSelectionRectStart

iSelectionRectEnd

java.awt.Point iSelectionRectEnd
Constructor Detail

SlippyMapBBoxChooser

public SlippyMapBBoxChooser()
Method Detail

addTileSourceProvider

public static void addTileSourceProvider(SlippyMapBBoxChooser.TileSourceProvider tileSourceProvider)
Plugins that wish to add custom tile sources to slippy map choose should call this method

Parameters:
tileSourceProvider -

handleAttribution

public boolean handleAttribution(java.awt.Point p,
                                 boolean click)

getTopLeftCoordinates

protected java.awt.Point getTopLeftCoordinates()

paint

public void paint(java.awt.Graphics g)
Draw the map.

Overrides:
paint in class javax.swing.JComponent

setFileCacheEnabled

public void setFileCacheEnabled(boolean enabled)

setMaxTilesInMemory

public void setMaxTilesInMemory(int tiles)

setSelection

public void setSelection(java.awt.Point aStart,
                         java.awt.Point aEnd)
Callback for the OsmMapControl. (Re-)Sets the start and end point of the selection rectangle.

Parameters:
aStart -
aEnd -

resizeSlippyMap

public void resizeSlippyMap()
Performs resizing of the DownloadDialog in order to enlarge or shrink the map.


toggleMapSource

public void toggleMapSource(TileSource tileSource)

getBoundingBox

public Bounds getBoundingBox()
Description copied from interface: BBoxChooser
Replies the currently selected bounding box in this BBoxChooser. Replies null, if currently there isn't a bbox choosen in this BBoxChooser.

Specified by:
getBoundingBox in interface BBoxChooser
Returns:
the currently selected bounding box

setBoundingBox

public void setBoundingBox(Bounds bbox)
Sets the current bounding box in this bbox chooser without emiting a property change event.

Specified by:
setBoundingBox in interface BBoxChooser
Parameters:
bbox - the bounding box. null to reset the bounding box


JOSM