//# 0 errors, 592 messages
//#
/*
    //#ActionTriggersPanel.java:1:1: class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$2
    //#ActionTriggersPanel.java:1:1: method: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$2.com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$2__static_init
    //#ActionTriggersPanel.java:1:1: class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1
    //#ActionTriggersPanel.java:1:1: method: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1.com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1__static_init
    //#ActionTriggersPanel.java:1:1: class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel
    //#ActionTriggersPanel.java:1:1: method: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__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.dialogs.actioneditor;

import com.dmdirc.actions.ActionManager;
import com.dmdirc.actions.interfaces.ActionType;
import com.dmdirc.addons.ui_swing.components.text.TextLabel;
import com.dmdirc.addons.ui_swing.components.renderers.ActionTypeRenderer;

import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.List;
    
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.SwingUtilities;
import javax.swing.event.PopupMenuEvent;
import javax.swing.event.PopupMenuListener;

import net.miginfocom.swing.MigLayout;

/**
 * Action triggers panel.
 */
public class ActionTriggersPanel extends JPanel implements ActionListener,
    //#ActionTriggersPanel.java:53: method: JComboBox com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.access$000(ActionTriggersPanel)
    //#input(JComboBox access$000(ActionTriggersPanel)): x0
    //#input(JComboBox access$000(ActionTriggersPanel)): x0.trigger
    //#output(JComboBox access$000(ActionTriggersPanel)): return_value
    //#pre[1] (JComboBox access$000(ActionTriggersPanel)): x0 != null
    //#pre[2] (JComboBox access$000(ActionTriggersPanel)): init'ed(x0.trigger)
    //#post(JComboBox access$000(ActionTriggersPanel)): return_value == x0.trigger
    //#post(JComboBox access$000(ActionTriggersPanel)): init'ed(return_value)
    //#ActionTriggersPanel.java:53: end of method: JComboBox com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.access$000(ActionTriggersPanel)
    //#ActionTriggersPanel.java:53: method: ActionTriggersListPanel com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.access$100(ActionTriggersPanel)
    //#input(ActionTriggersListPanel access$100(ActionTriggersPanel)): x0
    //#input(ActionTriggersListPanel access$100(ActionTriggersPanel)): x0.triggerList
    //#output(ActionTriggersListPanel access$100(ActionTriggersPanel)): return_value
    //#pre[1] (ActionTriggersListPanel access$100(ActionTriggersPanel)): x0 != null
    //#pre[2] (ActionTriggersListPanel access$100(ActionTriggersPanel)): init'ed(x0.triggerList)
    //#post(ActionTriggersListPanel access$100(ActionTriggersPanel)): return_value == x0.triggerList
    //#post(ActionTriggersListPanel access$100(ActionTriggersPanel)): init'ed(return_value)
    //#ActionTriggersPanel.java:53: end of method: ActionTriggersListPanel com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.access$100(ActionTriggersPanel)
        ActionTriggerRemovalListener, PropertyChangeListener {

    /**
     * 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 = 1;
    /** Trigger combo box. */
    private JComboBox trigger;
    /** Add button. */
    private JButton add;
    /** Triggers list. */
    private ActionTriggersListPanel triggerList;

    /** Instantiates the panel. */
    public ActionTriggersPanel() {
        super();
    //#ActionTriggersPanel.java:71: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): "; "._tainted
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): "body { font-family: "._tainted
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): "font-size: "._tainted
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): "pt; }"._tainted
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): com/dmdirc/addons/ui_swing/components/text/TextLabel.__Descendant_Table[com/dmdirc/addons/ui_swing/components/text/TextLabel]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): com/dmdirc/addons/ui_swing/components/text/TextLabel.__Descendant_Table[others]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): com/dmdirc/addons/ui_swing/components/text/TextLabel.__Dispatch_Table.getDocument()Ljavax/swing/text/StyledDocument;
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): com/dmdirc/addons/ui_swing/components/text/TextLabel.__Dispatch_Table.setText(Ljava/lang/String;)V
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Descendant_Table[others]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Dispatch_Table.addTriggerListener(Lcom/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggerRemovalListener;)V
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): java.lang.Boolean.TRUE
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): this
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): new ActionTriggersListPanel(initComponents#6) num objects
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): new ActionTriggersListPanel(initComponents#6).__Tag
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): new ActionTriggersListPanel(initComponents#6).listeners
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): new ActionTriggersListPanel(initComponents#6).triggers
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): new ArrayList(ActionTriggersListPanel#2) num objects
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): new ArrayList(ActionTriggersListPanel#2).__Lock
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): new JButton(initComponents#5) num objects
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): new JComboBox(initComponents#1) num objects
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): new ListenerList(ActionTriggersListPanel#1) num objects
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): this.add
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): this.trigger
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): this.triggerList
    //#new obj(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): new ActionTriggersListPanel(initComponents#6)
    //#new obj(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): new ArrayList(ActionTriggersListPanel#2)
    //#new obj(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): new JButton(initComponents#5)
    //#new obj(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): new JComboBox(initComponents#1)
    //#new obj(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): new ListenerList(ActionTriggersListPanel#1)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): this.add == &new JButton(initComponents#5)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): this.trigger == &new JComboBox(initComponents#1)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): this.triggerList == &new ActionTriggersListPanel(initComponents#6)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): new ActionTriggersListPanel(initComponents#6) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): new ArrayList(ActionTriggersListPanel#2) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): new JButton(initComponents#5) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): new JComboBox(initComponents#1) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): new ListenerList(ActionTriggersListPanel#1) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): new ActionTriggersListPanel(initComponents#6).__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): new ActionTriggersListPanel(initComponents#6).listeners == &new ListenerList(ActionTriggersListPanel#1)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): new ActionTriggersListPanel(initComponents#6).triggers == &new ArrayList(ActionTriggersListPanel#2)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): init'ed(new ArrayList(ActionTriggersListPanel#2).__Lock)
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:getBorder
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.BorderFactory:createTitledBorder
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:setBorder
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:getFont
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:getFontMetrics
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.actions.ActionManager:getTypeGroups
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.DefaultComboBoxModel:addElement
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:java.lang.String:instanceof
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.SwingUtilities:computeStringWidth
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.actions.interfaces.ActionType:instanceof
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.actions.interfaces.ActionType:getName
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:java.lang.Math:max
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.DefaultComboBoxModel
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.util.MapList:entrySet
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:java.util.Set:iterator
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:java.util.Map$Entry:getKey
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:java.util.Map$Entry:getValue
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.actions.ActionTypeComparator
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:java.util.Collections:sort
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.JComboBox
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.JComboBox:putClientProperty
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.DefaultListCellRenderer
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.JComboBox:setRenderer
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.JComboBox:setPrototypeDisplayValue
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.JComboBox:addPopupMenuListener
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.JButton
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.JComboBox:getSelectedIndex
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.JButton:setEnabled
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:net.miginfocom.swing.MigLayout
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersListPanel:setLayout
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersListPanel:setVisible
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersListPanel:removeAll
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.ui.IconManager:getIconManager
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.ui.IconManager:getIcon
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ImageButton
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ImageButton:addActionListener
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersListPanel:isEnabled
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ImageButton:setEnabled
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.JLabel
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersListPanel:add
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:java.util.List:size
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.JTextPane:getDocument
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.JTextPane:setText
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:java.lang.String:isEmpty
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:java.lang.String:length
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.text.StyledDocument:setParagraphAttributes
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.text.DefaultStyledDocument
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.JTextPane
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.text.html.HTMLEditorKit
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setEditorKit
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.plaf.basic.BasicTextPaneUI
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setUI
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.UIManager:getFont
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.text.html.HTMLDocument:getStyleSheet
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:java.awt.Font:getFamily
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:java.awt.Font:getSize
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.text.html.StyleSheet:addRule
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setOpaque
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setEditable
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setHighlighter
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:java.awt.Insets
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setMargin
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.text.SimpleAttributeSet
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.text.StyleConstants:setAlignment
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.JPanel
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.util.ListenerList
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:java.util.ArrayList
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:setLayout
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:add
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.JButton:addActionListener
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:javax.swing.JComboBox:addActionListener
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.util.ListenerList:add
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersListPanel:addPropertyChangeListener

        initComponents();
        addListeners();
        layoutComponents();
    }
    //#ActionTriggersPanel.java:76: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel()

    /** Initialises the components. */
    private void initComponents() {
        setBorder(BorderFactory.createTitledBorder(getBorder(), "Triggers"));
    //#ActionTriggersPanel.java:80: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.initComponents()
    //#ActionTriggersPanel.java:80: Warning: method not available - call not analyzed
    //#    call on Border com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:getBorder()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel
    //#    method: void initComponents()
    //#    unanalyzed callee: Border com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:getBorder()
    //#ActionTriggersPanel.java:80: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:setBorder(Border)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel
    //#    method: void initComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:setBorder(Border)
    //#input(void initComponents()): "; "._tainted
    //#input(void initComponents()): "body { font-family: "._tainted
    //#input(void initComponents()): "font-size: "._tainted
    //#input(void initComponents()): "pt; }"._tainted
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/components/text/TextLabel.__Descendant_Table[com/dmdirc/addons/ui_swing/components/text/TextLabel]
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/components/text/TextLabel.__Descendant_Table[others]
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/components/text/TextLabel.__Dispatch_Table.getDocument()Ljavax/swing/text/StyledDocument;
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/components/text/TextLabel.__Dispatch_Table.setText(Ljava/lang/String;)V
    //#input(void initComponents()): java.lang.Boolean.TRUE
    //#input(void initComponents()): this
    //#output(void initComponents()): new ActionTriggersListPanel(initComponents#6) num objects
    //#output(void initComponents()): this.triggerList.__Tag
    //#output(void initComponents()): this.triggerList.listeners
    //#output(void initComponents()): this.triggerList.triggers
    //#output(void initComponents()): new ArrayList(ActionTriggersListPanel#2) num objects
    //#output(void initComponents()): this.triggerList.triggers.__Lock
    //#output(void initComponents()): new JButton(initComponents#5) num objects
    //#output(void initComponents()): new JComboBox(initComponents#1) num objects
    //#output(void initComponents()): new ListenerList(ActionTriggersListPanel#1) num objects
    //#output(void initComponents()): this.add
    //#output(void initComponents()): this.trigger
    //#output(void initComponents()): this.triggerList
    //#new obj(void initComponents()): new ActionTriggersListPanel(initComponents#6)
    //#new obj(void initComponents()): new ArrayList(ActionTriggersListPanel#2)
    //#new obj(void initComponents()): new JButton(initComponents#5)
    //#new obj(void initComponents()): new JComboBox(initComponents#1)
    //#new obj(void initComponents()): new ListenerList(ActionTriggersListPanel#1)
    //#presumption(void initComponents()): com.dmdirc.actions.ActionManager:getTypeGroups(...)@82 != null
    //#presumption(void initComponents()): init'ed(java.lang.Boolean.TRUE)
    //#post(void initComponents()): this.add == &new JButton(initComponents#5)
    //#post(void initComponents()): this.trigger == &new JComboBox(initComponents#1)
    //#post(void initComponents()): this.triggerList == &new ActionTriggersListPanel(initComponents#6)
    //#post(void initComponents()): new ActionTriggersListPanel(initComponents#6) num objects == 1
    //#post(void initComponents()): new ArrayList(ActionTriggersListPanel#2) num objects == 1
    //#post(void initComponents()): new JButton(initComponents#5) num objects == 1
    //#post(void initComponents()): new JComboBox(initComponents#1) num objects == 1
    //#post(void initComponents()): new ListenerList(ActionTriggersListPanel#1) num objects == 1
    //#post(void initComponents()): this.triggerList.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel
    //#post(void initComponents()): this.triggerList.listeners == &new ListenerList(ActionTriggersListPanel#1)
    //#post(void initComponents()): this.triggerList.triggers == &new ArrayList(ActionTriggersListPanel#2)
    //#post(void initComponents()): init'ed(this.triggerList.triggers.__Lock)
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.DefaultComboBoxModel:addElement
    //#unanalyzed(void initComponents()): Effects-of-calling:java.lang.String:instanceof
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.SwingUtilities:computeStringWidth
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.actions.interfaces.ActionType:instanceof
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.actions.interfaces.ActionType:getName
    //#unanalyzed(void initComponents()): Effects-of-calling:java.lang.Math:max
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.DefaultComboBoxModel
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.util.MapList:entrySet
    //#unanalyzed(void initComponents()): Effects-of-calling:java.util.Set:iterator
    //#unanalyzed(void initComponents()): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void initComponents()): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void initComponents()): Effects-of-calling:java.util.Map$Entry:getKey
    //#unanalyzed(void initComponents()): Effects-of-calling:java.util.Map$Entry:getValue
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.actions.ActionTypeComparator
    //#unanalyzed(void initComponents()): Effects-of-calling:java.util.Collections:sort
    //#unanalyzed(void initComponents()): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.DefaultListCellRenderer
    //#unanalyzed(void initComponents()): Effects-of-calling:net.miginfocom.swing.MigLayout
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersListPanel:setLayout
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersListPanel:setVisible
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersListPanel:removeAll
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.ui.IconManager:getIconManager
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.ui.IconManager:getIcon
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ImageButton
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ImageButton:addActionListener
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersListPanel:isEnabled
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ImageButton:setEnabled
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JLabel
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersListPanel:add
    //#unanalyzed(void initComponents()): Effects-of-calling:java.util.List:size
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JTextPane:getDocument
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JTextPane:setText
    //#unanalyzed(void initComponents()): Effects-of-calling:java.lang.String:isEmpty
    //#unanalyzed(void initComponents()): Effects-of-calling:java.lang.String:length
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.text.StyledDocument:setParagraphAttributes
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.text.DefaultStyledDocument
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JTextPane
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.text.html.HTMLEditorKit
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setEditorKit
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.plaf.basic.BasicTextPaneUI
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setUI
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.UIManager:getFont
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.text.html.HTMLDocument:getStyleSheet
    //#unanalyzed(void initComponents()): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(void initComponents()): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(void initComponents()): Effects-of-calling:java.awt.Font:getFamily
    //#unanalyzed(void initComponents()): Effects-of-calling:java.awt.Font:getSize
    //#unanalyzed(void initComponents()): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.text.html.StyleSheet:addRule
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setOpaque
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setEditable
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setHighlighter
    //#unanalyzed(void initComponents()): Effects-of-calling:java.awt.Insets
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setMargin
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.text.SimpleAttributeSet
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.text.StyleConstants:setAlignment
    //#unanalyzed(void initComponents()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JPanel
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.util.ListenerList
    //#unanalyzed(void initComponents()): Effects-of-calling:java.util.ArrayList

        trigger =
    //#ActionTriggersPanel.java:82: Warning: method not available - call not analyzed
    //#    call on Font com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:getFont()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel
    //#    method: void initComponents()
    //#    unanalyzed callee: Font com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:getFont()
    //#ActionTriggersPanel.java:82: Warning: method not available - call not analyzed
    //#    call on FontMetrics com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:getFontMetrics(Font)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel
    //#    method: void initComponents()
    //#    unanalyzed callee: FontMetrics com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:getFontMetrics(Font)
    //#ActionTriggersPanel.java:82: Warning: method not available - call not analyzed
    //#    call on MapList com.dmdirc.actions.ActionManager:getTypeGroups()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel
    //#    method: void initComponents()
    //#    unanalyzed callee: MapList com.dmdirc.actions.ActionManager:getTypeGroups()
                new JComboBox(new ActionTypeModel(getFontMetrics(getFont()),
                ActionManager.getTypeGroups()));
        //Only fire events on selection not on highlight
        trigger.putClientProperty("JComboBox.isTableCellEditor", Boolean.TRUE);
        trigger.setRenderer(new ActionTypeRenderer());
        trigger.setPrototypeDisplayValue("Testing");
        trigger.addPopupMenuListener(new PopupMenuListener() {
    //#ActionTriggersPanel.java:89: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1.com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1(ActionTriggersPanel)
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1(ActionTriggersPanel)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1(ActionTriggersPanel)): this
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1(ActionTriggersPanel)): this.this$0
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1(ActionTriggersPanel)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1(ActionTriggersPanel)): init'ed(this.this$0)
    //#ActionTriggersPanel.java:89: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1.com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1(ActionTriggersPanel)

            @Override
            public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
                JComboBox box = (JComboBox) e.getSource();
    //#ActionTriggersPanel.java:93: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1.popupMenuWillBecomeVisible(PopupMenuEvent)
    //#input(void popupMenuWillBecomeVisible(PopupMenuEvent)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTypeModel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTypeModel]
    //#input(void popupMenuWillBecomeVisible(PopupMenuEvent)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTypeModel.__Descendant_Table[others]
    //#input(void popupMenuWillBecomeVisible(PopupMenuEvent)): e
    //#input(void popupMenuWillBecomeVisible(PopupMenuEvent)): this
    //#input(void popupMenuWillBecomeVisible(PopupMenuEvent)): this.this$0
    //#input(void popupMenuWillBecomeVisible(PopupMenuEvent)): this.this$0.trigger
    //#pre[1] (void popupMenuWillBecomeVisible(PopupMenuEvent)): e != null
    //#pre[3] (void popupMenuWillBecomeVisible(PopupMenuEvent)): (soft) this.this$0 != null
    //#pre[4] (void popupMenuWillBecomeVisible(PopupMenuEvent)): (soft) this.trigger != null
    //#presumption(void popupMenuWillBecomeVisible(PopupMenuEvent)): (int) (java.awt.Dimension:getWidth(...)@101) in {-6_442_450_943..6_442_450_943}
    //#presumption(void popupMenuWillBecomeVisible(PopupMenuEvent)): (int) (java.awt.Dimension:getWidth(...)@101) + javax.swing.JComboBox:getModel(...).maxWidth@101 in range
    //#presumption(void popupMenuWillBecomeVisible(PopupMenuEvent)): (int) (java.awt.Dimension:getWidth(...)@101) + javax.swing.JComboBox:getModel(...).maxWidth@101 in {-2_147_483_648..4_294_967_295}
    //#presumption(void popupMenuWillBecomeVisible(PopupMenuEvent)): javax.swing.JComboBox:getModel(...).__Tag@101 == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTypeModel
    //#presumption(void popupMenuWillBecomeVisible(PopupMenuEvent)): javax.swing.JComboBox:getModel(...).__Tag@105 == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTypeModel
    //#presumption(void popupMenuWillBecomeVisible(PopupMenuEvent)): javax.swing.JComboBox:getModel(...)@101 != null
    //#presumption(void popupMenuWillBecomeVisible(PopupMenuEvent)): javax.swing.JComboBox:getModel(...)@105 != null
    //#presumption(void popupMenuWillBecomeVisible(PopupMenuEvent)): javax.swing.JComboBox:getUI(...)@94 != null
    //#presumption(void popupMenuWillBecomeVisible(PopupMenuEvent)): javax.swing.JComponent:getPreferredSize(...)@99 != null
    //#presumption(void popupMenuWillBecomeVisible(PopupMenuEvent)): javax.swing.JPopupMenu:getComponent(...)@98 != null
    //#presumption(void popupMenuWillBecomeVisible(PopupMenuEvent)): javax.swing.JScrollBar:getPreferredSize(...)@101 != null
    //#presumption(void popupMenuWillBecomeVisible(PopupMenuEvent)): javax.swing.JScrollPane:getVerticalScrollBar(...)@101 != null
    //#presumption(void popupMenuWillBecomeVisible(PopupMenuEvent)): javax.swing.event.PopupMenuEvent:getSource(...)@93 != null
    //#test_vector(void popupMenuWillBecomeVisible(PopupMenuEvent)): javax.swing.JScrollPane:instanceof(...)@100: {0}, {1}
                Object comp = box.getUI().getAccessibleChild(box, 0);
                if (!(comp instanceof JPopupMenu)) {
                    return;
                }
                JComponent scrollPane = (JComponent) ((JPopupMenu) comp).getComponent(0);
                Dimension size = scrollPane.getPreferredSize();
                if (scrollPane instanceof JScrollPane) {
                    size.width = ((ActionTypeModel) trigger.getModel()).
                            getMaxWidth() + (int) ((JScrollPane) scrollPane).
                            getVerticalScrollBar().getPreferredSize().getWidth();
                } else {
                    size.width = ((ActionTypeModel) trigger.getModel()).getMaxWidth();
                }
                scrollPane.setPreferredSize(size);
                scrollPane.setMaximumSize(size);
            }
    //#ActionTriggersPanel.java:109: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1.popupMenuWillBecomeVisible(PopupMenuEvent)

            @Override
            public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
            }
    //#ActionTriggersPanel.java:113: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1.popupMenuWillBecomeInvisible(PopupMenuEvent)
    //#ActionTriggersPanel.java:113: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1.popupMenuWillBecomeInvisible(PopupMenuEvent)

            @Override
            public void popupMenuCanceled(PopupMenuEvent e) {
            }
    //#ActionTriggersPanel.java:117: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1.popupMenuCanceled(PopupMenuEvent)
    //#ActionTriggersPanel.java:117: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1.popupMenuCanceled(PopupMenuEvent)
        });


        add = new JButton("Add");
        add.setEnabled(trigger.getSelectedIndex() != -1);

        triggerList = new ActionTriggersListPanel();
    }
    //#ActionTriggersPanel.java:125: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.initComponents()

    /** Adds the listeners. */
    private void addListeners() {
        add.addActionListener(this);
    //#ActionTriggersPanel.java:129: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.addListeners()
    //#input(void addListeners()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel]
    //#input(void addListeners()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Descendant_Table[others]
    //#input(void addListeners()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Dispatch_Table.addTriggerListener(Lcom/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggerRemovalListener;)V
    //#input(void addListeners()): this
    //#input(void addListeners()): this.add
    //#input(void addListeners()): this.trigger
    //#input(void addListeners()): this.triggerList
    //#input(void addListeners()): this.triggerList.__Tag
    //#input(void addListeners()): this.triggerList.listeners
    //#pre[2] (void addListeners()): this.add != null
    //#pre[3] (void addListeners()): this.trigger != null
    //#pre[4] (void addListeners()): this.triggerList != null
    //#pre[5] (void addListeners()): this.triggerList.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel
    //#pre[6] (void addListeners()): (soft) this.triggerList.listeners != null
    //#unanalyzed(void addListeners()): Effects-of-calling:com.dmdirc.util.ListenerList:add
        trigger.addActionListener(this);
        triggerList.addTriggerListener(this);

        triggerList.addPropertyChangeListener("triggerCount", this);
    //#ActionTriggersPanel.java:133: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersListPanel:addPropertyChangeListener(String, PropertyChangeListener)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel
    //#    method: void addListeners()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersListPanel:addPropertyChangeListener(String, PropertyChangeListener)
    }
    //#ActionTriggersPanel.java:134: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.addListeners()

    /** Lays out the components. */
    private void layoutComponents() {
        setLayout(new MigLayout("fill, pack"));
    //#ActionTriggersPanel.java:138: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.layoutComponents()
    //#ActionTriggersPanel.java:138: Warning: method not available - call not analyzed
    //#    call on void net.miginfocom.swing.MigLayout(String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel
    //#    method: void layoutComponents()
    //#    unanalyzed callee: void net.miginfocom.swing.MigLayout(String)
    //#ActionTriggersPanel.java:138: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:setLayout(LayoutManager)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel
    //#    method: void layoutComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:setLayout(LayoutManager)
    //#input(void layoutComponents()): "; "._tainted
    //#input(void layoutComponents()): "body { font-family: "._tainted
    //#input(void layoutComponents()): "font-size: "._tainted
    //#input(void layoutComponents()): "pt; }"._tainted
    //#input(void layoutComponents()): com/dmdirc/addons/ui_swing/components/text/TextLabel.__Descendant_Table[com/dmdirc/addons/ui_swing/components/text/TextLabel]
    //#input(void layoutComponents()): com/dmdirc/addons/ui_swing/components/text/TextLabel.__Descendant_Table[others]
    //#input(void layoutComponents()): com/dmdirc/addons/ui_swing/components/text/TextLabel.__Dispatch_Table.getDocument()Ljavax/swing/text/StyledDocument;
    //#input(void layoutComponents()): com/dmdirc/addons/ui_swing/components/text/TextLabel.__Dispatch_Table.setText(Ljava/lang/String;)V
    //#input(void layoutComponents()): this
    //#input(void layoutComponents()): this.add
    //#input(void layoutComponents()): this.trigger
    //#input(void layoutComponents()): this.triggerList
    //#pre[2] (void layoutComponents()): init'ed(this.add)
    //#pre[3] (void layoutComponents()): init'ed(this.trigger)
    //#pre[4] (void layoutComponents()): init'ed(this.triggerList)
    //#unanalyzed(void layoutComponents()): Effects-of-calling:javax.swing.JTextPane:getDocument
    //#unanalyzed(void layoutComponents()): Effects-of-calling:javax.swing.JTextPane:setText
    //#unanalyzed(void layoutComponents()): Effects-of-calling:java.lang.String:isEmpty
    //#unanalyzed(void layoutComponents()): Effects-of-calling:java.lang.String:length
    //#unanalyzed(void layoutComponents()): Effects-of-calling:javax.swing.text.StyledDocument:setParagraphAttributes
    //#unanalyzed(void layoutComponents()): Effects-of-calling:javax.swing.text.DefaultStyledDocument
    //#unanalyzed(void layoutComponents()): Effects-of-calling:javax.swing.JTextPane
    //#unanalyzed(void layoutComponents()): Effects-of-calling:javax.swing.text.html.HTMLEditorKit
    //#unanalyzed(void layoutComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setEditorKit
    //#unanalyzed(void layoutComponents()): Effects-of-calling:javax.swing.plaf.basic.BasicTextPaneUI
    //#unanalyzed(void layoutComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setUI
    //#unanalyzed(void layoutComponents()): Effects-of-calling:javax.swing.UIManager:getFont
    //#unanalyzed(void layoutComponents()): Effects-of-calling:javax.swing.text.html.HTMLDocument:getStyleSheet
    //#unanalyzed(void layoutComponents()): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(void layoutComponents()): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(void layoutComponents()): Effects-of-calling:java.awt.Font:getFamily
    //#unanalyzed(void layoutComponents()): Effects-of-calling:java.awt.Font:getSize
    //#unanalyzed(void layoutComponents()): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(void layoutComponents()): Effects-of-calling:javax.swing.text.html.StyleSheet:addRule
    //#unanalyzed(void layoutComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setOpaque
    //#unanalyzed(void layoutComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setEditable
    //#unanalyzed(void layoutComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setHighlighter
    //#unanalyzed(void layoutComponents()): Effects-of-calling:java.awt.Insets
    //#unanalyzed(void layoutComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setMargin
    //#unanalyzed(void layoutComponents()): Effects-of-calling:javax.swing.text.SimpleAttributeSet
    //#unanalyzed(void layoutComponents()): Effects-of-calling:javax.swing.text.StyleConstants:setAlignment

        add(new TextLabel("This action will be triggered when any of these events occurs: "),
    //#ActionTriggersPanel.java:140: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:add(Component, Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel
    //#    method: void layoutComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:add(Component, Object)
                "growx, pushx, wrap, spanx");
        add(triggerList, "grow, push, wrap, spanx");
    //#ActionTriggersPanel.java:142: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:add(Component, Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel
    //#    method: void layoutComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:add(Component, Object)
        add(trigger, "growx, pushx");
    //#ActionTriggersPanel.java:143: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:add(Component, Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel
    //#    method: void layoutComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:add(Component, Object)
        add(add, "right");
    //#ActionTriggersPanel.java:144: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:add(Component, Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel
    //#    method: void layoutComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:add(Component, Object)
    }
    //#ActionTriggersPanel.java:145: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.layoutComponents()

    /**
     * Returns the primary trigger for this panel.
     * 
     * @return Primary trigger or null
     */
    public ActionType getPrimaryTrigger() {
        if (triggerList.getTriggerCount() == 0) {
    //#ActionTriggersPanel.java:153: method: ActionType com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.getPrimaryTrigger()
    //#input(ActionType getPrimaryTrigger()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel]
    //#input(ActionType getPrimaryTrigger()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Descendant_Table[others]
    //#input(ActionType getPrimaryTrigger()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Dispatch_Table.getTrigger(I)Lcom/dmdirc/actions/interfaces/ActionType;
    //#input(ActionType getPrimaryTrigger()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Dispatch_Table.getTriggerCount()I
    //#input(ActionType getPrimaryTrigger()): this
    //#input(ActionType getPrimaryTrigger()): this.triggerList
    //#input(ActionType getPrimaryTrigger()): this.triggerList.__Tag
    //#input(ActionType getPrimaryTrigger()): this.triggerList.triggers
    //#output(ActionType getPrimaryTrigger()): return_value
    //#pre[2] (ActionType getPrimaryTrigger()): this.triggerList != null
    //#pre[3] (ActionType getPrimaryTrigger()): this.triggerList.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel
    //#pre[4] (ActionType getPrimaryTrigger()): this.triggerList.triggers != null
    //#post(ActionType getPrimaryTrigger()): init'ed(return_value)
    //#unanalyzed(ActionType getPrimaryTrigger()): Effects-of-calling:java.util.List:size
    //#unanalyzed(ActionType getPrimaryTrigger()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(ActionType getPrimaryTrigger()): Effects-of-calling:java.util.List:get
    //#test_vector(ActionType getPrimaryTrigger()): java.util.List:size(...)@203: {-2_147_483_648..-1, 1..4_294_967_295}, {0}
            return null;
        }
        return triggerList.getTrigger(0);
    //#ActionTriggersPanel.java:156: end of method: ActionType com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.getPrimaryTrigger()
    }
    
    /**
     * Returns the list of triggers.
     * 
     * @return Trigger list
     */
    public ActionType[] getTriggers() {
        final List<ActionType> triggers = triggerList.getTriggers();
    //#ActionTriggersPanel.java:165: method: ActionType[] com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.getTriggers()
    //#input(ActionType[] getTriggers()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel]
    //#input(ActionType[] getTriggers()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Descendant_Table[others]
    //#input(ActionType[] getTriggers()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Dispatch_Table.getTriggers()Ljava/util/List;
    //#input(ActionType[] getTriggers()): this
    //#input(ActionType[] getTriggers()): this.triggerList
    //#input(ActionType[] getTriggers()): this.triggerList.__Tag
    //#input(ActionType[] getTriggers()): this.triggerList.triggers
    //#output(ActionType[] getTriggers()): return_value
    //#pre[2] (ActionType[] getTriggers()): this.triggerList != null
    //#pre[3] (ActionType[] getTriggers()): this.triggerList.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel
    //#pre[4] (ActionType[] getTriggers()): this.triggerList.triggers != null
    //#presumption(ActionType[] getTriggers()): java.util.List:size(...)@166 >= 0
    //#post(ActionType[] getTriggers()): init'ed(return_value)
    //#unanalyzed(ActionType[] getTriggers()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
        return triggers.toArray(new ActionType[triggers.size()]);
    //#ActionTriggersPanel.java:166: end of method: ActionType[] com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.getTriggers()
    }
    
    /**
     * Sets the triggers.
     * 
     * @param triggers Sets the triggers.
     */
    void setTriggers(final ActionType[] triggers) {
        triggerList.clearTriggers();
    //#ActionTriggersPanel.java:175: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.setTriggers(ActionType[])
    //#input(void setTriggers(ActionType[])): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel]
    //#input(void setTriggers(ActionType[])): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Descendant_Table[others]
    //#input(void setTriggers(ActionType[])): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Dispatch_Table.addTrigger(Lcom/dmdirc/actions/interfaces/ActionType;)V
    //#input(void setTriggers(ActionType[])): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Dispatch_Table.clearTriggers()V
    //#input(void setTriggers(ActionType[])): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Dispatch_Table.delTrigger(Lcom/dmdirc/actions/interfaces/ActionType;)V
    //#input(void setTriggers(ActionType[])): this
    //#input(void setTriggers(ActionType[])): this.triggerList
    //#input(void setTriggers(ActionType[])): this.triggerList.__Tag
    //#input(void setTriggers(ActionType[])): this.triggerList.triggers
    //#input(void setTriggers(ActionType[])): triggers
    //#input(void setTriggers(ActionType[])): triggers.length
    //#input(void setTriggers(ActionType[])): triggers[0..4_294_967_295]
    //#pre[2] (void setTriggers(ActionType[])): this.triggerList != null
    //#pre[4] (void setTriggers(ActionType[])): this.triggerList.triggers != null
    //#pre[5] (void setTriggers(ActionType[])): triggers != null
    //#pre[6] (void setTriggers(ActionType[])): triggers.length <= 4_294_967_295
    //#pre[3] (void setTriggers(ActionType[])): (soft) this.triggerList.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel
    //#pre[7] (void setTriggers(ActionType[])): (soft) init'ed(triggers[0..4_294_967_295])
    //#unanalyzed(void setTriggers(ActionType[])): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(void setTriggers(ActionType[])): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void setTriggers(ActionType[])): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void setTriggers(ActionType[])): Effects-of-calling:javax.swing.SwingUtilities:invokeLater
        
        for (ActionType localTrigger : triggers) {
            triggerList.addTrigger(localTrigger);
        }
        
        repopulateTriggers();
    }
    //#ActionTriggersPanel.java:182: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.setTriggers(ActionType[])

    /** 
     * {@inheritDoc}
     * 
     * @param e Action event
     */
    @Override
    public void actionPerformed(final ActionEvent e) {
        if (e.getSource() == trigger) {
    //#ActionTriggersPanel.java:191: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.actionPerformed(ActionEvent)
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel]
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Descendant_Table[others]
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Dispatch_Table.addTrigger(Lcom/dmdirc/actions/interfaces/ActionType;)V
    //#input(void actionPerformed(ActionEvent)): e
    //#input(void actionPerformed(ActionEvent)): this
    //#input(void actionPerformed(ActionEvent)): this.add
    //#input(void actionPerformed(ActionEvent)): this.trigger
    //#input(void actionPerformed(ActionEvent)): this.triggerList
    //#input(void actionPerformed(ActionEvent)): this.triggerList.__Tag
    //#pre[1] (void actionPerformed(ActionEvent)): e != null
    //#pre[4] (void actionPerformed(ActionEvent)): this.trigger != null
    //#pre[3] (void actionPerformed(ActionEvent)): (soft) this.add != null
    //#pre[5] (void actionPerformed(ActionEvent)): (soft) this.triggerList != null
    //#pre[6] (void actionPerformed(ActionEvent)): (soft) this.triggerList.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.SwingUtilities:invokeLater
            add.setEnabled(trigger.getSelectedIndex() != -1);
        } else {
            triggerList.addTrigger((ActionType) trigger.getSelectedItem());
            repopulateTriggers();
        }
    }
    //#ActionTriggersPanel.java:197: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.actionPerformed(ActionEvent)

    /** {@inheritDoc} */
    @Override
    public void triggerRemoved(final ActionType trigger) {
        repopulateTriggers();
    //#ActionTriggersPanel.java:202: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.triggerRemoved(ActionType)
    //#input(void triggerRemoved(ActionType)): this
    //#unanalyzed(void triggerRemoved(ActionType)): Effects-of-calling:javax.swing.SwingUtilities:invokeLater
    }
    //#ActionTriggersPanel.java:203: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.triggerRemoved(ActionType)

    /**
     * Repopulates the triggers in the panel.
     */
    private void repopulateTriggers() {
        SwingUtilities.invokeLater(new Runnable() {
    //#ActionTriggersPanel.java:209: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$2.com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$2(ActionTriggersPanel)
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$2(ActionTriggersPanel)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$2(ActionTriggersPanel)): this
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$2(ActionTriggersPanel)): this.this$0
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$2(ActionTriggersPanel)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$2(ActionTriggersPanel)): init'ed(this.this$0)
    //#ActionTriggersPanel.java:209: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$2.com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$2(ActionTriggersPanel)
    //#ActionTriggersPanel.java:209: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.repopulateTriggers()
    //#input(void repopulateTriggers()): this

            /** {@inheritDoc} */
            @Override
            public void run() {
                ((ActionTypeModel) trigger.getModel()).removeAllElements();
    //#ActionTriggersPanel.java:214: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$2.run()
    //#ActionTriggersPanel.java:214: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTypeModel:removeAllElements()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$2
    //#    method: void run()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTypeModel:removeAllElements()
    //#input(void run()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel]
    //#input(void run()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Descendant_Table[others]
    //#input(void run()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Dispatch_Table.getTrigger(I)Lcom/dmdirc/actions/interfaces/ActionType;
    //#input(void run()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Dispatch_Table.getTriggerCount()I
    //#input(void run()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Dispatch_Table.getTriggers()Ljava/util/List;
    //#input(void run()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTypeModel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTypeModel]
    //#input(void run()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTypeModel.__Descendant_Table[others]
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.trigger
    //#input(void run()): this.this$0.triggerList
    //#input(void run()): this.this$0.triggerList.__Tag
    //#input(void run()): this.this$0.triggerList.triggers
    //#pre[2] (void run()): this.this$0 != null
    //#pre[3] (void run()): this.trigger != null
    //#pre[4] (void run()): this.triggerList != null
    //#pre[5] (void run()): this.triggerList.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel
    //#pre[6] (void run()): this.triggerList.triggers != null
    //#presumption(void run()): com.dmdirc.actions.ActionManager:getCompatibleTypes(...)@221 != null
    //#presumption(void run()): com.dmdirc.actions.ActionManager:getTypeGroups(...)@217 != null
    //#presumption(void run()): javax.swing.JComboBox:getModel(...).__Tag@214 == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTypeModel
    //#presumption(void run()): javax.swing.JComboBox:getModel(...).__Tag@217 == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTypeModel
    //#presumption(void run()): javax.swing.JComboBox:getModel(...).__Tag@224 == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTypeModel
    //#presumption(void run()): javax.swing.JComboBox:getModel(...)@214 != null
    //#presumption(void run()): javax.swing.JComboBox:getModel(...)@217 != null
    //#presumption(void run()): javax.swing.JComboBox:getModel(...)@218 != null
    //#presumption(void run()): javax.swing.JComboBox:getModel(...)@224 != null
    //#presumption(void run()): javax.swing.JComboBox:getModel(...)@227 != null
    //#unanalyzed(void run()): Effects-of-calling:javax.swing.DefaultComboBoxModel:addElement
    //#unanalyzed(void run()): Effects-of-calling:java.lang.String:instanceof
    //#unanalyzed(void run()): Effects-of-calling:javax.swing.SwingUtilities:computeStringWidth
    //#unanalyzed(void run()): Effects-of-calling:com.dmdirc.actions.interfaces.ActionType:instanceof
    //#unanalyzed(void run()): Effects-of-calling:com.dmdirc.actions.interfaces.ActionType:getName
    //#unanalyzed(void run()): Effects-of-calling:java.lang.Math:max
    //#unanalyzed(void run()): Effects-of-calling:com.dmdirc.util.MapList:entrySet
    //#unanalyzed(void run()): Effects-of-calling:java.util.Set:iterator
    //#unanalyzed(void run()): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void run()): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void run()): Effects-of-calling:java.util.Map$Entry:getKey
    //#unanalyzed(void run()): Effects-of-calling:java.util.Map$Entry:getValue
    //#unanalyzed(void run()): Effects-of-calling:com.dmdirc.actions.ActionTypeComparator
    //#unanalyzed(void run()): Effects-of-calling:java.util.Collections:sort
    //#unanalyzed(void run()): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(void run()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTypeModel:removeAllElements
    //#unanalyzed(void run()): Effects-of-calling:java.util.List:size
    //#unanalyzed(void run()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(void run()): Effects-of-calling:java.util.List:get
    //#test_vector(void run()): java.util.Iterator:hasNext(...)@221: {0}, {1}
    //#test_vector(void run()): java.util.List:contains(...)@223: {1}, {0}
    //#test_vector(void run()): java.util.List:size(...)@203: {-2_147_483_648..-1, 1..4_294_967_295}, {0}

                if (triggerList.getTriggerCount() == 0) {
                    ((ActionTypeModel) trigger.getModel()).setTypeGroup(ActionManager.getTypeGroups());
    //#ActionTriggersPanel.java:217: Warning: method not available - call not analyzed
    //#    call on MapList com.dmdirc.actions.ActionManager:getTypeGroups()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$2
    //#    method: void run()
    //#    unanalyzed callee: MapList com.dmdirc.actions.ActionManager:getTypeGroups()
                    trigger.setEnabled((trigger.getModel().getSize() > 0));
                    return;
                }
                for (ActionType thisType : ActionManager.getCompatibleTypes(triggerList.getTrigger(0))) {
    //#ActionTriggersPanel.java:221: Warning: method not available - call not analyzed
    //#    call on List com.dmdirc.actions.ActionManager:getCompatibleTypes(ActionType)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$2
    //#    method: void run()
    //#    unanalyzed callee: List com.dmdirc.actions.ActionManager:getCompatibleTypes(ActionType)
                    final List<ActionType> types = triggerList.getTriggers();
                    if (!types.contains(thisType)) {
                        ((ActionTypeModel) trigger.getModel()).addElement(thisType);
                    }
                }
                trigger.setEnabled(trigger.getModel().getSize() > 0);
            }
    //#ActionTriggersPanel.java:228: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$2.run()
        });
    }
    //#ActionTriggersPanel.java:230: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.repopulateTriggers()

    /** {@inheritDoc} */
    @Override
    public void setEnabled(final boolean enabled) {
        triggerList.setEnabled(enabled);
    //#ActionTriggersPanel.java:235: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.setEnabled(bool)
    //#input(void setEnabled(bool)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel]
    //#input(void setEnabled(bool)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Descendant_Table[others]
    //#input(void setEnabled(bool)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Dispatch_Table.setEnabled(Z)V
    //#input(void setEnabled(bool)): enabled
    //#input(void setEnabled(bool)): this
    //#input(void setEnabled(bool)): this.add
    //#input(void setEnabled(bool)): this.trigger
    //#input(void setEnabled(bool)): this.triggerList
    //#input(void setEnabled(bool)): this.triggerList.__Tag
    //#pre[3] (void setEnabled(bool)): this.add != null
    //#pre[4] (void setEnabled(bool)): this.trigger != null
    //#pre[5] (void setEnabled(bool)): this.triggerList != null
    //#pre[6] (void setEnabled(bool)): this.triggerList.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel
    //#presumption(void setEnabled(bool)): javax.swing.JComboBox:getModel(...)@238 != null
    //#unanalyzed(void setEnabled(bool)): Effects-of-calling:javax.swing.SwingUtilities:invokeLater
    //#unanalyzed(void setEnabled(bool)): Effects-of-calling:javax.swing.JPanel:setEnabled
    //#test_vector(void setEnabled(bool)): enabled: {0}, {1}
    //#test_vector(void setEnabled(bool)): javax.swing.ComboBoxModel:getSize(...)@238: {-2_147_483_648..0}, {1..4_294_967_295}
        if (enabled) {
        add.setEnabled(trigger.getSelectedIndex() != -1);
            if (trigger.getModel().getSize() > 0) {
               trigger.setEnabled(enabled);
            }
        } else {
            add.setEnabled(false);
            trigger.setEnabled(false);
        }
    }
    //#ActionTriggersPanel.java:245: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.setEnabled(bool)

    /** {@inheritDoc} */
    @Override
    public void propertyChange(final PropertyChangeEvent evt) {
        firePropertyChange("validationResult", (Integer) evt.getOldValue() > 0,
    //#ActionTriggersPanel.java:250: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.propertyChange(PropertyChangeEvent)
    //#ActionTriggersPanel.java:250: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:firePropertyChange(String, bool, bool)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel
    //#    method: void propertyChange(PropertyChangeEvent)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:firePropertyChange(String, bool, bool)
    //#input(void propertyChange(PropertyChangeEvent)): evt
    //#input(void propertyChange(PropertyChangeEvent)): this
    //#pre[1] (void propertyChange(PropertyChangeEvent)): evt != null
    //#presumption(void propertyChange(PropertyChangeEvent)): java.beans.PropertyChangeEvent:getNewValue(...)@250 != null
    //#presumption(void propertyChange(PropertyChangeEvent)): java.beans.PropertyChangeEvent:getOldValue(...)@250 != null
                (Integer) evt.getNewValue() > 0);
    }
    //#ActionTriggersPanel.java:252: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.propertyChange(PropertyChangeEvent)
    
    /** Validates the triggers. */
    public void validateTriggers() {
        triggerList.validateTriggers();
    //#ActionTriggersPanel.java:256: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.validateTriggers()
    //#input(void validateTriggers()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel]
    //#input(void validateTriggers()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Descendant_Table[others]
    //#input(void validateTriggers()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel.__Dispatch_Table.validateTriggers()V
    //#input(void validateTriggers()): this
    //#input(void validateTriggers()): this.triggerList
    //#input(void validateTriggers()): this.triggerList.__Tag
    //#input(void validateTriggers()): this.triggerList.triggers
    //#pre[2] (void validateTriggers()): this.triggerList != null
    //#pre[3] (void validateTriggers()): this.triggerList.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersListPanel
    //#pre[4] (void validateTriggers()): this.triggerList.triggers != null
    //#unanalyzed(void validateTriggers()): Effects-of-calling:java.util.List:size
    //#unanalyzed(void validateTriggers()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersListPanel:firePropertyChange
    }
    //#ActionTriggersPanel.java:257: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.validateTriggers()
}
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$2__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersPanel$2]
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$2__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$2__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersPanel$2] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$2__static_init): __Dispatch_Table.run()V == &run
    //#ActionTriggersPanel.java:: end of method: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$2.com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$2__static_init
    //#ActionTriggersPanel.java:: end of class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$2
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersPanel$1]
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1__static_init): __Dispatch_Table.popupMenuCanceled(Ljavax/swing/event/PopupMenuEvent;)V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1__static_init): __Dispatch_Table.popupMenuWillBecomeInvisible(Ljavax/swing/event/PopupMenuEvent;)V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1__static_init): __Dispatch_Table.popupMenuWillBecomeVisible(Ljavax/swing/event/PopupMenuEvent;)V
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersPanel$1] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1__static_init): __Dispatch_Table.popupMenuCanceled(Ljavax/swing/event/PopupMenuEvent;)V == &popupMenuCanceled
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1__static_init): __Dispatch_Table.popupMenuWillBecomeInvisible(Ljavax/swing/event/PopupMenuEvent;)V == &popupMenuWillBecomeInvisible
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1__static_init): __Dispatch_Table.popupMenuWillBecomeVisible(Ljavax/swing/event/PopupMenuEvent;)V == &popupMenuWillBecomeVisible
    //#ActionTriggersPanel.java:: end of method: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1.com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1__static_init
    //#ActionTriggersPanel.java:: end of class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel$1
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersPanel]
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Dispatch_Table.actionPerformed(Ljava/awt/event/ActionEvent;)V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Dispatch_Table.addListeners()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Dispatch_Table.getPrimaryTrigger()Lcom/dmdirc/actions/interfaces/ActionType;
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Dispatch_Table.getTriggers()[Lcom/dmdirc/actions/interfaces/ActionType;
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Dispatch_Table.initComponents()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Dispatch_Table.layoutComponents()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Dispatch_Table.propertyChange(Ljava/beans/PropertyChangeEvent;)V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Dispatch_Table.repopulateTriggers()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Dispatch_Table.setEnabled(Z)V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Dispatch_Table.setTriggers([Lcom/dmdirc/actions/interfaces/ActionType;)V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Dispatch_Table.triggerRemoved(Lcom/dmdirc/actions/interfaces/ActionType;)V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Dispatch_Table.validateTriggers()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggerRemovalListener.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersPanel]
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersPanel] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggerRemovalListener.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionTriggersPanel] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Dispatch_Table.actionPerformed(Ljava/awt/event/ActionEvent;)V == &actionPerformed
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Dispatch_Table.addListeners()V == &addListeners
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Dispatch_Table.getPrimaryTrigger()Lcom/dmdirc/actions/interfaces/ActionType; == &getPrimaryTrigger
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Dispatch_Table.getTriggers()[Lcom/dmdirc/actions/interfaces/ActionType; == &getTriggers
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Dispatch_Table.initComponents()V == &initComponents
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Dispatch_Table.layoutComponents()V == &layoutComponents
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Dispatch_Table.propertyChange(Ljava/beans/PropertyChangeEvent;)V == &propertyChange
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Dispatch_Table.repopulateTriggers()V == &repopulateTriggers
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Dispatch_Table.setEnabled(Z)V == &setEnabled
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Dispatch_Table.setTriggers([Lcom/dmdirc/actions/interfaces/ActionType;)V == &setTriggers
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Dispatch_Table.triggerRemoved(Lcom/dmdirc/actions/interfaces/ActionType;)V == &triggerRemoved
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init): __Dispatch_Table.validateTriggers()V == &validateTriggers
    //#ActionTriggersPanel.java:: end of method: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel.com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel__static_init
    //#ActionTriggersPanel.java:: end of class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel
