Ignore:
Timestamp:
27.10.2009 01:21:32 (3 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.