* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_12;
+package org.altusmetrum.altosuilib_14;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.concurrent.*;
-import org.altusmetrum.altoslib_12.*;
+import org.altusmetrum.altoslib_14.*;
public class AltosEepromManage implements ActionListener {
AltosEepromList flights;
AltosEepromDownload download;
AltosEepromDelete delete;
+ AltosEepromGrapher grapher;
public void finish() {
if (serial_line != null) {
private int countDeletedFlights() {
int count = 0;
for (AltosEepromLog flight : flights) {
- if (flight.selected)
+ if (flight.delete_selected)
count++;
}
return count;
String result = "";
for (AltosEepromLog flight : flights) {
- if (flight.selected) {
+ if (flight.delete_selected) {
if (result.equals(""))
result = String.format("%d", flight.flight);
else
return result;
}
- public boolean download_done() {
- AltosEepromSelect select = new AltosEepromSelect(frame, flights, "Delete");
-
- if (select.run()) {
- boolean any_selected = false;
- for (AltosEepromLog flight : flights)
- any_selected = any_selected || flight.selected;
- if (any_selected) {
- delete = new AltosEepromDelete(frame,
- serial_line,
- remote,
- flights);
- delete.addActionListener(this);
- /*
- * Start flight log delete
- */
-
- delete.start();
- return true;
- }
+ public boolean delete_start() {
+
+ boolean any_selected = false;
+ for (AltosEepromLog flight : flights)
+ any_selected = any_selected || flight.delete_selected;
+ if (any_selected) {
+ delete = new AltosEepromDelete(frame,
+ serial_line,
+ remote,
+ flights);
+ delete.addActionListener(this);
+ /*
+ * Start flight log delete
+ */
+
+ delete.start();
+ return true;
}
return false;
}
+ public void graph_start() {
+ boolean any_selected = false;
+ for (AltosEepromLog flight : flights) {
+ if (!flight.download_selected)
+ flight.graph_selected = false;
+ any_selected = any_selected || flight.graph_selected;
+ }
+ if (any_selected && grapher != null)
+ grapher.graph_flights(flights);
+ }
+
public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
boolean success = e.getID() != 0;
boolean running = false;
if (cmd.equals("download")) {
- if (success)
- running = download_done();
+ if (success) {
+ running = delete_start();
+ if (!running)
+ graph_start();
+ }
} else if (cmd.equals("delete")) {
if (success) {
JOptionPane.showMessageDialog(frame,
showDeletedFlights()),
serial_line.device.toShortString(),
JOptionPane.INFORMATION_MESSAGE);
+ graph_start();
}
}
if (!running)
serial_line.device.toShortString(),
JOptionPane.INFORMATION_MESSAGE);
} else {
- AltosEepromSelect select = new AltosEepromSelect(frame, flights, "Download");
+ AltosEepromSelect select = new AltosEepromSelect(frame, flights, grapher != null);
if (select.run()) {
boolean any_selected = false;
for (AltosEepromLog flight : flights)
- any_selected = any_selected || flight.selected;
+ any_selected = any_selected || flight.download_selected;
if (any_selected) {
AltosEepromMonitorUI monitor = new AltosEepromMonitorUI(frame);
monitor.addActionListener(this);
download.start();
running = true;
} else {
- running = download_done();
+ running = delete_start();
+ if (!running)
+ graph_start();
}
}
}
}
}
- public AltosEepromManage(JFrame given_frame, int product) {
+ public AltosEepromManage(JFrame given_frame, AltosEepromGrapher grapher, int product) {
//boolean running = false;
frame = given_frame;
+ this.grapher = grapher;
device = AltosDeviceUIDialog.show(frame, product);
remote = false;