X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=micropeak%2FMicroPeak.java;h=c69f7167904df828f9a103927fa1efec28dd3cb5;hp=82d926fb81ee67c5732ed5cfc87b38b0d70217f1;hb=2bd6aca54fc465995d6985c8799cd0d016c9a543;hpb=bf8e1b6eecb2bae12ffdbd730bd6ec12ccdaf23a diff --git a/micropeak/MicroPeak.java b/micropeak/MicroPeak.java index 82d926fb..c69f7167 100644 --- a/micropeak/MicroPeak.java +++ b/micropeak/MicroPeak.java @@ -24,34 +24,49 @@ import java.io.*; import java.util.concurrent.*; import java.util.*; import org.altusmetrum.AltosLib.*; +import org.altusmetrum.altosuilib.*; -public class MicroPeak extends JFrame implements ActionListener, ItemListener { +public class MicroPeak extends MicroFrame implements ActionListener, ItemListener { File filename; MicroGraph graph; + MicroStatsTable stats; MicroData data; - Container pane; + Container container; + JTabbedPane pane; + + private void RunFile(InputStream input) { + try { + data = new MicroData(input); + graph.setData(data); + stats.setData(data); + } catch (IOException ioe) { + } + try { + input.close(); + } catch (IOException ioe) { + } + } private void OpenFile(File filename) { try { - FileInputStream input = new FileInputStream(filename); - try { - data = new MicroData(input); - graph = new MicroGraph(data); - pane.add(graph.panel); - } catch (IOException ioe) { - } - try { - input.close(); - } catch (IOException ioe) { - } + RunFile (new FileInputStream(filename)); } catch (FileNotFoundException fne) { } } private void SelectFile() { + MicroFileChooser chooser = new MicroFileChooser(this); + InputStream input = chooser.runDialog(); + + if (input != null) + RunFile(input); } + private void Preferences() { + new AltosConfigureUI(this); + } + private void DownloadData() { java.util.List devices = MicroUSB.list(); for (MicroUSB device : devices) @@ -59,7 +74,6 @@ public class MicroPeak extends JFrame implements ActionListener, ItemListener { } public void actionPerformed(ActionEvent ev) { - System.out.printf("action %s %s\n", ev.getActionCommand(), ev.paramString()); if ("Exit".equals(ev.getActionCommand())) System.exit(0); else if ("Open".equals(ev.getActionCommand())) @@ -68,21 +82,19 @@ public class MicroPeak extends JFrame implements ActionListener, ItemListener { new MicroPeak(); else if ("Download".equals(ev.getActionCommand())) DownloadData(); + else if ("Preferences".equals(ev.getActionCommand())) + Preferences(); } public void itemStateChanged(ItemEvent e) { } - public MicroPeak(File filename) { - - this.filename = filename; - - pane = getContentPane(); + public MicroPeak() { -// JLabel label = new JLabel ("Hello, World"); -// pane.add(label); + AltosUIPreferences.set_component(this); - setSize(800, 500); + container = getContentPane(); + pane = new JTabbedPane(); setTitle("MicroPeak"); @@ -104,6 +116,10 @@ public class MicroPeak extends JFrame implements ActionListener, ItemListener { fileMenu.add(downloadAction); downloadAction.addActionListener(this); + JMenuItem preferencesAction = new JMenuItem("Preferences"); + fileMenu.add(preferencesAction); + preferencesAction.addActionListener(this); + JMenuItem exitAction = new JMenuItem("Exit"); fileMenu.add(exitAction); exitAction.addActionListener(this); @@ -116,20 +132,37 @@ public class MicroPeak extends JFrame implements ActionListener, ItemListener { } }); - if (filename != null) - this.OpenFile(filename); + graph = new MicroGraph(); + stats = new MicroStatsTable(); + pane.add(graph.panel, "Graph"); + pane.add(stats, "Statistics"); + pane.doLayout(); + pane.validate(); + container.add(pane); + container.doLayout(); + container.validate(); + doLayout(); + validate(); + Insets i = getInsets(); + Dimension ps = pane.getPreferredSize(); + ps.width += i.left + i.right; + ps.height += i.top + i.bottom; + setPreferredSize(ps); + setSize(ps); setVisible(true); } - public MicroPeak() { - this(null); - } - public static void main(final String[] args) { boolean opened = false; + try { + UIManager.setLookAndFeel(AltosUIPreferences.look_and_feel()); + } catch (Exception e) { + } + for (int i = 0; i < args.length; i++) { - new MicroPeak(new File(args[i])); + MicroPeak m = new MicroPeak(); + m.OpenFile(new File(args[i])); opened = true; } if (!opened)