Update java library version numbers
[fw/altos] / altosuilib / AltosDeviceDialog.java
index 82620b8b387a58580120a5a95c876c3d9414fae3..21a8a23f6a28292d76714db0ee3a18fb993aff64 100644 (file)
@@ -15,7 +15,7 @@
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package org.altusmetrum.altosuilib;
+package org.altusmetrum.altosuilib_10;
 
 import javax.swing.*;
 import java.awt.*;
@@ -23,13 +23,13 @@ import java.awt.event.*;
 
 public abstract class AltosDeviceDialog extends AltosUIDialog implements ActionListener {
 
-       private AltosDevice     value;
-       private JList           list;
-       private JButton         cancel_button;
-       private JButton         select_button;
-       private JButton         manage_bluetooth_button;
-       private Frame           frame;
-       private int             product;
+       private AltosDevice             value;
+       private JList<AltosDevice>      list;
+       private JButton                 cancel_button;
+       private JButton                 select_button;
+       public Frame                    frame;
+       public int                      product;
+       public JPanel                   buttonPane;
 
        public AltosDevice getValue() {
                return value;
@@ -37,12 +37,14 @@ public abstract class AltosDeviceDialog extends AltosUIDialog implements ActionL
 
        public abstract AltosDevice[] devices();
 
-       private void update_devices() {
+       public void update_devices() {
                AltosDevice[] devices = devices();
                list.setListData(devices);
                select_button.setEnabled(devices.length > 0);
        }
 
+       public void add_bluetooth() { }
+
        public AltosDeviceDialog (Frame in_frame, Component location, int in_product) {
                super(in_frame, "Device Selection", true);
 
@@ -56,10 +58,6 @@ public abstract class AltosDeviceDialog extends AltosUIDialog implements ActionL
                cancel_button.setActionCommand("cancel");
                cancel_button.addActionListener(this);
 
-//             manage_bluetooth_button = new JButton("Manage Bluetooth");
-//             manage_bluetooth_button.setActionCommand("manage");
-//             manage_bluetooth_button.addActionListener(this);
-
                select_button = new JButton("Select");
                select_button.setActionCommand("select");
                select_button.addActionListener(this);
@@ -67,7 +65,7 @@ public abstract class AltosDeviceDialog extends AltosUIDialog implements ActionL
                        select_button.setEnabled(false);
                getRootPane().setDefaultButton(select_button);
 
-               list = new JList(devices) {
+               list = new JList<AltosDevice>(devices) {
                                //Subclass JList to workaround bug 4832765, which can cause the
                                //scroll pane to not let the user easily scroll up to the beginning
                                //of the list.  An alternative would be to set the unitIncrement
@@ -126,14 +124,16 @@ public abstract class AltosDeviceDialog extends AltosUIDialog implements ActionL
                listPane.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
 
                //Lay out the buttons from left to right.
-               JPanel buttonPane = new JPanel();
+               buttonPane = new JPanel();
                buttonPane.setLayout(new BoxLayout(buttonPane, BoxLayout.LINE_AXIS));
                buttonPane.setBorder(BorderFactory.createEmptyBorder(0, 10, 10, 10));
                buttonPane.add(Box.createHorizontalGlue());
                buttonPane.add(cancel_button);
                buttonPane.add(Box.createRigidArea(new Dimension(10, 0)));
-//             buttonPane.add(manage_bluetooth_button);
-//             buttonPane.add(Box.createRigidArea(new Dimension(10, 0)));
+
+               if (AltosUILib.has_bluetooth)
+                       add_bluetooth();
+
                buttonPane.add(select_button);
 
                //Put everything together, using the content pane's BorderLayout.
@@ -150,14 +150,12 @@ public abstract class AltosDeviceDialog extends AltosUIDialog implements ActionL
 
        //Handle clicks on the Set and Cancel buttons.
        public void actionPerformed(ActionEvent e) {
-               if ("select".equals(e.getActionCommand()))
+               if ("select".equals(e.getActionCommand())) {
                        value = (AltosDevice)(list.getSelectedValue());
-//             if ("manage".equals(e.getActionCommand())) {
-//                     AltosBTManage.show(frame, AltosBTKnown.bt_known());
-//                     update_devices();
-//                     return;
-//             }
-               setVisible(false);
+                       setVisible(false);
+               }
+               if ("cancel".equals(e.getActionCommand()))
+                       setVisible(false);
        }
 
 }