import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
-import org.altusmetrum.altoslib_3.*;
-import org.altusmetrum.altosuilib_1.*;
+import org.altusmetrum.altoslib_4.*;
+import org.altusmetrum.altosuilib_2.*;
public class AltosConfigPyroUI
extends AltosUIDialog
- implements ItemListener, DocumentListener, AltosUnitsListener
+ implements ItemListener, DocumentListener, AltosUnitsListener, ActionListener
{
AltosConfigUI owner;
Container pane;
class PyroItem implements ItemListener, DocumentListener, AltosUnitsListener
{
public int flag;
- public JRadioButton enable;
+ public JCheckBox enable;
public JTextField value;
- public JComboBox combo;
+ public JComboBox<String> combo;
AltosConfigPyroUI ui;
boolean setting;
public void itemStateChanged(ItemEvent e) {
set_enable(enable.isSelected());
- if (!setting)
+ if (!setting)
ui.set_dirty();
}
public void changedUpdate(DocumentEvent e) {
- if (!setting)
+ if (!setting)
ui.set_dirty();
}
public void insertUpdate(DocumentEvent e) {
- if (!setting)
+ if (!setting)
ui.set_dirty();
}
public void removeUpdate(DocumentEvent e) {
- if (!setting)
+ if (!setting)
ui.set_dirty();
}
c.fill = GridBagConstraints.NONE;
c.anchor = GridBagConstraints.LINE_START;
c.insets = il;
- enable = new JRadioButton();
+ enable = new JCheckBox();
enable.addItemListener(this);
pane.add(enable, c);
-
+
if ((flag & AltosPyro.pyro_no_value) == 0) {
c = new GridBagConstraints();
c.gridx = x+1; c.gridy = y;
c.insets = il;
if ((flag & AltosPyro.pyro_state_value) != 0) {
make_state_names();
- combo = new JComboBox(state_names);
+ combo = new JComboBox<String>(state_names);
combo.addItemListener(this);
pane.add(combo, c);
} else {
items = new PyroItem[nrow];
int row = 0;
-
+
GridBagConstraints c;
c = new GridBagConstraints();
c.gridx = x; c.gridy = y;
c.fill = GridBagConstraints.NONE;
c.anchor = GridBagConstraints.CENTER;
c.insets = il;
- label = new JLabel(String.format("Pyro Channel %d", channel));
+ label = new JLabel(String.format("Pyro Channel %c", 'A' + channel));
pane.add(label, c);
y++;
}
}
+ /* Listen for events from our buttons */
+ public void actionPerformed(ActionEvent e) {
+ String cmd = e.getActionCommand();
+
+ if (cmd.equals("Close"))
+ setVisible(false);
+ }
+
public AltosConfigPyroUI(AltosConfigUI in_owner, AltosPyro[] pyros) {
super(in_owner, "Configure Pyro Channels", false);
columns[i] = new PyroColumn(this, i*2 + 1, 0, i);
columns[i].set(pyros[i]);
}
+
+ c = new GridBagConstraints();
+ c.gridx = pyros.length*2-1;
+ c.fill = GridBagConstraints.HORIZONTAL;
+ c.gridwidth = 2;
+ c.gridy = 1000;
+ JButton close = new JButton("Close");
+ pane.add(close, c);
+ close.addActionListener(this);
+ close.setActionCommand("Close");
+
addWindowListener(new ConfigListener(this, owner));
AltosPreferences.register_units_listener(this);
}