micropeak: Add CSV export
[fw/altos] / micropeak / MicroPeak.java
index 5e375057a37c1d1ac6e1a116fe4f64ed4e7edd30..f2f09a10df27c96370ca58585c25c1e8934e33af 100644 (file)
@@ -91,7 +91,7 @@ public class MicroPeak extends MicroFrame implements ActionListener, ItemListene
        }
 
        private void Preferences() {
-               new AltosConfigureUI(this);
+               new AltosUIConfigure(this);
        }
 
        private void DownloadData() {
@@ -101,12 +101,15 @@ public class MicroPeak extends MicroFrame implements ActionListener, ItemListene
                        new MicroDownload(this, device);
        }
 
-       private void Save() {
-               if (data == null) {
+       private void no_data() {
                        JOptionPane.showMessageDialog(this,
                                                      "No data available",
                                                      "No data",
                                                      JOptionPane.INFORMATION_MESSAGE);
+       }
+       private void Save() {
+               if (data == null) {
+                       no_data();
                        return;
                }
                MicroSave       save = new MicroSave (this, data);
@@ -114,13 +117,34 @@ public class MicroPeak extends MicroFrame implements ActionListener, ItemListene
                        SetName(data.name);
        }
        
+       private void Export() {
+               if (data == null) {
+                       no_data();
+                       return;
+               }
+               MicroExport     export = new MicroExport (this, data);
+               export.runDialog();
+       }
+
+       private void Close() {
+               setVisible(false);
+               dispose();
+               --number_of_windows;
+               if (number_of_windows == 0)
+                       System.exit(0);
+       }
+
        public void actionPerformed(ActionEvent ev) {
                if ("Exit".equals(ev.getActionCommand()))
                        System.exit(0);
+               else if ("Close".equals(ev.getActionCommand()))
+                       Close();
                else if ("Open".equals(ev.getActionCommand()))
                        SelectFile();
                else if ("Download".equals(ev.getActionCommand()))
                        DownloadData();
+               else if ("Export".equals(ev.getActionCommand()))
+                       Export();
                else if ("Preferences".equals(ev.getActionCommand()))
                        Preferences();
                else if ("Save a Copy".equals(ev.getActionCommand()))
@@ -159,10 +183,18 @@ public class MicroPeak extends MicroFrame implements ActionListener, ItemListene
                fileMenu.add(saveAction);
                saveAction.addActionListener(this);
 
+               JMenuItem exportAction = new JMenuItem("Export");
+               fileMenu.add(exportAction);
+               exportAction.addActionListener(this);
+
                JMenuItem preferencesAction = new JMenuItem("Preferences");
                fileMenu.add(preferencesAction);
                preferencesAction.addActionListener(this);
 
+               JMenuItem closeAction = new JMenuItem("Close");
+               fileMenu.add(closeAction);
+               closeAction.addActionListener(this);
+
                JMenuItem exitAction = new JMenuItem("Exit");
                fileMenu.add(exitAction);
                exitAction.addActionListener(this);
@@ -171,11 +203,7 @@ public class MicroPeak extends MicroFrame implements ActionListener, ItemListene
                addWindowListener(new WindowAdapter() {
                        @Override
                        public void windowClosing(WindowEvent e) {
-                               setVisible(false);
-                               dispose();
-                               --number_of_windows;
-                               if (number_of_windows == 0)
-                                       System.exit(0);
+                               Close();
                        }
                });
 
@@ -194,8 +222,9 @@ public class MicroPeak extends MicroFrame implements ActionListener, ItemListene
                Dimension ps = pane.getPreferredSize();
                ps.width += i.left + i.right;
                ps.height += i.top + i.bottom;
-               setPreferredSize(ps);
+//             setPreferredSize(ps);
                setSize(ps);
+               setLocationByPlatform(true);
                setVisible(true);
        }