Rename AltosConfigureUI to AltosUIConfigure
[fw/altos] / altosuilib / AltosConfigureUI.java
diff --git a/altosuilib/AltosConfigureUI.java b/altosuilib/AltosConfigureUI.java
deleted file mode 100644 (file)
index a4b644b..0000000
+++ /dev/null
@@ -1,393 +0,0 @@
-/*
- * Copyright © 2010 Keith Packard <keithp@keithp.com>
- *
- * 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.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-
-package org.altusmetrum.altosuilib;
-
-import java.awt.*;
-import java.awt.event.*;
-import java.beans.*;
-import javax.swing.*;
-import javax.swing.event.*;
-
-class DelegatingRenderer implements ListCellRenderer {
-
-       // ...
-       public static void install(JComboBox comboBox) {
-               DelegatingRenderer renderer = new DelegatingRenderer(comboBox);
-               renderer.initialise();
-               comboBox.setRenderer(renderer);
-       }
-
-       // ...
-       private final JComboBox comboBox;
-
-       // ...
-       private ListCellRenderer delegate;
-
-       // ...
-       private DelegatingRenderer(JComboBox comboBox) {
-               this.comboBox = comboBox;
-       }
-
-       // ...
-       private void initialise() {
-               delegate = new JComboBox().getRenderer();
-               comboBox.addPropertyChangeListener("UI", new PropertyChangeListener() {
-
-                               public void propertyChange(PropertyChangeEvent evt) {
-                                       delegate = new JComboBox().getRenderer();
-                               }
-                       });
-       }
-
-       // ...
-       public Component getListCellRendererComponent(JList list,
-                                                     Object value, int index, boolean isSelected, boolean cellHasFocus) {
-
-               return delegate.getListCellRendererComponent(list,
-                                                            ((UIManager.LookAndFeelInfo) value).getName(),
-                                                            index, isSelected, cellHasFocus);
-       }
-}
-
-public class AltosConfigureUI
-       extends AltosUIDialog
-       implements DocumentListener
-{
-       JFrame          owner;
-       Container       pane;
-
-       JRadioButton    enable_voice;
-       JButton         test_voice;
-       JButton         close;
-
-       JButton         configure_log;
-       JTextField      log_directory;
-
-       JLabel          callsign_label;
-       JTextField      callsign_value;
-
-       JRadioButton    imperial_units;
-
-       JLabel          font_size_label;
-       JComboBox       font_size_value;
-
-       JLabel          look_and_feel_label;
-       JComboBox       look_and_feel_value;
-
-       JRadioButton    serial_debug;
-
-       JButton         manage_bluetooth;
-       JButton         manage_frequencies;
-
-       int             row;
-
-       final static String[] font_size_names = { "Small", "Medium", "Large" };
-
-       /* DocumentListener interface methods */
-       public void changedUpdate(DocumentEvent e) {
-               if (callsign_value != null) 
-                       AltosUIPreferences.set_callsign(callsign_value.getText());
-       }
-
-       public void insertUpdate(DocumentEvent e) {
-               changedUpdate(e);
-       }
-
-       public void removeUpdate(DocumentEvent e) {
-               changedUpdate(e);
-       }
-
-       public GridBagConstraints constraints (int x, int width, int fill) {
-               GridBagConstraints c = new GridBagConstraints();
-               Insets insets = new Insets(4, 4, 4, 4);
-
-               c.insets = insets;
-               c.fill = fill;
-               if (width == 3)
-                       c.anchor = GridBagConstraints.CENTER;
-               else
-                       c.anchor = GridBagConstraints.WEST;
-               c.gridx = x;
-               c.gridwidth = width;
-               c.gridy = row;
-               return c;
-       }
-
-       public GridBagConstraints constraints(int x, int width) {
-               return constraints(x, width, GridBagConstraints.NONE);
-       }
-
-       public void add_voice() {
-//             GridBagConstraints c = new GridBagConstraints();
-//
-//             /* Voice settings */
-//             c.gridx = 0;
-//             c.gridy = row;
-//             c.gridwidth = 1;
-//             c.fill = GridBagConstraints.NONE;
-//             c.anchor = GridBagConstraints.WEST;
-//             pane.add(new JLabel("Voice"), c);
-//
-//             enable_voice = new JRadioButton("Enable", AltosUIPreferences.voice());
-//             enable_voice.addActionListener(new ActionListener() {
-//                             public void actionPerformed(ActionEvent e) {
-//                                     JRadioButton item = (JRadioButton) e.getSource();
-//                                     boolean enabled = item.isSelected();
-//                                     AltosUIPreferences.set_voice(enabled);
-//                                     if (enabled)
-//                                             voice.speak_always("Enable voice.");
-//                                     else
-//                                             voice.speak_always("Disable voice.");
-//                             }
-//                     });
-//             c.gridx = 1;
-//             c.gridy = row;
-//             c.gridwidth = 1;
-//             c.weightx = 1;
-//             c.fill = GridBagConstraints.NONE;
-//             c.anchor = GridBagConstraints.WEST;
-//             pane.add(enable_voice, c);
-//             enable_voice.setToolTipText("Enable/Disable all audio in-flight announcements");
-//
-//             c.gridx = 2;
-//             c.gridy = row++;
-//             c.gridwidth = 1;
-//             c.weightx = 1;
-//             c.fill = GridBagConstraints.NONE;
-//             c.anchor = GridBagConstraints.EAST;
-//             test_voice = new JButton("Test Voice");
-//             test_voice.addActionListener(new ActionListener() {
-//                             public void actionPerformed(ActionEvent e) {
-//                                     voice.speak("That's one small step for man; one giant leap for mankind.");
-//                             }
-//                     });
-//             pane.add(test_voice, c);
-//             test_voice.setToolTipText("Play a stock audio clip to check volume");
-//             row++;
-       }
-
-       public void add_log_dir() {
-               /* Log directory settings */
-               pane.add(new JLabel("Log Directory"), constraints(0, 1));
-
-               configure_log = new JButton(AltosUIPreferences.logdir().getPath());
-               configure_log.addActionListener(new ActionListener() {
-                               public void actionPerformed(ActionEvent e) {
-                                       AltosUIPreferences.ConfigureLog();
-                                       configure_log.setText(AltosUIPreferences.logdir().getPath());
-                               }
-                       });
-               pane.add(configure_log, constraints(1, 2));
-               configure_log.setToolTipText("Which directory flight logs are stored in");
-               row++;
-       }
-
-       public void add_callsign() {
-//             /* Callsign setting */
-//             pane.add(new JLabel("Callsign"), constraints(0, 1));
-//
-//             callsign_value = new JTextField(AltosUIPreferences.callsign());
-//             callsign_value.getDocument().addDocumentListener(this);
-//             callsign_value.setToolTipText("Callsign sent in packet mode");
-//             pane.add(callsign_value, constraints(1, 2, GridBagConstraints.BOTH));
-//             row++;
-       }
-
-       public void add_units() {
-               /* Imperial units setting */
-               pane.add(new JLabel("Imperial Units"), constraints(0, 1));
-
-               imperial_units = new JRadioButton("Enable", AltosUIPreferences.imperial_units());
-               imperial_units.addActionListener(new ActionListener() {
-                               public void actionPerformed(ActionEvent e) {
-                                       JRadioButton item = (JRadioButton) e.getSource();
-                                       boolean enabled = item.isSelected();
-                                       AltosUIPreferences.set_imperial_units(enabled);
-                               }
-                       });
-               imperial_units.setToolTipText("Use Imperial units instead of metric");
-               pane.add(imperial_units, constraints(1, 2));
-               row++;
-       }
-
-       public void add_font_size() {
-               /* Font size setting */
-               pane.add(new JLabel("Font size"), constraints(0, 1));
-
-               font_size_value = new JComboBox(font_size_names);
-               int font_size = AltosUIPreferences.font_size();
-               font_size_value.setSelectedIndex(font_size - AltosUILib.font_size_small);
-               font_size_value.addActionListener(new ActionListener() {
-                               public void actionPerformed(ActionEvent e) {
-                                       int     size = font_size_value.getSelectedIndex() + AltosUILib.font_size_small;
-
-                                       AltosUIPreferences.set_font_size(size);
-                               }
-                       });
-               pane.add(font_size_value, constraints(1, 2, GridBagConstraints.BOTH));
-               font_size_value.setToolTipText("Font size used in telemetry window");
-               row++;
-       }
-
-       public void add_look_and_feel() {
-               /* Look & Feel setting */
-               pane.add(new JLabel("Look & feel"), constraints(0, 1));
-
-               /*
-               class LookAndFeelRenderer extends BasicComboBoxRenderer implements ListCellRenderer {
-
-                       public LookAndFeelRenderer() {
-                               super();
-                       }
-
-                       public Component getListCellRendererComponent(
-                               JList list,
-                               Object value,
-                               int index,
-                               boolean isSelected,
-                               boolean cellHasFocus)
-                       {
-                               super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
-                               setText(((UIManager.LookAndFeelInfo) value).getName());
-                               return this;
-                       }
-               }
-               */
-
-               final UIManager.LookAndFeelInfo[] look_and_feels = UIManager.getInstalledLookAndFeels();
-
-               look_and_feel_value = new JComboBox(look_and_feels);
-
-               DelegatingRenderer.install(look_and_feel_value);
-
-               String look_and_feel  = AltosUIPreferences.look_and_feel();
-               for (int i = 0; i < look_and_feels.length; i++)
-                       if (look_and_feel.equals(look_and_feels[i].getClassName()))
-                               look_and_feel_value.setSelectedIndex(i);
-
-               look_and_feel_value.addActionListener(new ActionListener() {
-                               public void actionPerformed(ActionEvent e) {
-                                       int     id = look_and_feel_value.getSelectedIndex();
-
-                                       AltosUIPreferences.set_look_and_feel(look_and_feels[id].getClassName());
-                               }
-                       });
-               pane.add(look_and_feel_value, constraints(1, 2, GridBagConstraints.BOTH));
-               look_and_feel_value.setToolTipText("Look&feel used for new windows");
-               row++;
-       }
-
-       public void add_serial_debug() {
-               GridBagConstraints c = new GridBagConstraints();
-
-               /* Serial debug setting */
-               pane.add(new JLabel("Serial Debug"), constraints(0, 1));
-
-               serial_debug = new JRadioButton("Enable", AltosUIPreferences.serial_debug());
-               serial_debug.addActionListener(new ActionListener() {
-                               public void actionPerformed(ActionEvent e) {
-                                       JRadioButton item = (JRadioButton) e.getSource();
-                                       boolean enabled = item.isSelected();
-                                       AltosUIPreferences.set_serial_debug(enabled);
-                               }
-                       });
-               serial_debug.setToolTipText("Enable/Disable USB I/O getting sent to the console");
-       }
-
-       public void add_bluetooth() {
-//             GridBagConstraints c = new GridBagConstraints();
-//             c.gridx = 1;
-//             c.gridy = row++;
-//             c.gridwidth = 3;
-//             c.fill = GridBagConstraints.NONE;
-//             c.anchor = GridBagConstraints.WEST;
-//             pane.add(serial_debug, c);
-//
-//             manage_bluetooth = new JButton("Manage Bluetooth");
-//             manage_bluetooth.addActionListener(new ActionListener() {
-//                             public void actionPerformed(ActionEvent e) {
-//                                     AltosBTManage.show(owner, AltosBTKnown.bt_known());
-//                             }
-//                     });
-//             c.gridx = 0;
-//             c.gridy = row;
-//             c.gridwidth = 2;
-//             c.fill = GridBagConstraints.NONE;
-//             c.anchor = GridBagConstraints.WEST;
-//             pane.add(manage_bluetooth, c);
-       }
-
-       public void add_frequencies() {
-//             GridBagConstraints c = new GridBagConstraints();
-//             manage_frequencies = new JButton("Manage Frequencies");
-//             manage_frequencies.addActionListener(new ActionListener() {
-//                             public void actionPerformed(ActionEvent e) {
-//                                     AltosConfigFreqUI.show(owner);
-//                             }
-//                     });
-//             manage_frequencies.setToolTipText("Configure which values are shown in frequency menus");
-//             c.gridx = 2;
-//             c.gridx = 2;
-//             c.gridy = row++;
-//             c.gridwidth = 2;
-//             c.fill = GridBagConstraints.NONE;
-//             c.anchor = GridBagConstraints.WEST;
-//             pane.add(manage_frequencies, c);
-       }
-
-       public AltosConfigureUI(JFrame in_owner) {
-               super(in_owner, "Configure AltosUI", false);
-
-               owner = in_owner;
-               pane = getContentPane();
-               pane.setLayout(new GridBagLayout());
-
-               row = 0;
-
-               /* Nice label at the top */
-               pane.add(new JLabel ("Configure AltOS UI"),
-                        constraints(0, 3));
-               row++;
-
-               pane.add(new JLabel (String.format("AltOS version %s", AltosUIVersion.version)),
-                        constraints(0, 3));
-               row++;
-
-               add_voice();
-               add_log_dir();
-               add_callsign();
-               add_units();
-               add_font_size();
-               add_look_and_feel();
-               add_bluetooth();
-               add_frequencies();
-
-               /* And a close button at the bottom */
-               close = new JButton("Close");
-               close.addActionListener(new ActionListener() {
-                               public void actionPerformed(ActionEvent e) {
-                                       setVisible(false);
-                               }
-                       });
-               pane.add(close, constraints(0, 3));
-
-               pack();
-               setLocationRelativeTo(owner);
-               setVisible(true);
-       }
-}