import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
-import javax.swing.filechooser.FileNameExtensionFilter;
-import javax.swing.table.*;
-import javax.swing.event.*;
import java.io.*;
-import java.util.*;
import java.text.*;
-import java.util.prefs.*;
import java.util.concurrent.*;
+import org.altusmetrum.AltosLib.*;
+import org.altusmetrum.altosuilib.*;
public class AltosIgniteUI
- extends JDialog
+ extends AltosUIDialog
implements ActionListener
{
AltosDevice device;
JToggleButton arm;
JButton fire;
javax.swing.Timer timer;
+ JButton close;
int apogee_status;
int main_status;
public void run () {
try {
- ignite = new AltosIgnite(device);
+ AltosSerial serial = new AltosSerial(device);
+ serial.set_frame(owner);
+ ignite = new AltosIgnite(serial,
+ !device.matchProduct(Altos.product_altimeter));
+
} catch (Exception e) {
send_exception(e);
return;
}
- ignite.set_frame(owner);
for (;;) {
Runnable r;
void ignite_exception(Exception e) {
if (e instanceof FileNotFoundException) {
JOptionPane.showMessageDialog(owner,
- String.format("Cannot open device \"%s\"",
- device.toShortString()),
+ ((FileNotFoundException) e).getMessage(),
"Cannot open target device",
JOptionPane.ERROR_MESSAGE);
} else if (e instanceof AltosSerialInUseException) {
private boolean open() {
command_queue = new LinkedBlockingQueue<String>();
- device = AltosDeviceDialog.show(owner, Altos.product_any);
+ device = AltosDeviceUIDialog.show(owner, Altos.product_any);
if (device != null) {
IgniteHandler handler = new IgniteHandler(owner);
Thread t = new Thread(handler);
c.fill = GridBagConstraints.NONE;
c.anchor = GridBagConstraints.CENTER;
c.insets = i;
- c.weightx = 1;
- c.weighty = 1;
+ c.weightx = 0;
+ c.weighty = 0;
c.gridx = 0;
c.gridy = 0;
fire.addActionListener(this);
fire.setActionCommand("fire");
+ c.gridx = 0;
+ c.gridy = 4;
+ c.gridwidth = 2;
+ c.anchor = GridBagConstraints.CENTER;
+ close = new JButton ("Close");
+ pane.add(close, c);
+ close.addActionListener(this);
+ close.setActionCommand("close");
+
pack();
setLocationRelativeTo(owner);