*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_9;
+package org.altusmetrum.altosuilib_13;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;
-import org.altusmetrum.altoslib_9.*;
+import org.altusmetrum.altoslib_13.*;
class AltosEepromItem implements ActionListener {
AltosEepromLog log;
JLabel label;
- JCheckBox action;
+ JCheckBox download;
JCheckBox delete;
+ JCheckBox graph;
public void actionPerformed(ActionEvent e) {
- log.selected = action.isSelected();
+ log.download_selected = download.isSelected();
+ log.delete_selected = delete.isSelected();
+ log.graph_selected = graph.isSelected();
}
public AltosEepromItem(AltosEepromLog in_log) {
log = in_log;
String text;
- if (log.year != 0)
- text = String.format("Flight #%02d - %04d-%02d-%02d",
- log.flight, log.year, log.month, log.day);
- else
+ if (log.flight >= 0)
text = String.format("Flight #%02d", log.flight);
+ else
+ text = String.format("Corrupt #%02d", -log.flight);
label = new JLabel(text);
- action = new JCheckBox("", log.selected);
- action.addActionListener(this);
+ download = new JCheckBox("", log.download_selected);
+ download.addActionListener(this);
+
+ delete = new JCheckBox("", log.delete_selected);
+ delete.addActionListener(this);
+
+ graph = new JCheckBox("", log.graph_selected);
+ graph.addActionListener(this);
}
}
public AltosEepromSelect (JFrame in_frame,
AltosEepromList flights,
- String action) {
+ boolean has_graph) {
super(in_frame, String.format("Flight list for serial %d", flights.config_data.serial), true);
frame = in_frame;
Container contentPane = getContentPane();
/* First, we create a pane containing the dialog's header/title */
- JLabel selectLabel = new JLabel(String.format ("Select flights to %s", action), SwingConstants.CENTER);
+ JLabel selectLabel = new JLabel(String.format ("Select flights"), SwingConstants.CENTER);
JPanel labelPane = new JPanel();
labelPane.setLayout(new BoxLayout(labelPane, BoxLayout.X_AXIS));
c.weightx = 0.5;
c.anchor = GridBagConstraints.CENTER;
c.insets = i;
- JLabel downloadHeaderLabel = new JLabel(action);
+ JLabel downloadHeaderLabel = new JLabel("Download");
flightPane.add(downloadHeaderLabel, c);
+ /* Delete Header */
+ c = new GridBagConstraints();
+ c.gridx = 2; c.gridy = 0;
+ c.fill = GridBagConstraints.NONE;
+ c.weightx = 0.5;
+ c.anchor = GridBagConstraints.CENTER;
+ c.insets = i;
+ JLabel deleteHeaderLabel = new JLabel("Delete");
+ flightPane.add(deleteHeaderLabel, c);
+
+ if (has_graph) {
+ /* Graph Header */
+ c = new GridBagConstraints();
+ c.gridx = 3; c.gridy = 0;
+ c.fill = GridBagConstraints.NONE;
+ c.weightx = 0.5;
+ c.anchor = GridBagConstraints.CENTER;
+ c.insets = i;
+ JLabel graphHeaderLabel = new JLabel("Graph");
+ flightPane.add(graphHeaderLabel, c);
+ }
+
/* Add the flights to the GridBag */
AltosEepromItem item;
int itemNumber = 1;
c.insets = i;
flightPane.add(item.label, c);
- /* Add action checkbox for the flight */
+ /* Add download checkbox for the flight */
c = new GridBagConstraints();
c.gridx = 1; c.gridy = itemNumber;
c.fill = GridBagConstraints.NONE;
c.weightx = 0.5;
c.anchor = GridBagConstraints.CENTER;
c.insets = i;
- flightPane.add(item.action, c);
+ flightPane.add(item.download, c);
+
+ /* Add delete checkbox for the flight */
+ c = new GridBagConstraints();
+ c.gridx = 2; c.gridy = itemNumber;
+ c.fill = GridBagConstraints.NONE;
+ c.weightx = 0.5;
+ c.anchor = GridBagConstraints.CENTER;
+ c.insets = i;
+ flightPane.add(item.delete, c);
+
+ if (has_graph) {
+ /* Add graph checkbox for the flight */
+ c = new GridBagConstraints();
+ c.gridx = 3; c.gridy = itemNumber;
+ c.fill = GridBagConstraints.NONE;
+ c.weightx = 0.5;
+ c.anchor = GridBagConstraints.CENTER;
+ c.insets = i;
+ flightPane.add(item.graph, c);
+ }
itemNumber++;
}