X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=ao-tools%2Faltosui%2FAltosLogfileChooser.java;h=8b9d77d69cba6f70cd0d385b20ace70c03ca569e;hp=72d21fc81db5b341eca170e18d660c7dc247c20b;hb=3ffaa5d1c00b28be20fd4a26deb7bd41d953e92a;hpb=a55b132668a819cc26478a609cb79bd9190deb9d diff --git a/ao-tools/altosui/AltosLogfileChooser.java b/ao-tools/altosui/AltosLogfileChooser.java index 72d21fc8..8b9d77d6 100644 --- a/ao-tools/altosui/AltosLogfileChooser.java +++ b/ao-tools/altosui/AltosLogfileChooser.java @@ -27,22 +27,48 @@ import java.util.*; import java.text.*; import java.util.prefs.*; -import altosui.AltosPreferences; - public class AltosLogfileChooser extends JFileChooser { JFrame frame; + String filename; + File file; + + public String filename() { + return filename; + } - public File runDialog() { + public File file() { + return file; + } + + public AltosRecordIterable runDialog() { int ret; ret = showOpenDialog(frame); - if (ret == APPROVE_OPTION) - return getSelectedFile(); + if (ret == APPROVE_OPTION) { + file = getSelectedFile(); + if (file == null) + return null; + filename = file.getName(); + try { + FileInputStream in; + + in = new FileInputStream(file); + if (filename.endsWith("eeprom")) + return new AltosEepromIterable(in); + else + return new AltosTelemetryIterable(in); + } catch (FileNotFoundException fe) { + JOptionPane.showMessageDialog(frame, + filename, + "Cannot open file", + JOptionPane.ERROR_MESSAGE); + } + } return null; } public AltosLogfileChooser(JFrame in_frame) { - in_frame = frame; + frame = in_frame; setDialogTitle("Select Flight Record File"); setFileFilter(new FileNameExtensionFilter("Flight data file", "eeprom",