Changeset 38 in josm for src/org/openstreetmap/josm/actions
- Timestamp:
- 2006-01-02T21:57:25+01:00 (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/org/openstreetmap/josm/actions/OpenAction.java
r32 r38 8 8 import java.io.FileReader; 9 9 import java.io.IOException; 10 import java.io.Reader; 10 11 import java.util.Collection; 12 import java.util.LinkedList; 11 13 12 14 import javax.swing.Box; … … 29 31 import org.openstreetmap.josm.io.GpxReader; 30 32 import org.openstreetmap.josm.io.OsmReader; 33 import org.openstreetmap.josm.io.RawCsvReader; 31 34 import org.openstreetmap.josm.io.RawGpsReader; 32 35 … … 55 58 JCheckBox rawGps = new JCheckBox("Raw GPS data", true); 56 59 rawGps.setToolTipText("Check this, if the data were obtained from a gps device."); 57 JCheckBox newLayer = new JCheckBox("As Layer", true);58 newLayer.setToolTipText("Open as a new layer or replace all current layers.");59 if (Main.main.getMapFrame() == null) {60 newLayer.setEnabled(false);61 newLayer.setSelected(false);62 }63 60 64 61 JPanel p = new JPanel(new GridBagLayout()); 65 62 p.add(new JLabel("Options"), GBC.eop()); 66 63 p.add(rawGps, GBC.eol()); 67 p.add(newLayer, GBC.eol());68 64 p.add(Box.createVerticalGlue(), GBC.eol().fill()); 69 65 fc.setAccessory(p); … … 71 67 if (fc.showOpenDialog(Main.main) != JFileChooser.APPROVE_OPTION) 72 68 return; 73 69 74 70 File filename = fc.getSelectedFile(); 75 71 if (filename == null) … … 78 74 try { 79 75 Layer layer; 76 Reader in = new FileReader(filename); 77 String extension = filename.getName().toLowerCase().substring(filename.getName().lastIndexOf('.')+1); 80 78 if (rawGps.isSelected()) { 81 Collection<Collection<GeoPoint>> data = new RawGpsReader(new FileReader(filename)).parse(); 79 Collection<Collection<GeoPoint>> data; 80 if (extension.equals("gpx")) 81 data = new RawGpsReader(in).parse(); 82 else if (extension.equals("xml") || extension.equals("osm")) { 83 JOptionPane.showMessageDialog(Main.main, "Osm server data import for GPS data is not supported."); 84 return; 85 } else if (extension.equals("csv") || extension.equals("txt")) { 86 data = new LinkedList<Collection<GeoPoint>>(); 87 data.add(new RawCsvReader(in).parse()); 88 } else { 89 JOptionPane.showMessageDialog(Main.main, "Unknown file extension: "+extension); 90 return; 91 } 82 92 layer = new RawGpsDataLayer(data, filename.getName()); 83 93 } else { 84 DataSet dataSet = filename.getName().toLowerCase().endsWith(".gpx") ? 85 new GpxReader(new FileReader(filename)).parse() : 86 new OsmReader(new FileReader(filename)).parse(); 94 DataSet dataSet; 95 if (extension.equals("gpx")) 96 dataSet = new GpxReader(in).parse(); 97 else if (extension.equals("xml") || extension.equals("osm")) 98 dataSet = new OsmReader(in).parse(); 99 else if (extension.equals("csv") || extension.equals("txt")) { 100 JOptionPane.showMessageDialog(Main.main, "CSV Data import for non-GPS data is not implemented yet."); 101 return; 102 } else { 103 JOptionPane.showMessageDialog(Main.main, "Unknown file extension: "+extension); 104 return; 105 } 87 106 layer = new OsmDataLayer(dataSet, filename.getName()); 88 107 } 89 108 90 if (Main.main.getMapFrame() == null || !newLayer.isSelected())109 if (Main.main.getMapFrame() == null) 91 110 Main.main.setMapFrame(filename.getName(), new MapFrame(layer)); 92 111 else
Note:
See TracChangeset
for help on using the changeset viewer.
