altosui/altosuilib: Cleanup -Xlint:unchecked warnings
[fw/altos] / altosui / AltosConfigPyroUI.java
index 81d121119acce8c580343078132213a95f9a9bd5..cd42a3b0bef46797b000b7e6dd472684b072ead2 100644 (file)
@@ -21,12 +21,12 @@ import java.awt.*;
 import java.awt.event.*;
 import javax.swing.*;
 import javax.swing.event.*;
-import org.altusmetrum.altoslib_2.*;
+import org.altusmetrum.altoslib_3.*;
 import org.altusmetrum.altosuilib_1.*;
 
 public class AltosConfigPyroUI
        extends AltosUIDialog
-       implements ItemListener, DocumentListener, AltosUnitsListener
+       implements ItemListener, DocumentListener, AltosUnitsListener, ActionListener
 {
        AltosConfigUI   owner;
        Container       pane;
@@ -48,9 +48,9 @@ public class AltosConfigPyroUI
        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;
 
@@ -63,22 +63,22 @@ public class AltosConfigPyroUI
 
                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();
                }
 
@@ -146,10 +146,10 @@ public class AltosConfigPyroUI
                        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;
@@ -159,7 +159,7 @@ public class AltosConfigPyroUI
                                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 {
@@ -224,7 +224,7 @@ public class AltosConfigPyroUI
 
                        items = new PyroItem[nrow];
                        int row = 0;
-                       
+
                        GridBagConstraints      c;
                        c = new GridBagConstraints();
                        c.gridx = x; c.gridy = y;
@@ -232,7 +232,7 @@ public class AltosConfigPyroUI
                        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++;
 
@@ -309,6 +309,14 @@ public class AltosConfigPyroUI
                }
        }
 
+       /* 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);
@@ -353,6 +361,17 @@ public class AltosConfigPyroUI
                        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);
        }