001// License: GPL. See LICENSE file for details. 002package org.openstreetmap.josm.gui.download; 003 004import static org.openstreetmap.josm.tools.I18n.tr; 005 006import java.beans.PropertyChangeEvent; 007import java.beans.PropertyChangeListener; 008 009import org.openstreetmap.josm.data.Bounds; 010import org.openstreetmap.josm.gui.bbox.BBoxChooser; 011import 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 */ 020public 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 @Override 034 public void addGui(final DownloadDialog gui) { 035 gui.addDownloadAreaSelector(chooser, tr("Tile Numbers")); 036 parent = gui; 037 } 038 039 @Override 040 public void setDownloadArea(Bounds area) { 041 chooser.setBoundingBox(area); 042 } 043 044 @Override 045 public void propertyChange(PropertyChangeEvent evt) { 046 if (evt.getPropertyName().equals(BBoxChooser.BBOX_PROP)) { 047 Bounds bbox = (Bounds)evt.getNewValue(); 048 parent.boundingBoxChanged(bbox, this); 049 } 050 } 051}