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 }