Ignore:
Timestamp:
2009-10-27T01:21:32+01:00 (15 years ago)
Author:
Gubaer
Message:

Cleanup in download logic (less global, more encapsulation)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/download/BoundingBoxSelection.java

    r2142 r2327  
    99import java.awt.event.FocusEvent;
    1010import java.awt.event.FocusListener;
    11 import java.awt.event.KeyEvent;
    12 import java.awt.event.KeyListener;
    1311
    1412import javax.swing.JLabel;
     
    5654                            double maxlat = Double.parseDouble(latlon[2].getText());
    5755                            double maxlon = Double.parseDouble(latlon[3].getText());
    58                             if (minlat != gui.minlat || minlon != gui.minlon || maxlat != gui.maxlat || maxlon != gui.maxlon) {
    59                                 gui.minlat = minlat; gui.minlon = minlon;
    60                                 gui.maxlat = maxlat; gui.maxlon = maxlon;
    61                                 gui.boundingBoxChanged(BoundingBoxSelection.this);
     56                            Bounds b = new Bounds(minlat,minlon, maxlat,maxlon);
     57                            if (gui.getSelectedDownloadArea() == null) return;
     58                            if (gui.getSelectedDownloadArea() == null || !gui.getSelectedDownloadArea().equals(new Bounds(minlat,minlon, maxlat,maxlon))) {
     59                                gui.boundingBoxChanged(b, BoundingBoxSelection.this);
    6260                            }
    6361                        } catch (NumberFormatException x) {
     
    119117        });
    120118
    121         gui.tabpane.addTab(tr("Bounding Box"), dlg);
     119        gui.addDownloadAreaSelector(dlg, tr("Bounding Box"));
    122120    }
    123121
     
    132130    private boolean parseURL(DownloadDialog gui) {
    133131        Bounds b = OsmUrlToBounds.parse(osmUrl.getText());
    134         if(b == null) return false;
    135         gui.minlon = b.min.lon();
    136         gui.minlat = b.min.lat();
    137         gui.maxlon = b.max.lon();
    138         gui.maxlat = b.max.lat();
    139         gui.boundingBoxChanged(BoundingBoxSelection.this);
     132        if(b == null) return false;       
     133        gui.boundingBoxChanged(b,BoundingBoxSelection.this);
    140134        updateBboxFields(gui);
    141135        updateUrl(gui);
     
    144138
    145139    private void updateBboxFields(DownloadDialog gui) {
    146         latlon[0].setText(Double.toString(gui.minlat));
    147         latlon[1].setText(Double.toString(gui.minlon));
    148         latlon[2].setText(Double.toString(gui.maxlat));
    149         latlon[3].setText(Double.toString(gui.maxlon));
     140        Bounds b = gui.getSelectedDownloadArea();
     141        if (b == null) return;
     142        latlon[0].setText(Double.toString(b.getMin().lat()));
     143        latlon[1].setText(Double.toString(b.getMin().lon()));
     144        latlon[2].setText(Double.toString(b.getMax().lat()));
     145        latlon[3].setText(Double.toString(b.getMax().lon()));
    150146        for (JTextField f : latlon) {
    151147            f.setCaretPosition(0);
     
    154150
    155151    private void updateUrl(DownloadDialog gui) {
    156         showUrl.setText(OsmUrlToBounds.getURL(new Bounds(
    157                 new LatLon(gui.minlat, gui.minlon), new LatLon(gui.maxlat, gui.maxlon))));
     152        if (gui.getSelectedDownloadArea() == null) return;
     153        showUrl.setText(OsmUrlToBounds.getURL(gui.getSelectedDownloadArea()));
    158154    }
    159155}
Note: See TracChangeset for help on using the changeset viewer.