micropeak: Add view of raw data in GUI
[fw/altos] / micropeak / MicroPeak.java
index 5e375057a37c1d1ac6e1a116fe4f64ed4e7edd30..290511e72999f6db185a050b554df5e93b78e78f 100644 (file)
@@ -31,6 +31,7 @@ public class MicroPeak extends MicroFrame implements ActionListener, ItemListene
        File            filename;
        MicroGraph      graph;
        MicroStatsTable stats;
+       MicroRaw        raw;
        MicroData       data;
        Container       container;
        JTabbedPane     pane;
@@ -45,6 +46,7 @@ public class MicroPeak extends MicroFrame implements ActionListener, ItemListene
                this.data = data;
                graph.setData(data);
                stats.setData(data);
+               raw.setData(data);
                setTitle(data.name);
                return this;
        }
@@ -91,7 +93,7 @@ public class MicroPeak extends MicroFrame implements ActionListener, ItemListene
        }
 
        private void Preferences() {
-               new AltosConfigureUI(this);
+               new AltosUIConfigure(this);
        }
 
        private void DownloadData() {
@@ -101,12 +103,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 +119,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 +185,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,18 +205,16 @@ 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();
                        }
                });
 
                graph = new MicroGraph();
                stats = new MicroStatsTable();
+               raw = new MicroRaw();
                pane.add(graph.panel, "Graph");
                pane.add(stats, "Statistics");
+               pane.add(raw, "Raw Data");
                pane.doLayout();
                pane.validate();
                container.add(pane);
@@ -194,8 +226,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);
        }