//# 0 errors, 545 messages
//#
/*
    //#AddOptionPanel.java:1:1: class: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2
    //#AddOptionPanel.java:1:1: class: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$1
    //#AddOptionPanel.java:1:1: method: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$1.com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$1__static_init
    //#AddOptionPanel.java:1:1: class: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel
    //#AddOptionPanel.java:1:1: method: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel.com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel__static_init
 * Copyright (c) 2006-2009 Chris Smith, Shane Mc Cormack, Gregory Holmes
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */

package com.dmdirc.addons.ui_swing.components.expandingsettings;

import com.dmdirc.addons.ui_swing.components.renderers.AddOptionCellRenderer;
import com.dmdirc.addons.ui_swing.components.ColourChooser;
import com.dmdirc.addons.ui_swing.components.expandingsettings.SettingsPanel.OptionType;
import com.dmdirc.addons.ui_swing.UIUtilities;

import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.AbstractAction;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.JTextField;
import javax.swing.KeyStroke;
import javax.swing.SpinnerNumberModel;

import net.miginfocom.swing.MigLayout;

/**
 * Add option panel.
 */
public final class AddOptionPanel extends JPanel implements ActionListener {
    //#AddOptionPanel.java:51: method: JButton com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel.access$000(AddOptionPanel)
    //#input(JButton access$000(AddOptionPanel)): x0
    //#input(JButton access$000(AddOptionPanel)): x0.addOptionButton
    //#output(JButton access$000(AddOptionPanel)): return_value
    //#pre[1] (JButton access$000(AddOptionPanel)): x0 != null
    //#pre[2] (JButton access$000(AddOptionPanel)): init'ed(x0.addOptionButton)
    //#post(JButton access$000(AddOptionPanel)): return_value == x0.addOptionButton
    //#post(JButton access$000(AddOptionPanel)): init'ed(return_value)
    //#AddOptionPanel.java:51: end of method: JButton com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel.access$000(AddOptionPanel)
    
    /**
     * A version number for this class. It should be changed whenever the class
     * structure is changed (or anything else that would prevent serialized
     * objects being unserialized with the new class).
     */
    private static final long serialVersionUID = 2;
    
    /** Parent settings panel. */
    private final SettingsPanel parent;
    
    /** Add options combobox. */
    private JComboBox addOptionComboBox;
    /** Add option button. */
    private JButton addOptionButton;
    /** Current add option input. */
    private Component addInputCurrent;
    /** Add option colour chooser. */
    private ColourChooser addInputColourChooser;
    /** Add option textfield. */
    private JTextField addInputText;
    /** Add option checkbox. */
    private JCheckBox addInputCheckbox;
    /** Add option checkbox. */
    private JSpinner addInputSpinner;
    /** Add option checkbox. */
    private JLabel addInputNone;
    
    /**
     * Creates a new instance of AddOptionPanel.
     *
     * @param parent Parent settings panel.
     */
    protected AddOptionPanel(final SettingsPanel parent) {
        super();
    //#AddOptionPanel.java:86: method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel.com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)
    //#input(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): com/dmdirc/addons/ui_swing/components/ColourChooser.java.awt.Color.DARK_GRAY
    //#input(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): java.lang.Boolean.TRUE
    //#input(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): parent
    //#input(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): this
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new ColourChooser(initComponents#5) num objects
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new ColourChooser(initComponents#5).__Tag
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new ColourChooser(initComponents#5).command
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new ColourChooser(initComponents#5).editButton
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new ColourChooser(initComponents#5).listeners
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new ColourChooser(initComponents#5).previewPanel
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new ColourChooser(initComponents#5).showHex
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new ColourChooser(initComponents#5).showIRC
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new ColourChooser(initComponents#5).value
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new ColourChooser(initComponents#5).window
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new EventListenerList(ColourChooser#1) num objects
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new JButton(ColourChooser#2) num objects
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new JButton(initComponents#3) num objects
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new JCheckBox(initComponents#7) num objects
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new JComboBox(initComponents#1) num objects
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new JLabel(initComponents#10) num objects
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new JPanel(ColourChooser#5) num objects
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new JSpinner(initComponents#8) num objects
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new JTextField(initComponents#6) num objects
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): this.addInputCheckbox
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): this.addInputColourChooser
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): this.addInputCurrent
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): this.addInputNone
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): this.addInputSpinner
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): this.addInputText
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): this.addOptionButton
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): this.addOptionComboBox
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): this.parent
    //#new obj(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new ColourChooser(initComponents#5)
    //#new obj(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new EventListenerList(ColourChooser#1)
    //#new obj(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new JButton(ColourChooser#2)
    //#new obj(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new JButton(initComponents#3)
    //#new obj(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new JCheckBox(initComponents#7)
    //#new obj(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new JComboBox(initComponents#1)
    //#new obj(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new JLabel(initComponents#10)
    //#new obj(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new JPanel(ColourChooser#5)
    //#new obj(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new JSpinner(initComponents#8)
    //#new obj(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new JTextField(initComponents#6)
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): this.addInputCheckbox == &new JCheckBox(initComponents#7)
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): this.addInputColourChooser == &new ColourChooser(initComponents#5)
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): this.addInputCurrent == &new JLabel(initComponents#10)
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): this.addInputNone == &new JLabel(initComponents#10)
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): this.addInputSpinner == &new JSpinner(initComponents#8)
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): this.addInputText == &new JTextField(initComponents#6)
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): this.addOptionButton == &new JButton(initComponents#3)
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): this.addOptionComboBox == &new JComboBox(initComponents#1)
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): this.parent == parent
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): init'ed(this.parent)
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new ColourChooser(initComponents#5) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new ColourChooser(initComponents#5).showHex == 1
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new ColourChooser(initComponents#5).showIRC == 1
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new EventListenerList(ColourChooser#1) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new JButton(ColourChooser#2) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new JButton(initComponents#3) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new JCheckBox(initComponents#7) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new JComboBox(initComponents#1) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new JLabel(initComponents#10) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new JPanel(ColourChooser#5) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new JSpinner(initComponents#8) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new JTextField(initComponents#6) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new ColourChooser(initComponents#5).__Tag == com/dmdirc/addons/ui_swing/components/ColourChooser
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new ColourChooser(initComponents#5).command == &""
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new ColourChooser(initComponents#5).editButton == &new JButton(ColourChooser#2)
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new ColourChooser(initComponents#5).listeners == &new EventListenerList(ColourChooser#1)
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new ColourChooser(initComponents#5).previewPanel == &new JPanel(ColourChooser#5)
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): new ColourChooser(initComponents#5).value == &"ffffff"
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): init'ed(new ColourChooser(initComponents#5).window)
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.DefaultComboBoxModel
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.JComboBox
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.JButton
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.renderers.AddOptionCellRenderer
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.JComboBox:setRenderer
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:java.lang.String:isEmpty
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:com.dmdirc.ui.messages.ColourManager:getColour
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.JPanel:setBackground
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.JPanel:setToolTipText
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:com.dmdirc.ui.messages.ColourManager:parseColour
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.JPanel
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.event.EventListenerList
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:isWindowsUI
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:java.awt.Insets
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.JButton:setMargin
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.JButton:addActionListener
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:java.awt.Dimension
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.JPanel:setPreferredSize
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.BorderFactory:createLineBorder
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.JPanel:setBorder
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:net.miginfocom.swing.MigLayout
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ColourChooser:setLayout
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ColourChooser:add
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.UIManager:getLookAndFeel
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:java.lang.Object:getClass
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:java.lang.Class:getName
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:java.lang.String:equals
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.JTextField
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.JCheckBox
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:java.lang.System:getProperty
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.JCheckBox:setOpaque
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.SpinnerNumberModel
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.JSpinner
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.JLabel
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.JComboBox:setEnabled
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.JButton:setEnabled
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.JComboBox:putClientProperty
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.JComboBox:addActionListener
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.JTextField:getActionMap
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.AbstractAction
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.ActionMap:put
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.JTextField:getInputMap
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.KeyStroke:getKeyStroke
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:javax.swing.InputMap:put
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:setVisible
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:removeAll
    //#unanalyzed(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:add
        
        this.parent = parent;
        
        this.setOpaque(UIUtilities.getTabbedPaneOpaque());
    //#AddOptionPanel.java:90: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:setOpaque(bool)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel
    //#    method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:setOpaque(bool)
        initComponents();
        initListeners();
        setLayout(new MigLayout("ins 0"));
    //#AddOptionPanel.java:93: Warning: method not available - call not analyzed
    //#    call on void net.miginfocom.swing.MigLayout(String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel
    //#    method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)
    //#    unanalyzed callee: void net.miginfocom.swing.MigLayout(String)
    //#AddOptionPanel.java:93: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:setLayout(LayoutManager)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel
    //#    method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:setLayout(LayoutManager)
        layoutComponents();
    }
    //#AddOptionPanel.java:95: end of method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel.com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel(SettingsPanel)
    
    /** Initialises the components. */
    private void initComponents() {
        addOptionComboBox = new JComboBox(new DefaultComboBoxModel());
    //#AddOptionPanel.java:99: method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel.initComponents()
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/components/ColourChooser.java.awt.Color.DARK_GRAY
    //#input(void initComponents()): this
    //#input(void initComponents()): this.parent
    //#output(void initComponents()): new ColourChooser(initComponents#5) num objects
    //#output(void initComponents()): this.addInputColourChooser.__Tag
    //#output(void initComponents()): this.addInputColourChooser.command
    //#output(void initComponents()): this.addInputColourChooser.editButton
    //#output(void initComponents()): this.addInputColourChooser.listeners
    //#output(void initComponents()): this.addInputColourChooser.previewPanel
    //#output(void initComponents()): this.addInputColourChooser.showHex
    //#output(void initComponents()): this.addInputColourChooser.showIRC
    //#output(void initComponents()): this.addInputColourChooser.value
    //#output(void initComponents()): this.addInputColourChooser.window
    //#output(void initComponents()): new EventListenerList(ColourChooser#1) num objects
    //#output(void initComponents()): new JButton(ColourChooser#2) num objects
    //#output(void initComponents()): new JButton(initComponents#3) num objects
    //#output(void initComponents()): new JCheckBox(initComponents#7) num objects
    //#output(void initComponents()): new JComboBox(initComponents#1) num objects
    //#output(void initComponents()): new JLabel(initComponents#10) num objects
    //#output(void initComponents()): new JPanel(ColourChooser#5) num objects
    //#output(void initComponents()): new JSpinner(initComponents#8) num objects
    //#output(void initComponents()): new JTextField(initComponents#6) num objects
    //#output(void initComponents()): this.addInputCheckbox
    //#output(void initComponents()): this.addInputColourChooser
    //#output(void initComponents()): this.addInputCurrent
    //#output(void initComponents()): this.addInputNone
    //#output(void initComponents()): this.addInputSpinner
    //#output(void initComponents()): this.addInputText
    //#output(void initComponents()): this.addOptionButton
    //#output(void initComponents()): this.addOptionComboBox
    //#new obj(void initComponents()): new ColourChooser(initComponents#5)
    //#new obj(void initComponents()): new EventListenerList(ColourChooser#1)
    //#new obj(void initComponents()): new JButton(ColourChooser#2)
    //#new obj(void initComponents()): new JButton(initComponents#3)
    //#new obj(void initComponents()): new JCheckBox(initComponents#7)
    //#new obj(void initComponents()): new JComboBox(initComponents#1)
    //#new obj(void initComponents()): new JLabel(initComponents#10)
    //#new obj(void initComponents()): new JPanel(ColourChooser#5)
    //#new obj(void initComponents()): new JSpinner(initComponents#8)
    //#new obj(void initComponents()): new JTextField(initComponents#6)
    //#post(void initComponents()): this.addInputCheckbox == &new JCheckBox(initComponents#7)
    //#post(void initComponents()): this.addInputColourChooser == &new ColourChooser(initComponents#5)
    //#post(void initComponents()): this.addInputCurrent == &new JLabel(initComponents#10)
    //#post(void initComponents()): this.addInputNone == &new JLabel(initComponents#10)
    //#post(void initComponents()): this.addInputSpinner == &new JSpinner(initComponents#8)
    //#post(void initComponents()): this.addInputText == &new JTextField(initComponents#6)
    //#post(void initComponents()): this.addOptionButton == &new JButton(initComponents#3)
    //#post(void initComponents()): this.addOptionComboBox == &new JComboBox(initComponents#1)
    //#post(void initComponents()): new ColourChooser(initComponents#5) num objects == 1
    //#post(void initComponents()): this.addInputColourChooser.showHex == 1
    //#post(void initComponents()): this.addInputColourChooser.showIRC == 1
    //#post(void initComponents()): new EventListenerList(ColourChooser#1) num objects == 1
    //#post(void initComponents()): new JButton(ColourChooser#2) num objects == 1
    //#post(void initComponents()): new JButton(initComponents#3) num objects == 1
    //#post(void initComponents()): new JCheckBox(initComponents#7) num objects == 1
    //#post(void initComponents()): new JComboBox(initComponents#1) num objects == 1
    //#post(void initComponents()): new JLabel(initComponents#10) num objects == 1
    //#post(void initComponents()): new JPanel(ColourChooser#5) num objects == 1
    //#post(void initComponents()): new JSpinner(initComponents#8) num objects == 1
    //#post(void initComponents()): new JTextField(initComponents#6) num objects == 1
    //#post(void initComponents()): this.addInputColourChooser.__Tag == com/dmdirc/addons/ui_swing/components/ColourChooser
    //#post(void initComponents()): this.addInputColourChooser.command == &""
    //#post(void initComponents()): this.addInputColourChooser.editButton == &new JButton(ColourChooser#2)
    //#post(void initComponents()): this.addInputColourChooser.listeners == &new EventListenerList(ColourChooser#1)
    //#post(void initComponents()): this.addInputColourChooser.previewPanel == &new JPanel(ColourChooser#5)
    //#post(void initComponents()): this.addInputColourChooser.value == &"ffffff"
    //#post(void initComponents()): this.addInputColourChooser.window == null
    //#unanalyzed(void initComponents()): Effects-of-calling:java.lang.String:isEmpty
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.ui.messages.ColourManager:getColour
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JPanel:setBackground
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JPanel:setToolTipText
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.ui.messages.ColourManager:parseColour
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JPanel
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.event.EventListenerList
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JButton
    //#unanalyzed(void initComponents()): Effects-of-calling:isWindowsUI
    //#unanalyzed(void initComponents()): Effects-of-calling:java.awt.Insets
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JButton:setMargin
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JButton:addActionListener
    //#unanalyzed(void initComponents()): Effects-of-calling:java.awt.Dimension
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JPanel:setPreferredSize
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.BorderFactory:createLineBorder
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JPanel:setBorder
    //#unanalyzed(void initComponents()): Effects-of-calling:net.miginfocom.swing.MigLayout
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ColourChooser:setLayout
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ColourChooser:add
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.UIManager:getLookAndFeel
    //#unanalyzed(void initComponents()): Effects-of-calling:java.lang.Object:getClass
    //#unanalyzed(void initComponents()): Effects-of-calling:java.lang.Class:getName
    //#unanalyzed(void initComponents()): Effects-of-calling:java.lang.String:equals
    //#unanalyzed(void initComponents()): Effects-of-calling:java.lang.System:getProperty
        addOptionButton = new JButton("Add");
        
        addOptionComboBox.setRenderer(new AddOptionCellRenderer(parent));
    //#AddOptionPanel.java:102: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.renderers.AddOptionCellRenderer(SettingsPanel)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel
    //#    method: void initComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.renderers.AddOptionCellRenderer(SettingsPanel)
        
        addInputColourChooser = new ColourChooser();
        addInputText = new JTextField();
        addInputCheckbox = new JCheckBox();
        addInputCheckbox.setOpaque(UIUtilities.getTabbedPaneOpaque());
        addInputSpinner = new JSpinner(new SpinnerNumberModel());
        addInputNone = new JLabel("");
        
        addInputCurrent = addInputNone;
        
        addOptionComboBox.setEnabled(false);
        addOptionButton.setEnabled(false);
    }
    //#AddOptionPanel.java:115: end of method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel.initComponents()
    
    /** Initialises listeners. */
    private void initListeners() {
        //Only fire events on selection not on highlight
        addOptionComboBox.putClientProperty("JComboBox.isTableCellEditor", Boolean.TRUE);
    //#AddOptionPanel.java:120: method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel.initListeners()
    //#input(void initListeners()): java.lang.Boolean.TRUE
    //#input(void initListeners()): this
    //#input(void initListeners()): this.addInputText
    //#input(void initListeners()): this.addOptionButton
    //#input(void initListeners()): this.addOptionComboBox
    //#pre[2] (void initListeners()): this.addInputText != null
    //#pre[3] (void initListeners()): this.addOptionButton != null
    //#pre[4] (void initListeners()): this.addOptionComboBox != null
    //#presumption(void initListeners()): init'ed(java.lang.Boolean.TRUE)
    //#presumption(void initListeners()): javax.swing.JTextField:getActionMap(...)@124 != null
    //#presumption(void initListeners()): javax.swing.JTextField:getInputMap(...)@134 != null
    //#unanalyzed(void initListeners()): Effects-of-calling:javax.swing.AbstractAction
        addOptionComboBox.addActionListener(this);
        addOptionButton.addActionListener(this);

        addInputText.getActionMap().put("enter", new AbstractAction() {
    //#AddOptionPanel.java:124: method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$1.com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$1(AddOptionPanel)
    //#input(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$1(AddOptionPanel)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$1(AddOptionPanel)): this
    //#output(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$1(AddOptionPanel)): this.this$0
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$1(AddOptionPanel)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$1(AddOptionPanel)): init'ed(this.this$0)
    //#AddOptionPanel.java:124: end of method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$1.com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$1(AddOptionPanel)
            
            private static final long serialVersionUID = 2;

            /** {@inheritDoc} */
            @Override
            public void actionPerformed(final ActionEvent e) {
                addOptionButton.doClick();
    //#AddOptionPanel.java:131: method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$1.actionPerformed(ActionEvent)
    //#input(void actionPerformed(ActionEvent)): this
    //#input(void actionPerformed(ActionEvent)): this.this$0
    //#input(void actionPerformed(ActionEvent)): this.this$0.addOptionButton
    //#pre[2] (void actionPerformed(ActionEvent)): this.this$0 != null
    //#pre[3] (void actionPerformed(ActionEvent)): this.addOptionButton != null
            }
    //#AddOptionPanel.java:132: end of method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$1.actionPerformed(ActionEvent)
        });
        addInputText.getInputMap().put(KeyStroke.getKeyStroke("ENTER"), "enter");
    }
    //#AddOptionPanel.java:135: end of method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel.initListeners()
    
    /** Lays out the components. */
    private void layoutComponents() {
        setVisible(false);
    //#AddOptionPanel.java:139: method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel.layoutComponents()
    //#AddOptionPanel.java:139: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:setVisible(bool)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel
    //#    method: void layoutComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:setVisible(bool)
    //#input(void layoutComponents()): this
    //#input(void layoutComponents()): this.addInputCurrent
    //#input(void layoutComponents()): this.addOptionButton
    //#input(void layoutComponents()): this.addOptionComboBox
    //#pre[2] (void layoutComponents()): init'ed(this.addInputCurrent)
    //#pre[3] (void layoutComponents()): init'ed(this.addOptionButton)
    //#pre[4] (void layoutComponents()): init'ed(this.addOptionComboBox)
        
        removeAll();
    //#AddOptionPanel.java:141: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:removeAll()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel
    //#    method: void layoutComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:removeAll()
        
        add(addOptionComboBox, "left, aligny top");
    //#AddOptionPanel.java:143: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:add(Component, Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel
    //#    method: void layoutComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:add(Component, Object)
        add(addInputCurrent, "growx, pushx, aligny top");
    //#AddOptionPanel.java:144: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:add(Component, Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel
    //#    method: void layoutComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:add(Component, Object)
        add(addOptionButton, "right, aligny top");
    //#AddOptionPanel.java:145: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:add(Component, Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel
    //#    method: void layoutComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:add(Component, Object)
        
        setVisible(true);
    //#AddOptionPanel.java:147: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:setVisible(bool)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel
    //#    method: void layoutComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:setVisible(bool)
    }
    //#AddOptionPanel.java:148: end of method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel.layoutComponents()
    
    /**
     * Adds an addable option.
     *
     * @param optionName Option name
     */
    protected void addOption(final String optionName) {
        ((DefaultComboBoxModel) addOptionComboBox.getModel()).addElement(
    //#AddOptionPanel.java:156: method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel.addOption(String)
    //#input(void addOption(String)): optionName
    //#input(void addOption(String)): this
    //#input(void addOption(String)): this.addOptionButton
    //#input(void addOption(String)): this.addOptionComboBox
    //#pre[3] (void addOption(String)): this.addOptionButton != null
    //#pre[4] (void addOption(String)): this.addOptionComboBox != null
    //#presumption(void addOption(String)): javax.swing.JComboBox:getModel(...)@156 != null
                optionName);
        addOptionButton.setEnabled(true);
        addOptionComboBox.setEnabled(true);
    }
    //#AddOptionPanel.java:160: end of method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel.addOption(String)
    
    /**
     * Removes an addable option.
     *
     * @param optionName Option name
     */
    protected void delOption(final String optionName) {
        ((DefaultComboBoxModel) addOptionComboBox.getModel()).removeElement(
    //#AddOptionPanel.java:168: method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel.delOption(String)
    //#input(void delOption(String)): optionName
    //#input(void delOption(String)): this
    //#input(void delOption(String)): this.addOptionButton
    //#input(void delOption(String)): this.addOptionComboBox
    //#pre[4] (void delOption(String)): this.addOptionComboBox != null
    //#pre[3] (void delOption(String)): (soft) this.addOptionButton != null
    //#presumption(void delOption(String)): javax.swing.JComboBox:getModel(...)@168 != null
    //#presumption(void delOption(String)): javax.swing.JComboBox:getModel(...)@170 != null
    //#test_vector(void delOption(String)): javax.swing.ComboBoxModel:getSize(...)@170: {-2_147_483_648..-1, 1..4_294_967_295}, {0}
                optionName);
        if (addOptionComboBox.getModel().getSize() == 0) {
            addOptionComboBox.setEnabled(false);
            addOptionButton.setEnabled(false);
        }
    }
    //#AddOptionPanel.java:174: end of method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel.delOption(String)
    
    /** Clears the options. */
    protected void clearOptions() {
        addOptionComboBox.removeAllItems();
    //#AddOptionPanel.java:178: method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel.clearOptions()
    //#input(void clearOptions()): this
    //#input(void clearOptions()): this.addInputNone
    //#input(void clearOptions()): this.addOptionButton
    //#input(void clearOptions()): this.addOptionComboBox
    //#output(void clearOptions()): this.addInputCurrent
    //#pre[2] (void clearOptions()): init'ed(this.addInputNone)
    //#pre[3] (void clearOptions()): init'ed(this.addOptionButton)
    //#pre[4] (void clearOptions()): this.addOptionComboBox != null
    //#post(void clearOptions()): this.addInputCurrent == this.addInputNone
    //#post(void clearOptions()): init'ed(this.addInputCurrent)
    //#unanalyzed(void clearOptions()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:setVisible
    //#unanalyzed(void clearOptions()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:removeAll
    //#unanalyzed(void clearOptions()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:add
        addInputCurrent = addInputNone;
        layoutComponents();
    }
    //#AddOptionPanel.java:181: end of method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel.clearOptions()
    
    /**
     * Swaps the input field type to the appropriate type.
     *
     * @param type Option type
     */
    private void switchInputField(final OptionType type) {
        if (type == null) {
    //#AddOptionPanel.java:189: method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel.switchInputField(SettingsPanel$OptionType)
    //#input(void switchInputField(SettingsPanel$OptionType)): com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init.new int[](AddOptionPanel$2__static_init#1).length
    //#input(void switchInputField(SettingsPanel$OptionType)): com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init.new int[](AddOptionPanel$2__static_init#1)[0..4_294_967_295]
    //#input(void switchInputField(SettingsPanel$OptionType)): com/dmdirc/addons/ui_swing/components/expandingsettings/AddOptionPanel$2.$SwitchMap$com$dmdirc$addons$ui_swing$components$expandingsettings$SettingsPanel$OptionType
    //#input(void switchInputField(SettingsPanel$OptionType)): this
    //#input(void switchInputField(SettingsPanel$OptionType)): this.addInputCheckbox
    //#input(void switchInputField(SettingsPanel$OptionType)): this.addInputColourChooser
    //#input(void switchInputField(SettingsPanel$OptionType)): this.addInputColourChooser.previewPanel
    //#input(void switchInputField(SettingsPanel$OptionType)): this.addInputNone
    //#input(void switchInputField(SettingsPanel$OptionType)): this.addInputSpinner
    //#input(void switchInputField(SettingsPanel$OptionType)): this.addInputText
    //#input(void switchInputField(SettingsPanel$OptionType)): this.addOptionButton
    //#input(void switchInputField(SettingsPanel$OptionType)): this.addOptionComboBox
    //#input(void switchInputField(SettingsPanel$OptionType)): type
    //#output(void switchInputField(SettingsPanel$OptionType)): this.addInputColourChooser.value
    //#output(void switchInputField(SettingsPanel$OptionType)): this.addInputCurrent
    //#pre[10] (void switchInputField(SettingsPanel$OptionType)): init'ed(this.addOptionButton)
    //#pre[11] (void switchInputField(SettingsPanel$OptionType)): this.addOptionComboBox != null
    //#pre[1] (void switchInputField(SettingsPanel$OptionType)): (soft) init'ed(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init.new int[](AddOptionPanel$2__static_init#1)[0..4_294_967_295])
    //#pre[4] (void switchInputField(SettingsPanel$OptionType)): (soft) this.addInputCheckbox != null
    //#pre[5] (void switchInputField(SettingsPanel$OptionType)): (soft) this.addInputColourChooser != null
    //#pre[6] (void switchInputField(SettingsPanel$OptionType)): (soft) this.addInputColourChooser.previewPanel != null
    //#pre[7] (void switchInputField(SettingsPanel$OptionType)): (soft) init'ed(this.addInputNone)
    //#pre[8] (void switchInputField(SettingsPanel$OptionType)): (soft) this.addInputSpinner != null
    //#pre[9] (void switchInputField(SettingsPanel$OptionType)): (soft) this.addInputText != null
    //#presumption(void switchInputField(SettingsPanel$OptionType)): com.dmdirc.addons.ui_swing.components.expandingsettings.SettingsPanel_OptionType:ordinal(...)@192 in {0..3}
    //#post(void switchInputField(SettingsPanel$OptionType)): this.addInputColourChooser.value == One-of{old this.addInputColourChooser.value, &"ffffff"}
    //#post(void switchInputField(SettingsPanel$OptionType)): this.addInputCurrent == One-of{this.addInputNone, this.addInputText, this.addInputCheckbox, this.addInputColourChooser, this.addInputSpinner}
    //#post(void switchInputField(SettingsPanel$OptionType)): init'ed(this.addInputCurrent)
    //#unanalyzed(void switchInputField(SettingsPanel$OptionType)): Effects-of-calling:com.dmdirc.ui.messages.ColourManager:getColour
    //#unanalyzed(void switchInputField(SettingsPanel$OptionType)): Effects-of-calling:javax.swing.JPanel:setBackground
    //#unanalyzed(void switchInputField(SettingsPanel$OptionType)): Effects-of-calling:javax.swing.JPanel:setToolTipText
    //#unanalyzed(void switchInputField(SettingsPanel$OptionType)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:setVisible
    //#unanalyzed(void switchInputField(SettingsPanel$OptionType)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:removeAll
    //#unanalyzed(void switchInputField(SettingsPanel$OptionType)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:add
    //#test_vector(void switchInputField(SettingsPanel$OptionType)): com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init.new int[](AddOptionPanel$2__static_init#1)[0..4_294_967_295]: {1}, {2}, {3}, {4}, {-2_147_483_648..0, 5..4_294_967_295}
    //#test_vector(void switchInputField(SettingsPanel$OptionType)): type: Inverse{null}, Addr_Set{null}
            addInputCurrent = addInputNone;
        } else {
            switch (type) {
    //#AddOptionPanel.java:192: method: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2.com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init
    //#AddOptionPanel.java:192: Warning: method not available - call not analyzed
    //#    call on int com.dmdirc.addons.ui_swing.components.expandingsettings.SettingsPanel$OptionType:ordinal()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2
    //#    method: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init
    //#    unanalyzed callee: int com.dmdirc.addons.ui_swing.components.expandingsettings.SettingsPanel$OptionType:ordinal()
    //#input(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): com.dmdirc.addons.ui_swing.components.expandingsettings.SettingsPanel$OptionType__static_init.new SettingsPanel$OptionType[](SettingsPanel$OptionType__static_init#5).length
    //#input(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): com.dmdirc.addons.ui_swing.components.expandingsettings.SettingsPanel$OptionType__static_init.new SettingsPanel$OptionType[](SettingsPanel$OptionType__static_init#5)[0..4]
    //#input(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): com/dmdirc/addons/ui_swing/components/expandingsettings/SettingsPanel$OptionType.$VALUES
    //#input(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): com/dmdirc/addons/ui_swing/components/expandingsettings/SettingsPanel$OptionType.CHECKBOX
    //#input(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): com/dmdirc/addons/ui_swing/components/expandingsettings/SettingsPanel$OptionType.COLOUR
    //#input(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): com/dmdirc/addons/ui_swing/components/expandingsettings/SettingsPanel$OptionType.SPINNER
    //#input(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): com/dmdirc/addons/ui_swing/components/expandingsettings/SettingsPanel$OptionType.TEXTFIELD
    //#output(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): $SwitchMap$com$dmdirc$addons$ui_swing$components$expandingsettings$SettingsPanel$OptionType
    //#output(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/expandingsettings/AddOptionPanel$2]
    //#output(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): new int[](AddOptionPanel$2__static_init#1) num objects
    //#output(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): $SwitchMap$com$dmdirc$addons$ui_swing$components$expandingsettings$SettingsPanel$OptionType.length
    //#output(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): $SwitchMap$com$dmdirc$addons$ui_swing$components$expandingsettings$SettingsPanel$OptionType[0..4_294_967_295]
    //#new obj(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): new int[](AddOptionPanel$2__static_init#1)
    //#pre[1] (com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): (soft) init'ed(com.dmdirc.addons.ui_swing.components.expandingsettings.SettingsPanel$OptionType__static_init.new SettingsPanel$OptionType[](SettingsPanel$OptionType__static_init#5)[0..4])
    //#presumption(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): com.dmdirc.addons.ui_swing.components.expandingsettings.SettingsPanel_OptionType:ordinal(...)@192 in {0..3}
    //#presumption(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): com.dmdirc.addons.ui_swing.components.expandingsettings.SettingsPanel_OptionType:ordinal(...)@192 in {0..3}
    //#presumption(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): com.dmdirc.addons.ui_swing.components.expandingsettings.SettingsPanel_OptionType:ordinal(...)@192 in {0..3}
    //#presumption(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): com.dmdirc.addons.ui_swing.components.expandingsettings.SettingsPanel_OptionType:ordinal(...)@192 in {0..3}
    //#presumption(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): com.dmdirc.addons.ui_swing.components.expandingsettings.SettingsPanel_OptionType:ordinal(...)@192 - values(...).length in range
    //#presumption(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): com.dmdirc.addons.ui_swing.components.expandingsettings.SettingsPanel_OptionType:ordinal(...)@192 - values(...).length in range
    //#presumption(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): com.dmdirc.addons.ui_swing.components.expandingsettings.SettingsPanel_OptionType:ordinal(...)@192 - values(...).length in range
    //#presumption(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): com.dmdirc.addons.ui_swing.components.expandingsettings.SettingsPanel_OptionType:ordinal(...)@192 - values(...).length in range
    //#post(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): $SwitchMap$com$dmdirc$addons$ui_swing$components$expandingsettings$SettingsPanel$OptionType == &new int[](AddOptionPanel$2__static_init#1)
    //#post(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/expandingsettings/AddOptionPanel$2] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): new int[](AddOptionPanel$2__static_init#1) num objects == 1
    //#post(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): $SwitchMap$com$dmdirc$addons$ui_swing$components$expandingsettings$SettingsPanel$OptionType.length == 4
    //#post(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init): $SwitchMap$com$dmdirc$addons$ui_swing$components$expandingsettings$SettingsPanel$OptionType[0..4_294_967_295] in {0..4}, if init'ed
    //#AddOptionPanel.java:192: end of method: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2.com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init
    //#AddOptionPanel.java:192: Warning: method not available - call not analyzed
    //#    call on int com.dmdirc.addons.ui_swing.components.expandingsettings.SettingsPanel$OptionType:ordinal()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel
    //#    method: void switchInputField(SettingsPanel$OptionType)
    //#    unanalyzed callee: int com.dmdirc.addons.ui_swing.components.expandingsettings.SettingsPanel$OptionType:ordinal()
                case TEXTFIELD:
                    addInputText.setText("");
                    addInputCurrent = addInputText;
                    break;
                case CHECKBOX:
                    addInputCheckbox.setSelected(false);
                    addInputCurrent = addInputCheckbox;
                    break;
                case COLOUR:
                    addInputColourChooser.clearColour();
                    addInputCurrent = addInputColourChooser;
                    break;
                case SPINNER:
                    addInputSpinner.setValue(0);
                    addInputCurrent = addInputSpinner;
                    break;
                default:
                    addInputCurrent = addInputNone;
                    break;
            }
        }
        
        layoutComponents();
        
        addOptionComboBox.requestFocusInWindow();
    }
    //#AddOptionPanel.java:218: end of method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel.switchInputField(SettingsPanel$OptionType)
    
    /** {@inheritDoc} */
    @Override
    public void actionPerformed(final ActionEvent e) {
        if (e.getSource() == addOptionComboBox) {
    //#AddOptionPanel.java:223: method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel.actionPerformed(ActionEvent)
    //#input(void actionPerformed(ActionEvent)): ": "._tainted
    //#input(void actionPerformed(ActionEvent)): "Illegal Type: "._tainted
    //#input(void actionPerformed(ActionEvent)): com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init.new int[](AddOptionPanel$2__static_init#1).length
    //#input(void actionPerformed(ActionEvent)): com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init.new int[](AddOptionPanel$2__static_init#1)[0..4_294_967_295]
    //#input(void actionPerformed(ActionEvent)): com.dmdirc.addons.ui_swing.components.expandingsettings.CurrentOptionsPanel$1__static_init.new int[](CurrentOptionsPanel$1__static_init#1).length
    //#input(void actionPerformed(ActionEvent)): com.dmdirc.addons.ui_swing.components.expandingsettings.CurrentOptionsPanel$1__static_init.new int[](CurrentOptionsPanel$1__static_init#1)[0..4_294_967_295]
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/components/ColourChooser.java.awt.Color.DARK_GRAY
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/components/expandingsettings/AddOptionPanel$2.$SwitchMap$com$dmdirc$addons$ui_swing$components$expandingsettings$SettingsPanel$OptionType
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/components/expandingsettings/CurrentOptionsPanel$1.$SwitchMap$com$dmdirc$addons$ui_swing$components$expandingsettings$SettingsPanel$OptionType
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/components/expandingsettings/SettingsPanel$OptionType.__Descendant_Table[com/dmdirc/addons/ui_swing/components/expandingsettings/SettingsPanel$OptionType]
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/components/expandingsettings/SettingsPanel$OptionType.__Descendant_Table[others]
    //#input(void actionPerformed(ActionEvent)): e
    //#input(void actionPerformed(ActionEvent)): this
    //#input(void actionPerformed(ActionEvent)): this.addInputCheckbox
    //#input(void actionPerformed(ActionEvent)): this.addInputColourChooser
    //#input(void actionPerformed(ActionEvent)): this.addInputColourChooser.previewPanel
    //#input(void actionPerformed(ActionEvent)): this.addInputColourChooser.value
    //#input(void actionPerformed(ActionEvent)): this.addInputNone
    //#input(void actionPerformed(ActionEvent)): this.addInputSpinner
    //#input(void actionPerformed(ActionEvent)): this.addInputText
    //#input(void actionPerformed(ActionEvent)): this.addOptionButton
    //#input(void actionPerformed(ActionEvent)): this.addOptionComboBox
    //#input(void actionPerformed(ActionEvent)): this.parent
    //#input(void actionPerformed(ActionEvent)): this.parent...names
    //#input(void actionPerformed(ActionEvent)): this.parent.currentOptionsPanel
    //#input(void actionPerformed(ActionEvent)): this.parent.currentOptionsPanel.checkBoxes
    //#input(void actionPerformed(ActionEvent)): this.parent.currentOptionsPanel.colours
    //#input(void actionPerformed(ActionEvent)): this.parent.currentOptionsPanel.parent
    //#input(void actionPerformed(ActionEvent)): this.parent.currentOptionsPanel.spinners
    //#input(void actionPerformed(ActionEvent)): this.parent.currentOptionsPanel.textFields
    //#input(void actionPerformed(ActionEvent)): this.parent.types
    //#output(void actionPerformed(ActionEvent)): this.addInputColourChooser.value
    //#output(void actionPerformed(ActionEvent)): this.addInputCurrent
    //#pre[3] (void actionPerformed(ActionEvent)): e != null
    //#pre[1] (void actionPerformed(ActionEvent)): (soft) init'ed(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init.new int[](AddOptionPanel$2__static_init#1)[0..4_294_967_295])
    //#pre[2] (void actionPerformed(ActionEvent)): (soft) com.dmdirc.addons.ui_swing.components.expandingsettings.CurrentOptionsPanel$1__static_init.new int[](CurrentOptionsPanel$1__static_init#1)[0..4_294_967_295] in {1..4}
    //#pre[4] (void actionPerformed(ActionEvent)): (soft) init'ed(this.addInputColourChooser.value)
    //#pre[7] (void actionPerformed(ActionEvent)): (soft) this.addInputCheckbox != null
    //#pre[8] (void actionPerformed(ActionEvent)): (soft) this.addInputColourChooser != null
    //#pre[9] (void actionPerformed(ActionEvent)): (soft) this.addInputColourChooser.previewPanel != null
    //#pre[10] (void actionPerformed(ActionEvent)): (soft) init'ed(this.addInputNone)
    //#pre[11] (void actionPerformed(ActionEvent)): (soft) this.addInputSpinner != null
    //#pre[12] (void actionPerformed(ActionEvent)): (soft) this.addInputText != null
    //#pre[13] (void actionPerformed(ActionEvent)): (soft) this.addOptionButton != null
    //#pre[14] (void actionPerformed(ActionEvent)): (soft) this.addOptionComboBox != null
    //#pre[15] (void actionPerformed(ActionEvent)): (soft) this.parent != null
    //#pre[16] (void actionPerformed(ActionEvent)): (soft) this.parent...names != null
    //#pre[17] (void actionPerformed(ActionEvent)): (soft) this.parent.currentOptionsPanel != null
    //#pre[18] (void actionPerformed(ActionEvent)): (soft) this.parent.currentOptionsPanel.checkBoxes != null
    //#pre[19] (void actionPerformed(ActionEvent)): (soft) this.parent.currentOptionsPanel.colours != null
    //#pre[20] (void actionPerformed(ActionEvent)): (soft) this.parent.currentOptionsPanel.parent != null
    //#pre[21] (void actionPerformed(ActionEvent)): (soft) this.parent.currentOptionsPanel.spinners != null
    //#pre[22] (void actionPerformed(ActionEvent)): (soft) this.parent.currentOptionsPanel.textFields != null
    //#pre[23] (void actionPerformed(ActionEvent)): (soft) this.parent.types != null
    //#presumption(void actionPerformed(ActionEvent)): com.dmdirc.addons.ui_swing.components.expandingsettings.SettingsPanel_OptionType:ordinal(...)@234 in {0..3}
    //#presumption(void actionPerformed(ActionEvent)): java.util.Map:get(...)@242 != null
    //#presumption(void actionPerformed(ActionEvent)): javax.swing.JSpinner:getValue(...)@254 != null
    //#post(void actionPerformed(ActionEvent)): this.addInputColourChooser.value == One-of{old this.addInputColourChooser.value, &"ffffff"}
    //#post(void actionPerformed(ActionEvent)): init'ed(this.addInputColourChooser.value)
    //#post(void actionPerformed(ActionEvent)): this.addInputCurrent == One-of{this.addInputNone, this.addInputText, this.addInputCheckbox, this.addInputColourChooser, this.addInputSpinner, old this.addInputCurrent}
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.lang.String:isEmpty
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.ui.messages.ColourManager:getColour
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JPanel:setBackground
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JPanel:setToolTipText
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.ui.messages.ColourManager:parseColour
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JPanel
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.event.EventListenerList
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JButton
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:isWindowsUI
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.awt.Insets
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JButton:setMargin
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JButton:addActionListener
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.awt.Dimension
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JPanel:setPreferredSize
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.BorderFactory:createLineBorder
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JPanel:setBorder
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:net.miginfocom.swing.MigLayout
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ColourChooser:setLayout
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ColourChooser:add
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.UIManager:getLookAndFeel
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.lang.Object:getClass
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.lang.Class:getName
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.lang.String:equals
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JComboBox:setEnabled
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JButton:setEnabled
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:setVisible
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:removeAll
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel:add
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JComboBox:getModel
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.DefaultComboBoxModel:removeElement
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.ComboBoxModel:getSize
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.expandingsettings.SettingsPanel$OptionType:ordinal
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JTextField:setText
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JCheckBox:setSelected
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.lang.Integer:valueOf
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JSpinner:setValue
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JComboBox:requestFocusInWindow
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.util.Map:get
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JLabel
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.ui.IconManager:getIconManager
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.ui.IconManager:getIcon
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ImageButton:setIcon
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ImageButton:setRolloverIcon
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ImageButton:setPressedIcon
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ImageButton:setContentAreaFilled
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.BorderFactory:createEmptyBorder
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ImageButton:setBorder
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ImageButton:setMargin
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ImageButton:setPreferredSize
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ImageButton:setActionCommand
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JLabel:setText
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JLabel:setLabelFor
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ImageButton:addActionListener
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JPanel:add
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.expandingsettings.CurrentOptionsPanel:setVisible
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.expandingsettings.CurrentOptionsPanel:setLayout
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.expandingsettings.CurrentOptionsPanel:removeAll
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.util.Map:entrySet
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.util.Set:iterator
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.util.Map$Entry:getKey
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:getOptionName
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.util.Map$Entry:getValue
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JTextField
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.util.Map:put
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.lang.Boolean:parseBoolean
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JCheckBox
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.SpinnerNumberModel
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JSpinner
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.lang.Integer:parseInt
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.lang.IllegalArgumentException
    //#test_vector(void actionPerformed(ActionEvent)): com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2__static_init.new int[](AddOptionPanel$2__static_init#1)[0..4_294_967_295]: {1}, {2}, {3}, {4}, {-2_147_483_648..0, 5..4_294_967_295}
    //#test_vector(void actionPerformed(ActionEvent)): javax.swing.JComboBox:getSelectedItem(...)@224: Inverse{null}, Addr_Set{null}
            if (addOptionComboBox.getSelectedItem() == null) {
                addOptionComboBox.setEnabled(false);
                addOptionButton.setEnabled(false);
            }
            switchInputField(parent.getOptionType(
                    (String) addOptionComboBox.getSelectedItem()));
        } else if (e.getSource() == addOptionButton) {
            final OptionType type = parent.getOptionType(
                    (String) addOptionComboBox.getSelectedItem());
            
            switch (type) {
    //#AddOptionPanel.java:234: Warning: method not available - call not analyzed
    //#    call on int com.dmdirc.addons.ui_swing.components.expandingsettings.SettingsPanel$OptionType:ordinal()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel
    //#    method: void actionPerformed(ActionEvent)
    //#    unanalyzed callee: int com.dmdirc.addons.ui_swing.components.expandingsettings.SettingsPanel$OptionType:ordinal()
                case TEXTFIELD:
                    parent.addCurrentOption(
                            (String) addOptionComboBox.getSelectedItem(),
                            type,
                            addInputText.getText());
                    break;
                case CHECKBOX:
                    parent.addCurrentOption(
                            (String) addOptionComboBox.getSelectedItem(),
                            type,
                            String.valueOf(addInputCheckbox.isSelected()));
                    break;
                case COLOUR:
                    parent.addCurrentOption(
                            (String) addOptionComboBox.getSelectedItem(),
                            type,
                            addInputColourChooser.getColour());
                    break;
                case SPINNER:
                    parent.addCurrentOption(
                            (String) addOptionComboBox.getSelectedItem(),
                            type,
                            addInputSpinner.getValue().toString());
                    break;
                default:
                    break;
            }
            
            delOption((String) addOptionComboBox.getSelectedItem());
        }
    }
    //#AddOptionPanel.java:265: end of method: void com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel.actionPerformed(ActionEvent)
    
}
    //#AddOptionPanel.java:: end of class: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$2
    //#output(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$1__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/expandingsettings/AddOptionPanel$1]
    //#output(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$1__static_init): __Dispatch_Table.actionPerformed(Ljava/awt/event/ActionEvent;)V
    //#post(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$1__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/expandingsettings/AddOptionPanel$1] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$1__static_init): __Dispatch_Table.actionPerformed(Ljava/awt/event/ActionEvent;)V == &actionPerformed
    //#AddOptionPanel.java:: end of method: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$1.com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$1__static_init
    //#AddOptionPanel.java:: end of class: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel$1
    //#output(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/expandingsettings/AddOptionPanel]
    //#output(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel__static_init): __Dispatch_Table.actionPerformed(Ljava/awt/event/ActionEvent;)V
    //#output(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel__static_init): __Dispatch_Table.addOption(Ljava/lang/String;)V
    //#output(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel__static_init): __Dispatch_Table.clearOptions()V
    //#output(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel__static_init): __Dispatch_Table.delOption(Ljava/lang/String;)V
    //#output(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel__static_init): __Dispatch_Table.initComponents()V
    //#output(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel__static_init): __Dispatch_Table.initListeners()V
    //#output(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel__static_init): __Dispatch_Table.layoutComponents()V
    //#output(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel__static_init): __Dispatch_Table.switchInputField(Lcom/dmdirc/addons/ui_swing/components/expandingsettings/SettingsPanel$OptionType;)V
    //#post(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/expandingsettings/AddOptionPanel] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel__static_init): __Dispatch_Table.actionPerformed(Ljava/awt/event/ActionEvent;)V == &actionPerformed
    //#post(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel__static_init): __Dispatch_Table.addOption(Ljava/lang/String;)V == &addOption
    //#post(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel__static_init): __Dispatch_Table.clearOptions()V == &clearOptions
    //#post(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel__static_init): __Dispatch_Table.delOption(Ljava/lang/String;)V == &delOption
    //#post(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel__static_init): __Dispatch_Table.initComponents()V == &initComponents
    //#post(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel__static_init): __Dispatch_Table.initListeners()V == &initListeners
    //#post(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel__static_init): __Dispatch_Table.layoutComponents()V == &layoutComponents
    //#post(com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel__static_init): __Dispatch_Table.switchInputField(Lcom/dmdirc/addons/ui_swing/components/expandingsettings/SettingsPanel$OptionType;)V == &switchInputField
    //#AddOptionPanel.java:: end of method: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel.com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel__static_init
    //#AddOptionPanel.java:: end of class: com.dmdirc.addons.ui_swing.components.expandingsettings.AddOptionPanel
