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<MicroUSB> devices = MicroUSB.list();
for (MicroUSB device : devices)
}
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()))
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");
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);
}
});
- 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)