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 classTileSelectionBBoxChooser.TileAddressInputPanelA panel for entering the address of a single OSM tile at a given zoom level.private static classTileSelectionBBoxChooser.TileAddressValidatorValidates a tile addressprivate static classTileSelectionBBoxChooser.TileBoundsRepresents a rectangular area of tiles at a given zoom level.(package private) classTileSelectionBBoxChooser.TileBoundsChangeListenerListens to changes in the selected tile bounds, refreshes the map view and emits property change events forBBoxChooser.BBOX_PROPprivate static classTileSelectionBBoxChooser.TileBoundsMapViewThe map view used in this bounding box chooserprivate static classTileSelectionBBoxChooser.TileCoordinateValidatorValidates the x- or y-coordinate of a tile at a given zoom level.private static classTileSelectionBBoxChooser.TileGridInputPanelA 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 Boundsbboxthe current bounding boxprivate TileSelectionBBoxChooser.TileBoundsMapViewmapViewerthe map viewer showing the selected bounding boxprivate TileSelectionBBoxChooser.TileAddressInputPanelpnlTileAddressa panel for entering a bounding box given by the address of an individual OSM tile at a given zoom levelprivate TileSelectionBBoxChooser.TileGridInputPanelpnlTileGrida 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 voidbuild()builds the UIprotected BoundsconvertTileBoundsToBoundingBox(TileSelectionBBoxChooser.TileBounds tb)Computes the bounding box given a tile grid.BoundsgetBoundingBox()Replies the current bounding box.protected LatLongetNorthWestLatLonOfTile(java.awt.Point tile, int zoom)Replies lat/lon of the north/west-corner of a tile at a specific zoom levelprotected voidrefreshMapView()voidsetBoundingBox(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:
getBoundingBoxin interfaceBBoxChooser- Returns:
- the currently selected bounding box
-
setBoundingBox
public void setBoundingBox(Bounds bbox)
Sets the current bounding box.- Specified by:
setBoundingBoxin 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
-
-