001 // License: GPL. See LICENSE file for details.
002 package org.openstreetmap.josm.gui.download;
003
004 import static org.openstreetmap.josm.tools.I18n.tr;
005
006 import java.beans.PropertyChangeEvent;
007 import java.beans.PropertyChangeListener;
008
009 import org.openstreetmap.josm.data.Bounds;
010 import org.openstreetmap.josm.gui.bbox.BBoxChooser;
011 import org.openstreetmap.josm.gui.bbox.TileSelectionBBoxChooser;
012 /**
013 * Tile selector.
014 *
015 * Provides a tile coordinate input field.
016 *
017 * @author Frederik Ramm <frederik@remote.org>
018 *
019 */
020 public class TileSelection implements DownloadSelection, PropertyChangeListener {
021 private TileSelectionBBoxChooser chooser;
022 private DownloadDialog parent;
023
024 protected void build() {
025 chooser = new TileSelectionBBoxChooser();
026 chooser.addPropertyChangeListener(this);
027 }
028
029 public TileSelection() {
030 build();
031 }
032
033 public void addGui(final DownloadDialog gui) {
034 gui.addDownloadAreaSelector(chooser, tr("Tile Numbers"));
035 parent = gui;
036 }
037
038 public void setDownloadArea(Bounds area) {
039 chooser.setBoundingBox(area);
040 }
041
042 public void propertyChange(PropertyChangeEvent evt) {
043 if (evt.getPropertyName().equals(BBoxChooser.BBOX_PROP)) {
044 Bounds bbox = (Bounds)evt.getNewValue();
045 parent.boundingBoxChanged(bbox, this);
046 }
047 }
048 }