*
* 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
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
-import org.altusmetrum.altoslib_10.*;
-import org.altusmetrum.altosuilib_10.*;
+import org.altusmetrum.altoslib_13.*;
+import org.altusmetrum.altosuilib_13.*;
public class AltosConfigPyroUI
extends AltosUIDialog
implements ItemListener, DocumentListener, AltosUnitsListener, ActionListener
{
- AltosConfigUI owner;
+ AltosConfigFCUI owner;
Container pane;
static Insets il = new Insets(4,4,4,4);
double unit_value = new_value;
AltosUnits units = AltosPyro.pyro_to_units(flag);
if (units != null)
- unit_value = units.value(new_value);
+ unit_value = units.parse_value(new_value);
String format;
if (scale >= 100)
format = "%6.2f";
public void set(AltosPyro pyro) {
int row = 0;
+ if ((pyro.flags & AltosPyro.pyro_deprecate) != 0) {
+ JOptionPane.showMessageDialog(owner,
+ String.format("Pyro settings “Ascending” and “Descending” are deprecated.\n" +
+ "Clearing %s configuration.", AltosLib.igniter_name(pyro.channel)),
+ "Deprecated Pyro Settings",
+ JOptionPane.ERROR_MESSAGE);
+ pyro.flags = 0;
+ owner.set_dirty();
+ }
for (int flag = 1; flag < AltosPyro.pyro_all; flag <<= 1) {
- if ((AltosPyro.pyro_all & flag) != 0) {
+ if ((AltosPyro.pyro_all_useful & flag) != 0) {
items[row].set((pyro.flags & flag) != 0,
pyro.get_value(flag));
row++;
int row = 0;
for (int flag = 1; flag < AltosPyro.pyro_all; flag <<= 1) {
- if ((AltosPyro.pyro_all & flag) != 0) {
+ if ((AltosPyro.pyro_all_useful & flag) != 0) {
if (items[row].enabled()) {
try {
p.flags |= flag;
public void units_changed(boolean imperial_units) {
int row = 0;
for (int flag = 1; flag < AltosPyro.pyro_all; flag <<= 1) {
- if ((AltosPyro.pyro_all & flag) != 0) {
+ if ((AltosPyro.pyro_all_useful & flag) != 0) {
items[row].units_changed(imperial_units);
row++;
}
int nrow = 0;
for (int flag = 1; flag < AltosPyro.pyro_all; flag <<= 1)
- if ((flag & AltosPyro.pyro_all) != 0)
+ if ((flag & AltosPyro.pyro_all_useful) != 0)
nrow++;
items = new PyroItem[nrow];
y++;
for (int flag = 1; flag < AltosPyro.pyro_all; flag <<= 1)
- if ((flag & AltosPyro.pyro_all) != 0) {
+ if ((flag & AltosPyro.pyro_all_useful) != 0) {
items[row] = new PyroItem(ui, flag, x, y + row);
row++;
}
columns[c].units_changed(imperial_units);
int r = 0;
for (int flag = 1; flag <= AltosPyro.pyro_all; flag <<= 1) {
- String n = AltosPyro.pyro_to_name(flag);
- if (n != null) {
- labels[r].setText(n);
- r++;
+ if ((flag & AltosPyro.pyro_all_useful) != 0) {
+ String n = AltosPyro.pyro_to_name(flag);
+ if (n != null) {
+ labels[r].setText(n);
+ r++;
+ }
}
}
}
/* A window listener to catch closing events and tell the config code */
class ConfigListener extends WindowAdapter {
AltosConfigPyroUI ui;
- AltosConfigUI owner;
+ AltosConfigFCUI owner;
- public ConfigListener(AltosConfigPyroUI this_ui, AltosConfigUI this_owner) {
+ public ConfigListener(AltosConfigPyroUI this_ui, AltosConfigFCUI this_owner) {
ui = this_ui;
owner = this_owner;
}
setVisible(false);
}
- public AltosConfigPyroUI(AltosConfigUI in_owner, AltosPyro[] pyros, double pyro_firing_time) {
+ public AltosConfigPyroUI(AltosConfigFCUI in_owner, AltosPyro[] pyros, double pyro_firing_time) {
super(in_owner, "Configure Pyro Channels", false);
int nrow = 0;
for (int flag = 1; flag < AltosPyro.pyro_all; flag <<= 1)
- if ((flag & AltosPyro.pyro_all) != 0)
+ if ((flag & AltosPyro.pyro_all_useful) != 0)
nrow++;
labels = new JLabel[nrow];
for (int flag = 1; flag <= AltosPyro.pyro_all; flag <<= 1) {
String n;
- n = AltosPyro.pyro_to_name(flag);
- if (n != null) {
- c = new GridBagConstraints();
- c.gridx = 0; c.gridy = row;
- c.gridwidth = 1;
- c.fill = GridBagConstraints.NONE;
- c.anchor = GridBagConstraints.LINE_START;
- c.insets = il;
- JLabel label = new JLabel(n);
- pane.add(label, c);
- labels[row-1] = label;
- row++;
+ if ((flag & AltosPyro.pyro_all_useful) != 0) {
+ n = AltosPyro.pyro_to_name(flag);
+ if (n != null) {
+ c = new GridBagConstraints();
+ c.gridx = 0; c.gridy = row;
+ c.gridwidth = 1;
+ c.fill = GridBagConstraints.NONE;
+ c.anchor = GridBagConstraints.LINE_START;
+ c.insets = il;
+ JLabel label = new JLabel(n);
+ pane.add(label, c);
+ labels[row-1] = label;
+ row++;
+ }
}
}