Package org.openstreetmap.josm.gui.bbox
Class TileSelectionBBoxChooser
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- org.openstreetmap.josm.gui.bbox.TileSelectionBBoxChooser
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,BBoxChooser
public class TileSelectionBBoxChooser extends javax.swing.JPanel implements BBoxChooser
TileSelectionBBoxChooser allows to select a bounding box (i.e. for downloading) based on OSM tile numbers. TileSelectionBBoxChooser can be embedded as component in a Swing container. Example:JFrame f = new JFrame(....); f.getContentPane().setLayout(new BorderLayout())); TileSelectionBBoxChooser chooser = new TileSelectionBBoxChooser(); f.add(chooser, BorderLayout.CENTER); chooser.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { // listen for BBOX events if (evt.getPropertyName().equals(BBoxChooser.BBOX_PROP)) { Logging.info("new bbox based on OSM tiles selected: " + (Bounds)evt.getNewValue()); } } }); // init the chooser with a bounding box chooser.setBoundingBox(....); f.setVisible(true);
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
TileSelectionBBoxChooser.TileAddressInputPanel
A panel for entering the address of a single OSM tile at a given zoom level.private static class
TileSelectionBBoxChooser.TileAddressValidator
Validates a tile addressprivate static class
TileSelectionBBoxChooser.TileBounds
Represents a rectangular area of tiles at a given zoom level.(package private) class
TileSelectionBBoxChooser.TileBoundsChangeListener
Listens to changes in the selected tile bounds, refreshes the map view and emits property change events forBBoxChooser.BBOX_PROP
private static class
TileSelectionBBoxChooser.TileBoundsMapView
The map view used in this bounding box chooserprivate static class
TileSelectionBBoxChooser.TileCoordinateValidator
Validates the x- or y-coordinate of a tile at a given zoom level.private static class
TileSelectionBBoxChooser.TileGridInputPanel
A panel for describing a rectangular area of OSM tiles at a given zoom level.-
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
-
-
Field Summary
Fields Modifier and Type Field Description private Bounds
bbox
the current bounding boxprivate TileSelectionBBoxChooser.TileBoundsMapView
mapViewer
the map viewer showing the selected bounding boxprivate TileSelectionBBoxChooser.TileAddressInputPanel
pnlTileAddress
a panel for entering a bounding box given by the address of an individual OSM tile at a given zoom levelprivate TileSelectionBBoxChooser.TileGridInputPanel
pnlTileGrid
a panel for entering a bounding box given by a tile grid and a zoom level-
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 org.openstreetmap.josm.gui.bbox.BBoxChooser
BBOX_PROP
-
-
Constructor Summary
Constructors Constructor Description TileSelectionBBoxChooser()
Constructs a newTileSelectionBBoxChooser
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
build()
builds the UIprotected Bounds
convertTileBoundsToBoundingBox(TileSelectionBBoxChooser.TileBounds tb)
Computes the bounding box given a tile grid.Bounds
getBoundingBox()
Replies the current bounding box.protected LatLon
getNorthWestLatLonOfTile(java.awt.Point tile, int zoom)
Replies lat/lon of the north/west-corner of a tile at a specific zoom levelprotected void
refreshMapView()
void
setBoundingBox(Bounds bbox)
Sets the current bounding box.-
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, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, 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, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
mapViewer
private final TileSelectionBBoxChooser.TileBoundsMapView mapViewer
the map viewer showing the selected bounding box
-
pnlTileGrid
private final TileSelectionBBoxChooser.TileGridInputPanel pnlTileGrid
a panel for entering a bounding box given by a tile grid and a zoom level
-
pnlTileAddress
private final TileSelectionBBoxChooser.TileAddressInputPanel pnlTileAddress
a panel for entering a bounding box given by the address of an individual OSM tile at a given zoom level
-
-
Constructor Detail
-
TileSelectionBBoxChooser
public TileSelectionBBoxChooser()
Constructs a newTileSelectionBBoxChooser
.
-
-
Method Detail
-
build
protected final void build()
builds the UI
-
getBoundingBox
public Bounds getBoundingBox()
Replies the current bounding box. null, if no valid bounding box is currently selected.- Specified by:
getBoundingBox
in interfaceBBoxChooser
- Returns:
- the currently selected bounding box
-
setBoundingBox
public void setBoundingBox(Bounds bbox)
Sets the current bounding box.- Specified by:
setBoundingBox
in interfaceBBoxChooser
- Parameters:
bbox
- the bounding box. null, if this widget isn't initialized with a bounding box
-
refreshMapView
protected void refreshMapView()
-
convertTileBoundsToBoundingBox
protected Bounds convertTileBoundsToBoundingBox(TileSelectionBBoxChooser.TileBounds tb)
Computes the bounding box given a tile grid.- Parameters:
tb
- the description of the tile grid- Returns:
- the bounding box
-
getNorthWestLatLonOfTile
protected LatLon getNorthWestLatLonOfTile(java.awt.Point tile, int zoom)
Replies lat/lon of the north/west-corner of a tile at a specific zoom level- Parameters:
tile
- the tile address (x,y)zoom
- the zoom level- Returns:
- lat/lon of the north/west-corner of a tile at a specific zoom level
-
-