package org.hudson.trayapp.gui;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import javax.swing.JSplitPane;
import javax.swing.JList;
import java.awt.Dimension;
import java.awt.CardLayout;
import javax.swing.BorderFactory;
import javax.swing.border.EtchedBorder;
import javax.swing.JFileChooser;
import javax.swing.ListSelectionModel;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.Rectangle;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;
import javax.swing.event.ListDataListener;
import java.awt.Font;
import java.awt.Color;
import java.awt.GridLayout;
import javax.swing.JTabbedPane;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.ImageIcon;
import javax.swing.JCheckBox;
import org.hudson.trayapp.HudsonTrayApp;
import org.hudson.trayapp.actions.FileExecutor;
import org.hudson.trayapp.model.Job;
import org.hudson.trayapp.model.Model;
import org.hudson.trayapp.model.Preferences;
import org.hudson.trayapp.model.Server;
public class ConfigurationPanel extends JPanel {
private JSplitPane configurationSplitPane = null;
private JList configurationList = null;
private JPanel configurationRightPanel = null;
private JPanel serverConfigurationPane = null;
private JPanel serverConfigurationTopPane = null;
private JPanel serverPanel = null;
private JPanel spacingPanel = null;
private JList serverList = null;
private JLabel topLabel = null;
private JLabel westLabel = null;
private JLabel eastLabel = null;
private JPanel bottomPanel = null;
private JButton addServerButton = null;
private JButton removeServerButton = null;
private JPanel serverDetailsPane = null;
private JPanel serverNamePanel = null;
private JLabel serverNameLabel = null;
private JLabel serverLocationLabel = null;
private JTextField serverNameField = null;
private JTextField serverLocationField = null;
private JPanel serverChangesApplyPanel = null;
private JButton applyServerChangesButton = null;
private JPanel updatePanel = null;
private JLabel updateFrequencyLabel = null;
private JPanel updateFrequencyPanel = null;
private JTextField updateField = null;
private JLabel updateFrequencyTimeScaleLabel = null;
private JLabel updateFrequencyEveryLabel = null;
private JPanel actionConfigurationPanel = null;
private JTabbedPane actionTabbedPane = null;
private JPanel redToActionPanel = null;
private JLabel actionLabel = null;
private JPanel yellowToActionPanel = null;
private JLabel actionLabel1 = null;
private JPanel blueToActionPanel = null;
private JLabel actionLabel2 = null;
private JPanel greyToActionPanel = null;
private JLabel actionLabel3 = null;
private JPanel uiConfigurationPanel = null;
private JPanel trayIconConfigurationPanel = null;
private JLabel showHealthLabel = null;
private JCheckBox showHealthCB = null;
private JLabel showAnimatedBuildLabel = null;
private JCheckBox showAnimatedBuildCB = null;
private JLabel showPopupNotificationLabel = null;
private JCheckBox showPopupNotificationCB = null;
private JTextField redToRedUnchangedField = null;
private JTextField redToRedChangedField = null;
private JTextField redToRedAnimeUnchangedField = null;
private JTextField redToRedAnimeChangedField = null;
private JTextField redAnimeToRedUnchangedField = null;
private JTextField redAnimeToRedChangedField = null;
private JTextField redAnimeToRedAnimeUnchangedField = null;
private JTextField redAnimeToRedAnimeChangedField = null;
private JTextField redToYellowUnchangedField = null;
private JTextField redToYellowChangedField = null;
private JTextField redToYellowAnimeUnchangedField = null;
private JTextField redToYellowAnimeChangedField = null;
private JTextField redAnimeToYellowUnchangedField = null;
private JTextField redAnimeToYellowChangedField = null;
private JTextField redAnimeToYellowAnimeUnchangedField = null;
private JTextField redAnimeToYellowAnimeChangedField = null;
private JTextField redToBlueUnchangedField = null;
private JTextField redToBlueChangedField = null;
private JTextField redToBlueAnimeUnchangedField = null;
private JTextField redToBlueAnimeChangedField = null;
private JTextField redToGreyUnchangedField = null;
private JTextField redToGreyChangedField = null;
private JTextField redAnimeToBlueUnchangedField = null;
private JTextField redAnimeToBlueChangedField = null;
private JTextField redAnimeToBlueAnimeUnchangedField = null;
private JTextField redAnimeToBlueAnimeChangedField = null;
private JTextField redAnimeToGreyUnchangedField = null;
private JTextField redAnimeToGreyChangedField = null;
private JTextField yellowToRedUnchangedField = null;
private JTextField yellowToRedChangedField = null;
private JTextField yellowToRedAnimeUnchangedField = null;
private JTextField yellowToRedAnimeChangedField = null;
private JTextField yellowAnimeToRedUnchangedField = null;
private JTextField yellowAnimeToRedChangedField = null;
private JTextField yellowAnimeToRedAnimeUnchangedField = null;
private JTextField yellowAnimeToRedAnimeChangedField = null;
private JTextField yellowToYellowUnchangedField = null;
private JTextField yellowToYellowChangedField = null;
private JTextField yellowToYellowAnimeUnchangedField = null;
private JTextField yellowToYellowAnimeChangedField = null;
private JTextField yellowAnimeToYellowUnchangedField = null;
private JTextField yellowAnimeToYellowChangedField = null;
private JTextField yellowAnimeToYellowAnimeUnchangedField = null;
private JTextField yellowAnimeToYellowAnimeChangedField = null;
private JTextField yellowToBlueUnchangedField = null;
private JTextField yellowToBlueChangedField = null;
private JTextField yellowToBlueAnimeUnchangedField = null;
private JTextField yellowToBlueAnimeChangedField = null;
private JTextField yellowToGreyUnchangedField = null;
private JTextField yellowToGreyChangedField = null;
private JTextField yellowAnimeToBlueUnchangedField = null;
private JTextField yellowAnimeToBlueChangedField = null;
private JTextField yellowAnimeToBlueAnimeUnchangedField = null;
private JTextField yellowAnimeToBlueAnimeChangedField = null;
private JTextField yellowAnimeToGreyUnchangedField = null;
private JTextField yellowAnimeToGreyChangedField = null;
private JTextField blueToRedUnchangedField = null;
private JTextField blueToRedChangedField = null;
private JTextField blueToRedAnimeUnchangedField = null;
private JTextField blueToRedAnimeChangedField = null;
private JTextField blueAnimeToRedUnchangedField = null;
private JTextField blueAnimeToRedChangedField = null;
private JTextField blueAnimeToRedAnimeUnchangedField = null;
private JTextField blueAnimeToRedAnimeChangedField = null;
private JTextField blueToYellowUnchangedField = null;
private JTextField blueToYellowChangedField = null;
private JTextField blueToYellowAnimeUnchangedField = null;
private JTextField blueToYellowAnimeChangedField = null;
private JTextField blueAnimeToYellowUnchangedField = null;
private JTextField blueAnimeToYellowChangedField = null;
private JTextField blueAnimeToYellowAnimeUnchangedField = null;
private JTextField blueAnimeToYellowAnimeChangedField = null;
private JTextField blueToBlueUnchangedField = null;
private JTextField blueToBlueChangedField = null;
private JTextField blueToBlueAnimeUnchangedField = null;
private JTextField blueToBlueAnimeChangedField = null;
private JTextField blueToGreyUnchangedField = null;
private JTextField blueToGreyChangedField = null;
private JTextField blueAnimeToBlueUnchangedField = null;
private JTextField blueAnimeToBlueChangedField = null;
private JTextField blueAnimeToBlueAnimeUnchangedField = null;
private JTextField blueAnimeToBlueAnimeChangedField = null;
private JTextField blueAnimeToGreyUnchangedField = null;
private JTextField blueAnimeToGreyChangedField = null;
private JTextField greyToRedUnchangedField = null;
private JTextField greyToRedChangedField = null;
private JTextField greyToRedAnimeUnchangedField = null;
private JTextField greyToRedAnimeChangedField = null;
private JTextField greyToYellowUnchangedField = null;
private JTextField greyToYellowChangedField = null;
private JTextField greyToYellowAnimeUnchangedField = null;
private JTextField greyToYellowAnimeChangedField = null;
private JTextField greyToBlueUnchangedField = null;
private JTextField greyToBlueChangedField = null;
private JTextField greyToBlueAnimeUnchangedField = null;
private JTextField greyToBlueAnimeChangedField = null;
private JTextField greyToGreyUnchangedField = null;
private JTextField greyToGreyChangedField = null;
private JPanel configurationBottomPanel = null;
private Preferences prefs = null;
private Model model = null;
private ServerListModel serverListModel = null;
/**
* This method initializes
*
*/
public ConfigurationPanel() {
super();
initialize();
}
/**
* This method initializes this
*
*/
private void initialize() {
this.setLayout(new BorderLayout());
this.add(getConfigurationSplitPane(), BorderLayout.CENTER);
this.add(getConfigurationBottomPanel(), BorderLayout.SOUTH);
}
/**
* This method initializes configurationSplitPane
*
* @return javax.swing.JSplitPane
*/
private JSplitPane getConfigurationSplitPane() {
if (configurationSplitPane == null) {
configurationSplitPane = new JSplitPane();
configurationSplitPane.setDividerLocation(100);
configurationSplitPane.setLeftComponent(getConfigurationList());
configurationSplitPane.setRightComponent(getConfigurationRightPanel());
}
return configurationSplitPane;
}
/**
* This method initializes configurationList
*
* @return javax.swing.JList
*/
private JList getConfigurationList() {
if (configurationList == null) {
configurationList = new JList();
configurationList.setPreferredSize(new Dimension(100, 100));
configurationList.setModel(new javax.swing.ListModel(){
final String[] SA=new String[]{"Server","Actions","UI Config"};
public void addListDataListener( ListDataListener l){
}
public Object getElementAt( int index){
return SA[index];
}
public int getSize(){
return 3;
}
public void removeListDataListener( ListDataListener l){
}
}
);
MouseListener mouseListener = new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() >= 1) {
int index = configurationList.locationToIndex(e.getPoint());
CardLayout layout = (CardLayout) configurationRightPanel.getLayout();
if (index == 0) {
updatePreferencesFromConfiguration();
layout.show(configurationRightPanel, getServerConfigurationPane().getName());
} else if (index == 1) {
updateConfigurationPanelFromPreferences();
layout.show(configurationRightPanel, getActionConfigurationPanel().getName());
} else if (index == 2) {
updateUIConfigurationFromPreferences();
layout.show(configurationRightPanel, getUiConfigurationPanel().getName());
}
}
}
};
configurationList.addMouseListener(mouseListener);
}
return configurationList;
}
/**
* This method initializes configurationRightPanel
*
* @return javax.swing.JPanel
*/
private JPanel getConfigurationRightPanel() {
if (configurationRightPanel == null) {
configurationRightPanel = new JPanel();
configurationRightPanel.setLayout(new CardLayout());
configurationRightPanel.add(getServerConfigurationPane(), getServerConfigurationPane().getName());
configurationRightPanel.add(getActionConfigurationPanel(), getActionConfigurationPanel().getName());
configurationRightPanel.add(getUiConfigurationPanel(), getUiConfigurationPanel().getName());
}
return configurationRightPanel;
}
/**
* This method initializes serverConfigurationPane
*
* @return javax.swing.JPanel
*/
private JPanel getServerConfigurationPane() {
if (serverConfigurationPane == null) {
serverConfigurationPane = new JPanel();
serverConfigurationPane.setLayout(new BorderLayout());
serverConfigurationPane.add(getServerConfigurationTopPane(), java.awt.BorderLayout.CENTER);
serverConfigurationPane.add(getUpdatePanel(), java.awt.BorderLayout.SOUTH);
serverConfigurationPane.setName("Servers");
}
return serverConfigurationPane;
}
/**
* This method initializes serverConfigurationTopPane
*
* @return javax.swing.JPanel
*/
private JPanel getServerConfigurationTopPane() {
if (serverConfigurationTopPane == null) {
BorderLayout borderLayout1 = new BorderLayout();
borderLayout1.setHgap(5);
borderLayout1.setVgap(5);
serverConfigurationTopPane = new JPanel();
serverConfigurationTopPane.setLayout(borderLayout1);
serverConfigurationTopPane.add(getServerPanel(), java.awt.BorderLayout.CENTER);
}
return serverConfigurationTopPane;
}
/**
* This method initializes serverPanel
*
* @return javax.swing.JPanel
*/
private JPanel getServerPanel() {
if (serverPanel == null) {
serverPanel = new JPanel();
serverPanel.setLayout(new BorderLayout());
serverPanel.setBorder(BorderFactory.createTitledBorder(null, "Servers", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, new Font("Dialog", Font.BOLD, 12), new Color(51, 51, 51)));
serverPanel.add(getSpacingPanel(), java.awt.BorderLayout.WEST);
serverPanel.add(getServerDetailsPane(), java.awt.BorderLayout.CENTER);
}
return serverPanel;
}
/**
* This method initializes spacingPanel
*
* @return javax.swing.JPanel
*/
private JPanel getSpacingPanel() {
if (spacingPanel == null) {
eastLabel = new JLabel();
eastLabel.setPreferredSize(new Dimension(5, 5));
eastLabel.setText("");
westLabel = new JLabel();
westLabel.setPreferredSize(new Dimension(5, 5));
westLabel.setText("");
topLabel = new JLabel();
topLabel.setPreferredSize(new Dimension(5, 5));
topLabel.setText("");
spacingPanel = new JPanel();
spacingPanel.setLayout(new BorderLayout());
spacingPanel.add(getServerList(), java.awt.BorderLayout.CENTER);
spacingPanel.add(topLabel, java.awt.BorderLayout.NORTH);
spacingPanel.add(westLabel, java.awt.BorderLayout.WEST);
spacingPanel.add(eastLabel, java.awt.BorderLayout.EAST);
spacingPanel.add(getBottomPanel(), java.awt.BorderLayout.SOUTH);
}
return spacingPanel;
}
/**
* This method initializes serverList
*
* @return javax.swing.JList
*/
private JList getServerList() {
if (serverList == null) {
serverList = new JList();
serverList.setPreferredSize(new Dimension(120, 120));
serverList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
serverList.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.RAISED));
serverList.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
int index = serverList.locationToIndex(e.getPoint());
if (index != -1 && index < model.getServerModelSize()) {
Server server = model.getServerAt(index);
if (server == null) {
serverLocationField.setText("");
serverNameField.setText("");
serverLocationField.setEnabled(false);
serverNameField.setEnabled(false);
} else {
serverLocationField.setText(server.getURL());
serverNameField.setText(server.getName());
serverLocationField.setEnabled(true);
serverNameField.setEnabled(true);
}
}
}
});
}
return serverList;
}
/**
* This method initializes bottomPanel
*
* @return javax.swing.JPanel
*/
private JPanel getBottomPanel() {
if (bottomPanel == null) {
bottomPanel = new JPanel();
bottomPanel.setLayout(new BorderLayout());
bottomPanel.add(getAddServerButton(), java.awt.BorderLayout.WEST);
bottomPanel.add(getRemoveServerButton(), java.awt.BorderLayout.EAST);
}
return bottomPanel;
}
/**
* This method initializes addServerButton
*
* @return javax.swing.JButton
*/
private JButton getAddServerButton() {
if (addServerButton == null) {
addServerButton = new JButton();
addServerButton.setText("Add");
addServerButton.setPreferredSize(new Dimension(52, 26));
addServerButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
if (model.containsServer("") == false) {
model.addServer("", "");
int index = model.getServerIndex("");
serverLocationField.setText("");
serverNameField.setText("");
serverLocationField.setEnabled(true);
serverNameField.setEnabled(true);
serverListModel.objectAdded(index);
serverList.setSelectedIndex(index);
}
}
});
}
return addServerButton;
}
/**
* This method initializes removeServerButton
*
* @return javax.swing.JButton
*/
private JButton getRemoveServerButton() {
if (removeServerButton == null) {
removeServerButton = new JButton();
removeServerButton.setText("Remove");
removeServerButton.setPreferredSize(new Dimension(78, 26));
removeServerButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
int index = serverList.getSelectedIndex();
if (index != -1) {
Server server = model.getServerAt(index);
model.removeServer(server.getURL());
serverListModel.objectRemoved(index);
if (index == model.getServerModelSize()) {
index--;
}
if (index == -1) {
serverList.setSelectedIndices(new int[0]);
serverLocationField.setText("");
serverNameField.setText("");
serverLocationField.setEnabled(false);
serverNameField.setEnabled(false);
} else {
serverList.setSelectedIndex(index);
server = model.getServerAt(index);
serverLocationField.setText(server.getURL());
serverNameField.setText(server.getName());
serverLocationField.setEnabled(true);
serverNameField.setEnabled(true);
}
}
}
});
}
return removeServerButton;
}
/**
* This method initializes serverDetailsPane
*
* @return javax.swing.JPanel
*/
private JPanel getServerDetailsPane() {
if (serverDetailsPane == null) {
serverDetailsPane = new JPanel();
serverDetailsPane.setLayout(new BorderLayout());
serverDetailsPane.add(getServerNamePanel(), java.awt.BorderLayout.CENTER);
serverDetailsPane.add(getServerChangesApplyPanel(), java.awt.BorderLayout.SOUTH);
}
return serverDetailsPane;
}
/**
* This method initializes serverNamePanel
*
* @return javax.swing.JPanel
*/
private JPanel getServerNamePanel() {
if (serverNamePanel == null) {
serverLocationLabel = new JLabel();
serverLocationLabel.setBounds(new Rectangle(8, 40, 90, 16));
serverLocationLabel.setText("Server Location");
serverNameLabel = new JLabel();
serverNameLabel.setBounds(new Rectangle(8, 12, 74, 16));
serverNameLabel.setText("Server Name");
serverNamePanel = new JPanel();
serverNamePanel.setLayout(null);
serverNamePanel.add(serverNameLabel, null);
serverNamePanel.add(serverLocationLabel, null);
serverNamePanel.add(getServerNameField(), null);
serverNamePanel.add(getServerLocationField(), null);
}
return serverNamePanel;
}
/**
* This method initializes serverNameField
*
* @return javax.swing.JTextField
*/
private JTextField getServerNameField() {
if (serverNameField == null) {
serverNameField = new JTextField();
serverNameField.setBounds(new Rectangle(108, 8, 181, 20));
serverNameField.setEnabled(false);
}
return serverNameField;
}
/**
* This method initializes serverLocationField
*
* @return javax.swing.JTextField
*/
private JTextField getServerLocationField() {
if (serverLocationField == null) {
serverLocationField = new JTextField();
serverLocationField.setBounds(new Rectangle(108, 36, 181, 21));
serverLocationField.setEnabled(false);
}
return serverLocationField;
}
/**
* This method initializes serverChangesApplyPanel
*
* @return javax.swing.JPanel
*/
private JPanel getServerChangesApplyPanel() {
if (serverChangesApplyPanel == null) {
serverChangesApplyPanel = new JPanel();
serverChangesApplyPanel.setLayout(new BorderLayout());
serverChangesApplyPanel.add(getApplyServerChangesButton(), java.awt.BorderLayout.EAST);
}
return serverChangesApplyPanel;
}
/**
* This method initializes applyServerChangesButton
*
* @return javax.swing.JButton
*/
private JButton getApplyServerChangesButton() {
if (applyServerChangesButton == null) {
applyServerChangesButton = new JButton();
applyServerChangesButton.setText("Apply Changes");
applyServerChangesButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
int index = serverList.getSelectedIndex();
if (index != -1) {
Server server = model.getServerAt(index);
server.setName(serverNameField.getText());
server.setUrl(serverLocationField.getText());
serverListModel.objectChanged(index);
}
int newFrequency = Integer.parseInt(updateField.getText());
if (newFrequency != prefs.getUpdateFrequency() && newFrequency > 0){
prefs.setUpdateFrequency(newFrequency);
HudsonTrayApp.getHudsonTrayAppInstance().scheduleTimer(newFrequency * 60000, false);
}
}
});
}
return applyServerChangesButton;
}
/**
* This method initializes updatePanel
*
* @return javax.swing.JPanel
*/
private JPanel getUpdatePanel() {
if (updatePanel == null) {
updateFrequencyLabel = new JLabel();
updateFrequencyLabel.setText("Frequency of Update");
GridLayout gridLayout1 = new GridLayout();
gridLayout1.setRows(1);
updatePanel = new JPanel();
updatePanel.setLayout(gridLayout1);
updatePanel.add(updateFrequencyLabel, null);
updatePanel.add(getUpdateFrequencyPanel(), null);
}
return updatePanel;
}
/**
* This method initializes updateFrequencyPanel
*
* @return javax.swing.JPanel
*/
private JPanel getUpdateFrequencyPanel() {
if (updateFrequencyPanel == null) {
updateFrequencyEveryLabel = new JLabel();
updateFrequencyEveryLabel.setText("every");
updateFrequencyTimeScaleLabel = new JLabel();
updateFrequencyTimeScaleLabel.setText("minutes");
BorderLayout borderLayout = new BorderLayout();
borderLayout.setHgap(3);
updateFrequencyPanel = new JPanel();
updateFrequencyPanel.setLayout(borderLayout);
updateFrequencyPanel.add(getUpdateField(), java.awt.BorderLayout.CENTER);
updateFrequencyPanel.add(updateFrequencyTimeScaleLabel, java.awt.BorderLayout.EAST);
updateFrequencyPanel.add(updateFrequencyEveryLabel, java.awt.BorderLayout.WEST);
}
return updateFrequencyPanel;
}
/**
* This method initializes updateField
*
* @return javax.swing.JTextField
*/
private JTextField getUpdateField() {
if (updateField == null) {
updateField = new JTextField();
}
return updateField;
}
/**
* This method initializes actionConfigurationPanel
*
* @return javax.swing.JPanel
*/
private JPanel getActionConfigurationPanel() {
if (actionConfigurationPanel == null) {
actionConfigurationPanel = new JPanel();
actionConfigurationPanel.setLayout(new BorderLayout());
actionConfigurationPanel.setBorder(BorderFactory.createTitledBorder(null, "Actions", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, new Font("Dialog", Font.BOLD, 12), new Color(51, 51, 51)));
actionConfigurationPanel.add(getActionTabbedPane(), java.awt.BorderLayout.CENTER);
actionConfigurationPanel.setName("Actions");
}
return actionConfigurationPanel;
}
/**
* This method initializes actionTabbedPane
*
* @return javax.swing.JTabbedPane
*/
private JTabbedPane getActionTabbedPane() {
if (actionTabbedPane == null) {
actionTabbedPane = new JTabbedPane();
actionTabbedPane.addTab("->", new ImageIcon(getClass().getResource("/org/hudson/trayapp/gui/icons/16x16/red.gif")), getRedToActionPanel(), "Red to anything actions");
actionTabbedPane.addTab("->", new ImageIcon(getClass().getResource("/org/hudson/trayapp/gui/icons/16x16/yellow.gif")), getYellowToActionPanel(), "Yellow to anything actions");
actionTabbedPane.addTab("->", new ImageIcon(getClass().getResource("/org/hudson/trayapp/gui/icons/16x16/blue.gif")), getBlueToActionPanel(), "Blue to anything actions");
actionTabbedPane.addTab("->", new ImageIcon(getClass().getResource("/org/hudson/trayapp/gui/icons/16x16/grey.gif")), getGreyToActionPanel(), "Grey to anything actions");
}
return actionTabbedPane;
}
/**
* This method initializes uiConfigurationPanel
*
* @return javax.swing.JPanel
*/
private JPanel getUiConfigurationPanel() {
if (uiConfigurationPanel == null) {
GridLayout gridLayout2 = new GridLayout();
gridLayout2.setRows(2);
gridLayout2.setColumns(1);
uiConfigurationPanel = new JPanel();
uiConfigurationPanel.setLayout(gridLayout2);
uiConfigurationPanel.add(getTrayIconConfigurationPanel(), null);
uiConfigurationPanel.setName("UI Configuration");
}
return uiConfigurationPanel;
}
/**
* This method initializes trayIconConfigurationPanel
*
* @return javax.swing.JPanel
*/
private JPanel getTrayIconConfigurationPanel() {
if (trayIconConfigurationPanel == null) {
showPopupNotificationLabel = new JLabel();
showPopupNotificationLabel.setToolTipText("Note: Messages will show for Java Exceptions regardless of this setting");
showPopupNotificationLabel.setText("Show Popup Notifications");
showAnimatedBuildLabel = new JLabel();
showAnimatedBuildLabel.setText("Show Animation when Building");
showHealthLabel = new JLabel();
showHealthLabel.setText("Show Health Icons on System Tray");
GridLayout gridLayout3 = new GridLayout();
gridLayout3.setRows(3);
gridLayout3.setHgap(0);
gridLayout3.setColumns(2);
trayIconConfigurationPanel = new JPanel();
trayIconConfigurationPanel.setBorder(BorderFactory.createTitledBorder(null, "Tray Icon Configuration", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, new Font("Dialog", Font.BOLD, 12), new Color(51, 51, 51)));
trayIconConfigurationPanel.setLayout(gridLayout3);
trayIconConfigurationPanel.add(showHealthLabel, null);
trayIconConfigurationPanel.add(getShowHealthCB(), null);
trayIconConfigurationPanel.add(showAnimatedBuildLabel, null);
trayIconConfigurationPanel.add(getShowAnimatedBuildCB(), null);
trayIconConfigurationPanel.add(showPopupNotificationLabel, null);
trayIconConfigurationPanel.add(getShowPopupNotificationCB(), null);
}
return trayIconConfigurationPanel;
}
/**
* This method initializes showHealthCB
*
* @return javax.swing.JCheckBox
*/
private JCheckBox getShowHealthCB() {
if (showHealthCB == null) {
showHealthCB = new JCheckBox();
showHealthCB.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
updatePreferencesFromUIConfiguration();
HudsonTrayApp.getHudsonTrayAppInstance().updateTrayIcon();
}
});
}
return showHealthCB;
}
/**
* This method initializes showAnimatedBuildCB
*
* @return javax.swing.JCheckBox
*/
private JCheckBox getShowAnimatedBuildCB() {
if (showAnimatedBuildCB == null) {
showAnimatedBuildCB = new JCheckBox();
showAnimatedBuildCB.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
updatePreferencesFromUIConfiguration();
HudsonTrayApp.getHudsonTrayAppInstance().updateTrayIcon();
}
});
}
return showAnimatedBuildCB;
}
/**
* This method initializes showPopupNotificationCB
*
* @return javax.swing.JCheckBox
*/
private JCheckBox getShowPopupNotificationCB() {
if (showPopupNotificationCB == null) {
showPopupNotificationCB = new JCheckBox();
showPopupNotificationCB.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
updatePreferencesFromUIConfiguration();
}
});
}
return showPopupNotificationCB;
}
private JTextField addRowToPanel(final JPanel panel, final int rowMinusOne, final Integer preferencesFrom, final Integer preferencesTo, final Integer preferencesBuildType) {
// We're expecting a 0 based row, but we need to add 1 to it, because the 0th row in the grid is for the label "File to Execute"
int row = rowMinusOne + 1;
String iconFrom = "";
String iconTo = "";
String buildString = "";
if (preferencesFrom.intValue() == Job.RED.intValue()) iconFrom = "red";
if (preferencesFrom.intValue() == Job.RED_ANIME.intValue()) iconFrom = "red_anime";
if (preferencesFrom.intValue() == Job.YELLOW.intValue()) iconFrom = "yellow";
if (preferencesFrom.intValue() == Job.YELLOW_ANIME.intValue()) iconFrom = "yellow_anime";
if (preferencesFrom.intValue() == Job.BLUE.intValue()) iconFrom = "blue";
if (preferencesFrom.intValue() == Job.BLUE_ANIME.intValue()) iconFrom = "blue_anime";
if (preferencesFrom.intValue() == Job.GREY.intValue()) iconFrom = "grey";
if (preferencesTo.intValue() == Job.RED.intValue()) iconTo = "red";
if (preferencesTo.intValue() == Job.RED_ANIME.intValue()) iconTo = "red_anime";
if (preferencesTo.intValue() == Job.YELLOW.intValue()) iconTo = "yellow";
if (preferencesTo.intValue() == Job.YELLOW_ANIME.intValue()) iconTo = "yellow_anime";
if (preferencesTo.intValue() == Job.BLUE.intValue()) iconTo = "blue";
if (preferencesTo.intValue() == Job.BLUE_ANIME.intValue()) iconTo = "blue_anime";
if (preferencesTo.intValue() == Job.GREY.intValue()) iconTo = "grey";
if (preferencesBuildType.intValue() == Job.BUILD_CHANGED.intValue()) buildString = "Build Changed";
if (preferencesBuildType.intValue() == Job.BUILD_UNCHANGED.intValue()) buildString = "Build Unchanged";
JLabel label;
GridBagConstraints constraints;
final JTextField textField;
JButton button;
label= new JLabel();
constraints = new GridBagConstraints();
constraints.gridx = 0;
constraints.gridy = row;
label.setIcon(new ImageIcon(getClass().getResource("/org/hudson/trayapp/gui/icons/16x16/" + iconFrom + ".gif")));
label.setText("");
panel.add(label, constraints);
label = new JLabel();
constraints = new GridBagConstraints();
constraints.gridx = 1;
constraints.gridy = row;
label.setText("->");
panel.add(label, constraints);
label= new JLabel();
constraints = new GridBagConstraints();
constraints.gridx = 2;
constraints.gridy = row;
label.setIcon(new ImageIcon(getClass().getResource("/org/hudson/trayapp/gui/icons/16x16/" + iconTo + ".gif")));
label.setText("");
panel.add(label, constraints);
label = new JLabel();
constraints = new GridBagConstraints();
constraints.gridx = 3;
constraints.gridy = row;
label.setText(buildString);
panel.add(label, constraints);
textField = new JTextField();
textField.setPreferredSize(new Dimension(256, 20));
constraints = new GridBagConstraints();
constraints.gridx = 4;
constraints.gridy = row;
constraints.weightx = 1.0;
constraints.fill = GridBagConstraints.HORIZONTAL;
panel.add(textField, constraints);
button = new JButton();
constraints = new GridBagConstraints();
constraints.gridx = 5;
constraints.gridy = row;
button.setText("...");
panel.add(button, constraints);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFileChooser fileChooser = new JFileChooser();
if (fileChooser.showOpenDialog(configurationRightPanel) == JFileChooser.APPROVE_OPTION) {
textField.setText(fileChooser.getSelectedFile().getAbsolutePath());
}
}
});
return textField;
}
/**
* This method initializes redToActionPanel
*
* @return javax.swing.JPanel
*/
private JPanel getRedToActionPanel() {
if (redToActionPanel == null) {
GridBagConstraints gridBagConstraints = new GridBagConstraints();
gridBagConstraints.gridx = 4;
gridBagConstraints.gridy = 0;
redToActionPanel = new JPanel();
redToActionPanel.setLayout(new GridBagLayout());
actionLabel = new JLabel();
actionLabel.setText("File to Execute");
redToActionPanel.add(actionLabel, gridBagConstraints);
int row = 0;
redToRedUnchangedField = addRowToPanel(redToActionPanel, row++, Job.RED, Job.RED, Job.BUILD_UNCHANGED);
redToRedChangedField = addRowToPanel(redToActionPanel, row++, Job.RED, Job.RED, Job.BUILD_CHANGED);
redToRedAnimeUnchangedField = addRowToPanel(redToActionPanel, row++, Job.RED, Job.RED_ANIME, Job.BUILD_UNCHANGED);
redToRedAnimeChangedField = addRowToPanel(redToActionPanel, row++, Job.RED, Job.RED_ANIME, Job.BUILD_CHANGED);
redAnimeToRedUnchangedField = addRowToPanel(redToActionPanel, row++, Job.RED_ANIME, Job.RED, Job.BUILD_UNCHANGED);
redAnimeToRedChangedField = addRowToPanel(redToActionPanel, row++, Job.RED_ANIME, Job.RED, Job.BUILD_CHANGED);
redAnimeToRedAnimeUnchangedField = addRowToPanel(redToActionPanel, row++, Job.RED_ANIME, Job.RED_ANIME, Job.BUILD_UNCHANGED);
redAnimeToRedAnimeChangedField = addRowToPanel(redToActionPanel, row++, Job.RED_ANIME, Job.RED_ANIME, Job.BUILD_CHANGED);
redToYellowUnchangedField = addRowToPanel(redToActionPanel, row++, Job.RED, Job.YELLOW, Job.BUILD_UNCHANGED);
redToYellowChangedField = addRowToPanel(redToActionPanel, row++, Job.RED, Job.YELLOW, Job.BUILD_CHANGED);
redToYellowAnimeUnchangedField = addRowToPanel(redToActionPanel, row++, Job.RED, Job.YELLOW_ANIME, Job.BUILD_UNCHANGED);
redToYellowAnimeChangedField = addRowToPanel(redToActionPanel, row++, Job.RED, Job.YELLOW_ANIME, Job.BUILD_CHANGED);
redAnimeToYellowUnchangedField = addRowToPanel(redToActionPanel, row++, Job.RED_ANIME, Job.YELLOW, Job.BUILD_UNCHANGED);
redAnimeToYellowChangedField = addRowToPanel(redToActionPanel, row++, Job.RED_ANIME, Job.YELLOW, Job.BUILD_CHANGED);
redAnimeToYellowAnimeUnchangedField = addRowToPanel(redToActionPanel, row++, Job.RED_ANIME, Job.YELLOW_ANIME, Job.BUILD_UNCHANGED);
redAnimeToYellowAnimeChangedField = addRowToPanel(redToActionPanel, row++, Job.RED_ANIME, Job.YELLOW_ANIME, Job.BUILD_CHANGED);
redToBlueUnchangedField = addRowToPanel(redToActionPanel, row++, Job.RED, Job.BLUE, Job.BUILD_UNCHANGED);
redToBlueChangedField = addRowToPanel(redToActionPanel, row++, Job.RED, Job.BLUE, Job.BUILD_CHANGED);
redToBlueAnimeUnchangedField = addRowToPanel(redToActionPanel, row++, Job.RED, Job.BLUE_ANIME, Job.BUILD_UNCHANGED);
redToBlueAnimeChangedField = addRowToPanel(redToActionPanel, row++, Job.RED, Job.BLUE_ANIME, Job.BUILD_CHANGED);
redAnimeToBlueUnchangedField = addRowToPanel(redToActionPanel, row++, Job.RED_ANIME, Job.BLUE, Job.BUILD_UNCHANGED);
redAnimeToBlueChangedField = addRowToPanel(redToActionPanel, row++, Job.RED_ANIME, Job.BLUE, Job.BUILD_CHANGED);
redAnimeToBlueAnimeUnchangedField = addRowToPanel(redToActionPanel, row++, Job.RED_ANIME, Job.BLUE_ANIME, Job.BUILD_UNCHANGED);
redAnimeToBlueAnimeChangedField = addRowToPanel(redToActionPanel, row++, Job.RED_ANIME, Job.BLUE_ANIME, Job.BUILD_CHANGED);
redToGreyUnchangedField = addRowToPanel(redToActionPanel, row++, Job.RED, Job.GREY, Job.BUILD_UNCHANGED);
redToGreyChangedField = addRowToPanel(redToActionPanel, row++, Job.RED, Job.GREY, Job.BUILD_CHANGED);
redAnimeToGreyUnchangedField = addRowToPanel(redToActionPanel, row++, Job.RED_ANIME, Job.GREY, Job.BUILD_UNCHANGED);
redAnimeToGreyChangedField = addRowToPanel(redToActionPanel, row++, Job.RED_ANIME, Job.GREY, Job.BUILD_CHANGED);
}
return redToActionPanel;
}
/**
* This method initializes yellowToActionPanel
*
* @return javax.swing.JPanel
*/
private JPanel getYellowToActionPanel() {
if (yellowToActionPanel == null) {
GridBagConstraints gridBagConstraints = new GridBagConstraints();
gridBagConstraints.gridx = 4;
gridBagConstraints.gridy = 0;
yellowToActionPanel = new JPanel();
yellowToActionPanel.setLayout(new GridBagLayout());
actionLabel = new JLabel();
actionLabel.setText("File to Execute");
yellowToActionPanel.add(actionLabel, gridBagConstraints);
int row = 0;
yellowToRedUnchangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW, Job.RED, Job.BUILD_UNCHANGED);
yellowToRedChangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW, Job.RED, Job.BUILD_CHANGED);
yellowToRedAnimeUnchangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW, Job.RED_ANIME, Job.BUILD_UNCHANGED);
yellowToRedAnimeChangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW, Job.RED_ANIME, Job.BUILD_CHANGED);
yellowAnimeToRedUnchangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW_ANIME, Job.RED, Job.BUILD_UNCHANGED);
yellowAnimeToRedChangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW_ANIME, Job.RED, Job.BUILD_CHANGED);
yellowAnimeToRedAnimeUnchangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW_ANIME, Job.RED_ANIME, Job.BUILD_UNCHANGED);
yellowAnimeToRedAnimeChangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW_ANIME, Job.RED_ANIME, Job.BUILD_CHANGED);
yellowToYellowUnchangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW, Job.YELLOW, Job.BUILD_UNCHANGED);
yellowToYellowChangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW, Job.YELLOW, Job.BUILD_CHANGED);
yellowToYellowAnimeUnchangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW, Job.YELLOW_ANIME, Job.BUILD_UNCHANGED);
yellowToYellowAnimeChangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW, Job.YELLOW_ANIME, Job.BUILD_CHANGED);
yellowAnimeToYellowUnchangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW_ANIME, Job.YELLOW, Job.BUILD_UNCHANGED);
yellowAnimeToYellowChangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW_ANIME, Job.YELLOW, Job.BUILD_CHANGED);
yellowAnimeToYellowAnimeUnchangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW_ANIME, Job.YELLOW_ANIME, Job.BUILD_UNCHANGED);
yellowAnimeToYellowAnimeChangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW_ANIME, Job.YELLOW_ANIME, Job.BUILD_CHANGED);
yellowToBlueUnchangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW, Job.BLUE, Job.BUILD_UNCHANGED);
yellowToBlueChangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW, Job.BLUE, Job.BUILD_CHANGED);
yellowToBlueAnimeUnchangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW, Job.BLUE_ANIME, Job.BUILD_UNCHANGED);
yellowToBlueAnimeChangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW, Job.BLUE_ANIME, Job.BUILD_CHANGED);
yellowAnimeToBlueUnchangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW_ANIME, Job.BLUE, Job.BUILD_UNCHANGED);
yellowAnimeToBlueChangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW_ANIME, Job.BLUE, Job.BUILD_CHANGED);
yellowAnimeToBlueAnimeUnchangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW_ANIME, Job.BLUE_ANIME, Job.BUILD_UNCHANGED);
yellowAnimeToBlueAnimeChangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW_ANIME, Job.BLUE_ANIME, Job.BUILD_CHANGED);
yellowToGreyUnchangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW, Job.GREY, Job.BUILD_UNCHANGED);
yellowToGreyChangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW, Job.GREY, Job.BUILD_CHANGED);
yellowAnimeToGreyUnchangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW_ANIME, Job.GREY, Job.BUILD_UNCHANGED);
yellowAnimeToGreyChangedField = addRowToPanel(yellowToActionPanel, row++, Job.YELLOW_ANIME, Job.GREY, Job.BUILD_CHANGED);
}
return yellowToActionPanel;
}
/**
* This method initializes blueToActionPanel
*
* @return javax.swing.JPanel
*/
private JPanel getBlueToActionPanel() {
if (blueToActionPanel == null) {
GridBagConstraints gridBagConstraints = new GridBagConstraints();
gridBagConstraints.gridx = 4;
gridBagConstraints.gridy = 0;
blueToActionPanel = new JPanel();
blueToActionPanel.setLayout(new GridBagLayout());
actionLabel = new JLabel();
actionLabel.setText("File to Execute");
blueToActionPanel.add(actionLabel, gridBagConstraints);
int row = 0;
blueToRedUnchangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE, Job.RED, Job.BUILD_UNCHANGED);
blueToRedChangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE, Job.RED, Job.BUILD_CHANGED);
blueToRedAnimeUnchangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE, Job.RED_ANIME, Job.BUILD_UNCHANGED);
blueToRedAnimeChangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE, Job.RED_ANIME, Job.BUILD_CHANGED);
blueAnimeToRedUnchangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE_ANIME, Job.RED, Job.BUILD_UNCHANGED);
blueAnimeToRedChangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE_ANIME, Job.RED, Job.BUILD_CHANGED);
blueAnimeToRedAnimeUnchangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE_ANIME, Job.RED_ANIME, Job.BUILD_UNCHANGED);
blueAnimeToRedAnimeChangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE_ANIME, Job.RED_ANIME, Job.BUILD_CHANGED);
blueToYellowUnchangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE, Job.YELLOW, Job.BUILD_UNCHANGED);
blueToYellowChangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE, Job.YELLOW, Job.BUILD_CHANGED);
blueToYellowAnimeUnchangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE, Job.YELLOW_ANIME, Job.BUILD_UNCHANGED);
blueToYellowAnimeChangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE, Job.YELLOW_ANIME, Job.BUILD_CHANGED);
blueAnimeToYellowUnchangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE_ANIME, Job.YELLOW, Job.BUILD_UNCHANGED);
blueAnimeToYellowChangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE_ANIME, Job.YELLOW, Job.BUILD_CHANGED);
blueAnimeToYellowAnimeUnchangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE_ANIME, Job.YELLOW_ANIME, Job.BUILD_UNCHANGED);
blueAnimeToYellowAnimeChangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE_ANIME, Job.YELLOW_ANIME, Job.BUILD_CHANGED);
blueToBlueUnchangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE, Job.BLUE, Job.BUILD_UNCHANGED);
blueToBlueChangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE, Job.BLUE, Job.BUILD_CHANGED);
blueToBlueAnimeUnchangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE, Job.BLUE_ANIME, Job.BUILD_UNCHANGED);
blueToBlueAnimeChangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE, Job.BLUE_ANIME, Job.BUILD_CHANGED);
blueAnimeToBlueUnchangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE_ANIME, Job.BLUE, Job.BUILD_UNCHANGED);
blueAnimeToBlueChangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE_ANIME, Job.BLUE, Job.BUILD_CHANGED);
blueAnimeToBlueAnimeUnchangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE_ANIME, Job.BLUE_ANIME, Job.BUILD_UNCHANGED);
blueAnimeToBlueAnimeChangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE_ANIME, Job.BLUE_ANIME, Job.BUILD_CHANGED);
blueToGreyUnchangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE, Job.GREY, Job.BUILD_UNCHANGED);
blueToGreyChangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE, Job.GREY, Job.BUILD_CHANGED);
blueAnimeToGreyUnchangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE_ANIME, Job.GREY, Job.BUILD_UNCHANGED);
blueAnimeToGreyChangedField = addRowToPanel(blueToActionPanel, row++, Job.BLUE_ANIME, Job.GREY, Job.BUILD_CHANGED);
}
return blueToActionPanel;
}
/**
* This method initializes greyToActionPanel
*
* @return javax.swing.JPanel
*/
private JPanel getGreyToActionPanel() {
if (greyToActionPanel == null) {
GridBagConstraints gridBagConstraints = new GridBagConstraints();
gridBagConstraints.gridx = 4;
gridBagConstraints.gridy = 0;
greyToActionPanel = new JPanel();
greyToActionPanel.setLayout(new GridBagLayout());
actionLabel = new JLabel();
actionLabel.setText("File to Execute");
greyToActionPanel.add(actionLabel, gridBagConstraints);
int row = 0;
greyToRedUnchangedField = addRowToPanel(greyToActionPanel, row++, Job.GREY, Job.RED, Job.BUILD_UNCHANGED);
greyToRedChangedField = addRowToPanel(greyToActionPanel, row++, Job.GREY, Job.RED, Job.BUILD_CHANGED);
greyToRedAnimeUnchangedField = addRowToPanel(greyToActionPanel, row++, Job.GREY, Job.RED_ANIME, Job.BUILD_UNCHANGED);
greyToRedAnimeChangedField = addRowToPanel(greyToActionPanel, row++, Job.GREY, Job.RED_ANIME, Job.BUILD_CHANGED);
greyToYellowUnchangedField = addRowToPanel(greyToActionPanel, row++, Job.GREY, Job.YELLOW, Job.BUILD_UNCHANGED);
greyToYellowChangedField = addRowToPanel(greyToActionPanel, row++, Job.GREY, Job.YELLOW, Job.BUILD_CHANGED);
greyToYellowAnimeUnchangedField = addRowToPanel(greyToActionPanel, row++, Job.GREY, Job.YELLOW_ANIME, Job.BUILD_UNCHANGED);
greyToYellowAnimeChangedField = addRowToPanel(greyToActionPanel, row++, Job.GREY, Job.YELLOW_ANIME, Job.BUILD_CHANGED);
greyToBlueUnchangedField = addRowToPanel(greyToActionPanel, row++, Job.GREY, Job.BLUE, Job.BUILD_UNCHANGED);
greyToBlueChangedField = addRowToPanel(greyToActionPanel, row++, Job.GREY, Job.BLUE, Job.BUILD_CHANGED);
greyToBlueAnimeUnchangedField = addRowToPanel(greyToActionPanel, row++, Job.GREY, Job.BLUE_ANIME, Job.BUILD_UNCHANGED);
greyToBlueAnimeChangedField = addRowToPanel(greyToActionPanel, row++, Job.GREY, Job.BLUE_ANIME, Job.BUILD_CHANGED);
greyToGreyUnchangedField = addRowToPanel(greyToActionPanel, row++, Job.GREY, Job.GREY, Job.BUILD_UNCHANGED);
greyToGreyChangedField = addRowToPanel(greyToActionPanel, row++, Job.GREY, Job.GREY, Job.BUILD_CHANGED);
}
return greyToActionPanel;
}
private void updateConfigurationPanelFromPreferences() {
updateToField(redToRedUnchangedField, Job.RED, Job.RED, Job.BUILD_UNCHANGED);
updateToField(redToRedChangedField, Job.RED, Job.RED, Job.BUILD_CHANGED);
updateToField(redToRedAnimeUnchangedField, Job.RED, Job.RED_ANIME, Job.BUILD_UNCHANGED);
updateToField(redToRedAnimeChangedField, Job.RED, Job.RED_ANIME, Job.BUILD_CHANGED);
updateToField(redAnimeToRedUnchangedField, Job.RED_ANIME, Job.RED, Job.BUILD_UNCHANGED);
updateToField(redAnimeToRedChangedField, Job.RED_ANIME, Job.RED, Job.BUILD_CHANGED);
updateToField(redAnimeToRedAnimeUnchangedField, Job.RED_ANIME, Job.RED_ANIME, Job.BUILD_UNCHANGED);
updateToField(redAnimeToRedAnimeChangedField, Job.RED_ANIME, Job.RED_ANIME, Job.BUILD_CHANGED);
updateToField(redToYellowUnchangedField, Job.RED, Job.YELLOW, Job.BUILD_UNCHANGED);
updateToField(redToYellowChangedField, Job.RED, Job.YELLOW, Job.BUILD_CHANGED);
updateToField(redToYellowAnimeUnchangedField, Job.RED, Job.YELLOW_ANIME, Job.BUILD_UNCHANGED);
updateToField(redToYellowAnimeChangedField, Job.RED, Job.YELLOW_ANIME, Job.BUILD_CHANGED);
updateToField(redAnimeToYellowUnchangedField, Job.RED_ANIME, Job.YELLOW, Job.BUILD_UNCHANGED);
updateToField(redAnimeToYellowChangedField, Job.RED_ANIME, Job.YELLOW, Job.BUILD_CHANGED);
updateToField(redAnimeToYellowAnimeUnchangedField, Job.RED_ANIME, Job.YELLOW_ANIME, Job.BUILD_UNCHANGED);
updateToField(redAnimeToYellowAnimeChangedField, Job.RED_ANIME, Job.YELLOW_ANIME, Job.BUILD_CHANGED);
updateToField(redToBlueUnchangedField, Job.RED, Job.BLUE, Job.BUILD_UNCHANGED);
updateToField(redToBlueChangedField, Job.RED, Job.BLUE, Job.BUILD_CHANGED);
updateToField(redToBlueAnimeUnchangedField, Job.RED, Job.BLUE_ANIME, Job.BUILD_UNCHANGED);
updateToField(redToBlueAnimeChangedField, Job.RED, Job.BLUE_ANIME, Job.BUILD_CHANGED);
updateToField(redAnimeToBlueUnchangedField, Job.RED_ANIME, Job.BLUE, Job.BUILD_UNCHANGED);
updateToField(redAnimeToBlueChangedField, Job.RED_ANIME, Job.BLUE, Job.BUILD_CHANGED);
updateToField(redAnimeToBlueAnimeUnchangedField, Job.RED_ANIME, Job.BLUE_ANIME, Job.BUILD_UNCHANGED);
updateToField(redAnimeToBlueAnimeChangedField, Job.RED_ANIME, Job.BLUE_ANIME, Job.BUILD_CHANGED);
updateToField(redToGreyUnchangedField, Job.RED, Job.GREY, Job.BUILD_UNCHANGED);
updateToField(redToGreyChangedField, Job.RED, Job.GREY, Job.BUILD_CHANGED);
updateToField(redAnimeToGreyChangedField, Job.RED_ANIME, Job.GREY, Job.BUILD_CHANGED);
updateToField(redAnimeToGreyUnchangedField, Job.RED_ANIME, Job.GREY, Job.BUILD_UNCHANGED);
updateToField(yellowToRedUnchangedField, Job.YELLOW, Job.RED, Job.BUILD_UNCHANGED);
updateToField(yellowToRedChangedField, Job.YELLOW, Job.RED, Job.BUILD_CHANGED);
updateToField(yellowToRedAnimeUnchangedField, Job.YELLOW, Job.RED_ANIME, Job.BUILD_UNCHANGED);
updateToField(yellowToRedAnimeChangedField, Job.YELLOW, Job.RED_ANIME, Job.BUILD_CHANGED);
updateToField(yellowAnimeToRedUnchangedField, Job.YELLOW_ANIME, Job.RED, Job.BUILD_UNCHANGED);
updateToField(yellowAnimeToRedChangedField, Job.YELLOW_ANIME, Job.RED, Job.BUILD_CHANGED);
updateToField(yellowAnimeToRedAnimeUnchangedField, Job.YELLOW_ANIME, Job.RED_ANIME, Job.BUILD_UNCHANGED);
updateToField(yellowAnimeToRedAnimeChangedField, Job.YELLOW_ANIME, Job.RED_ANIME, Job.BUILD_CHANGED);
updateToField(yellowToYellowUnchangedField, Job.YELLOW, Job.YELLOW, Job.BUILD_UNCHANGED);
updateToField(yellowToYellowChangedField, Job.YELLOW, Job.YELLOW, Job.BUILD_CHANGED);
updateToField(yellowToYellowAnimeUnchangedField, Job.YELLOW, Job.YELLOW_ANIME, Job.BUILD_UNCHANGED);
updateToField(yellowToYellowAnimeChangedField, Job.YELLOW, Job.YELLOW_ANIME, Job.BUILD_CHANGED);
updateToField(yellowAnimeToYellowUnchangedField, Job.YELLOW_ANIME, Job.YELLOW, Job.BUILD_UNCHANGED);
updateToField(yellowAnimeToYellowChangedField, Job.YELLOW_ANIME, Job.YELLOW, Job.BUILD_CHANGED);
updateToField(yellowAnimeToYellowAnimeUnchangedField, Job.YELLOW_ANIME, Job.YELLOW_ANIME, Job.BUILD_UNCHANGED);
updateToField(yellowAnimeToYellowAnimeChangedField, Job.YELLOW_ANIME, Job.YELLOW_ANIME, Job.BUILD_CHANGED);
updateToField(yellowToBlueUnchangedField, Job.YELLOW, Job.BLUE, Job.BUILD_UNCHANGED);
updateToField(yellowToBlueChangedField, Job.YELLOW, Job.BLUE, Job.BUILD_CHANGED);
updateToField(yellowToBlueAnimeUnchangedField, Job.YELLOW, Job.BLUE_ANIME, Job.BUILD_UNCHANGED);
updateToField(yellowToBlueAnimeChangedField, Job.YELLOW, Job.BLUE_ANIME, Job.BUILD_CHANGED);
updateToField(yellowAnimeToBlueUnchangedField, Job.YELLOW_ANIME, Job.BLUE, Job.BUILD_UNCHANGED);
updateToField(yellowAnimeToBlueChangedField, Job.YELLOW_ANIME, Job.BLUE, Job.BUILD_CHANGED);
updateToField(yellowAnimeToBlueAnimeUnchangedField, Job.YELLOW_ANIME, Job.BLUE_ANIME, Job.BUILD_UNCHANGED);
updateToField(yellowAnimeToBlueAnimeChangedField, Job.YELLOW_ANIME, Job.BLUE_ANIME, Job.BUILD_CHANGED);
updateToField(yellowToGreyUnchangedField, Job.YELLOW, Job.GREY, Job.BUILD_UNCHANGED);
updateToField(yellowToGreyChangedField, Job.YELLOW, Job.GREY, Job.BUILD_CHANGED);
updateToField(yellowAnimeToGreyUnchangedField, Job.YELLOW_ANIME, Job.GREY, Job.BUILD_UNCHANGED);
updateToField(yellowAnimeToGreyChangedField, Job.YELLOW_ANIME, Job.GREY, Job.BUILD_CHANGED);
updateToField(blueToRedUnchangedField, Job.BLUE, Job.RED, Job.BUILD_UNCHANGED);
updateToField(blueToRedChangedField, Job.BLUE, Job.RED, Job.BUILD_CHANGED);
updateToField(blueToRedAnimeUnchangedField, Job.BLUE, Job.RED_ANIME, Job.BUILD_UNCHANGED);
updateToField(blueToRedAnimeChangedField, Job.BLUE, Job.RED_ANIME, Job.BUILD_CHANGED);
updateToField(blueAnimeToRedUnchangedField, Job.BLUE_ANIME, Job.RED, Job.BUILD_UNCHANGED);
updateToField(blueAnimeToRedChangedField, Job.BLUE_ANIME, Job.RED, Job.BUILD_CHANGED);
updateToField(blueAnimeToRedAnimeUnchangedField, Job.BLUE_ANIME, Job.RED_ANIME, Job.BUILD_UNCHANGED);
updateToField(blueAnimeToRedAnimeChangedField, Job.BLUE_ANIME, Job.RED_ANIME, Job.BUILD_CHANGED);
updateToField(blueToYellowUnchangedField, Job.BLUE, Job.YELLOW, Job.BUILD_UNCHANGED);
updateToField(blueToYellowChangedField, Job.BLUE, Job.YELLOW, Job.BUILD_CHANGED);
updateToField(blueToYellowAnimeUnchangedField, Job.BLUE, Job.YELLOW_ANIME, Job.BUILD_UNCHANGED);
updateToField(blueToYellowAnimeChangedField, Job.BLUE, Job.YELLOW_ANIME, Job.BUILD_CHANGED);
updateToField(blueAnimeToYellowUnchangedField, Job.BLUE_ANIME, Job.YELLOW, Job.BUILD_UNCHANGED);
updateToField(blueAnimeToYellowChangedField, Job.BLUE_ANIME, Job.YELLOW, Job.BUILD_CHANGED);
updateToField(blueAnimeToYellowAnimeUnchangedField, Job.BLUE_ANIME, Job.YELLOW_ANIME, Job.BUILD_UNCHANGED);
updateToField(blueAnimeToYellowAnimeChangedField, Job.BLUE_ANIME, Job.YELLOW_ANIME, Job.BUILD_CHANGED);
updateToField(blueToBlueUnchangedField, Job.BLUE, Job.BLUE, Job.BUILD_UNCHANGED);
updateToField(blueToBlueChangedField, Job.BLUE, Job.BLUE, Job.BUILD_CHANGED);
updateToField(blueToBlueAnimeUnchangedField, Job.BLUE, Job.BLUE_ANIME, Job.BUILD_UNCHANGED);
updateToField(blueToBlueAnimeChangedField, Job.BLUE, Job.BLUE_ANIME, Job.BUILD_CHANGED);
updateToField(blueAnimeToBlueUnchangedField, Job.BLUE_ANIME, Job.BLUE, Job.BUILD_UNCHANGED);
updateToField(blueAnimeToBlueChangedField, Job.BLUE_ANIME, Job.BLUE, Job.BUILD_CHANGED);
updateToField(blueAnimeToBlueAnimeUnchangedField, Job.BLUE_ANIME, Job.BLUE_ANIME, Job.BUILD_UNCHANGED);
updateToField(blueAnimeToBlueAnimeChangedField, Job.BLUE_ANIME, Job.BLUE_ANIME, Job.BUILD_CHANGED);
updateToField(blueToGreyUnchangedField, Job.BLUE, Job.GREY, Job.BUILD_UNCHANGED);
updateToField(blueToGreyChangedField, Job.BLUE, Job.GREY, Job.BUILD_CHANGED);
updateToField(blueAnimeToGreyUnchangedField, Job.BLUE_ANIME, Job.GREY, Job.BUILD_UNCHANGED);
updateToField(blueAnimeToGreyChangedField, Job.BLUE_ANIME, Job.GREY, Job.BUILD_CHANGED);
updateToField(greyToRedUnchangedField, Job.GREY, Job.RED, Job.BUILD_UNCHANGED);
updateToField(greyToRedChangedField, Job.GREY, Job.RED, Job.BUILD_CHANGED);
updateToField(greyToRedAnimeUnchangedField, Job.GREY, Job.RED_ANIME, Job.BUILD_UNCHANGED);
updateToField(greyToRedAnimeChangedField, Job.GREY, Job.RED_ANIME, Job.BUILD_CHANGED);
updateToField(greyToYellowUnchangedField, Job.GREY, Job.YELLOW, Job.BUILD_UNCHANGED);
updateToField(greyToYellowChangedField, Job.GREY, Job.YELLOW, Job.BUILD_CHANGED);
updateToField(greyToYellowAnimeUnchangedField, Job.GREY, Job.YELLOW_ANIME, Job.BUILD_UNCHANGED);
updateToField(greyToYellowAnimeChangedField, Job.GREY, Job.YELLOW_ANIME, Job.BUILD_CHANGED);
updateToField(greyToBlueUnchangedField, Job.GREY, Job.BLUE, Job.BUILD_UNCHANGED);
updateToField(greyToBlueChangedField, Job.GREY, Job.BLUE, Job.BUILD_CHANGED);
updateToField(greyToBlueAnimeUnchangedField, Job.GREY, Job.BLUE_ANIME, Job.BUILD_UNCHANGED);
updateToField(greyToBlueAnimeChangedField, Job.GREY, Job.BLUE_ANIME, Job.BUILD_CHANGED);
updateToField(greyToGreyUnchangedField, Job.GREY, Job.GREY, Job.BUILD_UNCHANGED);
updateToField(greyToGreyChangedField, Job.GREY, Job.GREY, Job.BUILD_CHANGED);
}
private void updatePreferencesFromConfiguration() {
updateFromField(redToRedUnchangedField, Job.RED, Job.RED, Job.BUILD_UNCHANGED);
updateFromField(redToRedChangedField, Job.RED, Job.RED, Job.BUILD_CHANGED);
updateFromField(redToRedAnimeUnchangedField, Job.RED, Job.RED_ANIME, Job.BUILD_UNCHANGED);
updateFromField(redToRedAnimeChangedField, Job.RED, Job.RED_ANIME, Job.BUILD_CHANGED);
updateFromField(redAnimeToRedUnchangedField, Job.RED_ANIME, Job.RED, Job.BUILD_UNCHANGED);
updateFromField(redAnimeToRedChangedField, Job.RED_ANIME, Job.RED, Job.BUILD_CHANGED);
updateFromField(redAnimeToRedAnimeUnchangedField, Job.RED_ANIME, Job.RED_ANIME, Job.BUILD_UNCHANGED);
updateFromField(redAnimeToRedAnimeChangedField, Job.RED_ANIME, Job.RED_ANIME, Job.BUILD_CHANGED);
updateFromField(redToYellowUnchangedField, Job.RED, Job.YELLOW, Job.BUILD_UNCHANGED);
updateFromField(redToYellowChangedField, Job.RED, Job.YELLOW, Job.BUILD_CHANGED);
updateFromField(redToYellowAnimeUnchangedField, Job.RED, Job.YELLOW_ANIME, Job.BUILD_UNCHANGED);
updateFromField(redToYellowAnimeChangedField, Job.RED, Job.YELLOW_ANIME, Job.BUILD_CHANGED);
updateFromField(redAnimeToYellowUnchangedField, Job.RED_ANIME, Job.YELLOW, Job.BUILD_UNCHANGED);
updateFromField(redAnimeToYellowChangedField, Job.RED_ANIME, Job.YELLOW, Job.BUILD_CHANGED);
updateFromField(redAnimeToYellowAnimeUnchangedField, Job.RED_ANIME, Job.YELLOW_ANIME, Job.BUILD_UNCHANGED);
updateFromField(redAnimeToYellowAnimeChangedField, Job.RED_ANIME, Job.YELLOW_ANIME, Job.BUILD_CHANGED);
updateFromField(redToBlueUnchangedField, Job.RED, Job.BLUE, Job.BUILD_UNCHANGED);
updateFromField(redToBlueChangedField, Job.RED, Job.BLUE, Job.BUILD_CHANGED);
updateFromField(redToBlueAnimeUnchangedField, Job.RED, Job.BLUE_ANIME, Job.BUILD_UNCHANGED);
updateFromField(redToBlueAnimeChangedField, Job.RED, Job.BLUE_ANIME, Job.BUILD_CHANGED);
updateFromField(redAnimeToBlueUnchangedField, Job.RED_ANIME, Job.BLUE, Job.BUILD_UNCHANGED);
updateFromField(redAnimeToBlueChangedField, Job.RED_ANIME, Job.BLUE, Job.BUILD_CHANGED);
updateFromField(redAnimeToBlueAnimeUnchangedField, Job.RED_ANIME, Job.BLUE_ANIME, Job.BUILD_UNCHANGED);
updateFromField(redAnimeToBlueAnimeChangedField, Job.RED_ANIME, Job.BLUE_ANIME, Job.BUILD_CHANGED);
updateFromField(redToGreyUnchangedField, Job.RED, Job.GREY, Job.BUILD_UNCHANGED);
updateFromField(redToGreyChangedField, Job.RED, Job.GREY, Job.BUILD_CHANGED);
updateFromField(redAnimeToGreyChangedField, Job.RED_ANIME, Job.GREY, Job.BUILD_CHANGED);
updateFromField(redAnimeToGreyUnchangedField, Job.RED_ANIME, Job.GREY, Job.BUILD_UNCHANGED);
updateFromField(yellowToRedUnchangedField, Job.YELLOW, Job.RED, Job.BUILD_UNCHANGED);
updateFromField(yellowToRedChangedField, Job.YELLOW, Job.RED, Job.BUILD_CHANGED);
updateFromField(yellowToRedAnimeUnchangedField, Job.YELLOW, Job.RED_ANIME, Job.BUILD_UNCHANGED);
updateFromField(yellowToRedAnimeChangedField, Job.YELLOW, Job.RED_ANIME, Job.BUILD_CHANGED);
updateFromField(yellowAnimeToRedUnchangedField, Job.YELLOW_ANIME, Job.RED, Job.BUILD_UNCHANGED);
updateFromField(yellowAnimeToRedChangedField, Job.YELLOW_ANIME, Job.RED, Job.BUILD_CHANGED);
updateFromField(yellowAnimeToRedAnimeUnchangedField, Job.YELLOW_ANIME, Job.RED_ANIME, Job.BUILD_UNCHANGED);
updateFromField(yellowAnimeToRedAnimeChangedField, Job.YELLOW_ANIME, Job.RED_ANIME, Job.BUILD_CHANGED);
updateFromField(yellowToYellowUnchangedField, Job.YELLOW, Job.YELLOW, Job.BUILD_UNCHANGED);
updateFromField(yellowToYellowChangedField, Job.YELLOW, Job.YELLOW, Job.BUILD_CHANGED);
updateFromField(yellowToYellowAnimeUnchangedField, Job.YELLOW, Job.YELLOW_ANIME, Job.BUILD_UNCHANGED);
updateFromField(yellowToYellowAnimeChangedField, Job.YELLOW, Job.YELLOW_ANIME, Job.BUILD_CHANGED);
updateFromField(yellowAnimeToYellowUnchangedField, Job.YELLOW_ANIME, Job.YELLOW, Job.BUILD_UNCHANGED);
updateFromField(yellowAnimeToYellowChangedField, Job.YELLOW_ANIME, Job.YELLOW, Job.BUILD_CHANGED);
updateFromField(yellowAnimeToYellowAnimeUnchangedField, Job.YELLOW_ANIME, Job.YELLOW_ANIME, Job.BUILD_UNCHANGED);
updateFromField(yellowAnimeToYellowAnimeChangedField, Job.YELLOW_ANIME, Job.YELLOW_ANIME, Job.BUILD_CHANGED);
updateFromField(yellowToBlueUnchangedField, Job.YELLOW, Job.BLUE, Job.BUILD_UNCHANGED);
updateFromField(yellowToBlueChangedField, Job.YELLOW, Job.BLUE, Job.BUILD_CHANGED);
updateFromField(yellowToBlueAnimeUnchangedField, Job.YELLOW, Job.BLUE_ANIME, Job.BUILD_UNCHANGED);
updateFromField(yellowToBlueAnimeChangedField, Job.YELLOW, Job.BLUE_ANIME, Job.BUILD_CHANGED);
updateFromField(yellowAnimeToBlueUnchangedField, Job.YELLOW_ANIME, Job.BLUE, Job.BUILD_UNCHANGED);
updateFromField(yellowAnimeToBlueChangedField, Job.YELLOW_ANIME, Job.BLUE, Job.BUILD_CHANGED);
updateFromField(yellowAnimeToBlueAnimeUnchangedField, Job.YELLOW_ANIME, Job.BLUE_ANIME, Job.BUILD_UNCHANGED);
updateFromField(yellowAnimeToBlueAnimeChangedField, Job.YELLOW_ANIME, Job.BLUE_ANIME, Job.BUILD_CHANGED);
updateFromField(yellowToGreyUnchangedField, Job.YELLOW, Job.GREY, Job.BUILD_UNCHANGED);
updateFromField(yellowToGreyChangedField, Job.YELLOW, Job.GREY, Job.BUILD_CHANGED);
updateFromField(yellowAnimeToGreyUnchangedField, Job.YELLOW_ANIME, Job.GREY, Job.BUILD_UNCHANGED);
updateFromField(yellowAnimeToGreyChangedField, Job.YELLOW_ANIME, Job.GREY, Job.BUILD_CHANGED);
updateFromField(blueToRedUnchangedField, Job.BLUE, Job.RED, Job.BUILD_UNCHANGED);
updateFromField(blueToRedChangedField, Job.BLUE, Job.RED, Job.BUILD_CHANGED);
updateFromField(blueToRedAnimeUnchangedField, Job.BLUE, Job.RED_ANIME, Job.BUILD_UNCHANGED);
updateFromField(blueToRedAnimeChangedField, Job.BLUE, Job.RED_ANIME, Job.BUILD_CHANGED);
updateFromField(blueAnimeToRedUnchangedField, Job.BLUE_ANIME, Job.RED, Job.BUILD_UNCHANGED);
updateFromField(blueAnimeToRedChangedField, Job.BLUE_ANIME, Job.RED, Job.BUILD_CHANGED);
updateFromField(blueAnimeToRedAnimeUnchangedField, Job.BLUE_ANIME, Job.RED_ANIME, Job.BUILD_UNCHANGED);
updateFromField(blueAnimeToRedAnimeChangedField, Job.BLUE_ANIME, Job.RED_ANIME, Job.BUILD_CHANGED);
updateFromField(blueToYellowUnchangedField, Job.BLUE, Job.YELLOW, Job.BUILD_UNCHANGED);
updateFromField(blueToYellowChangedField, Job.BLUE, Job.YELLOW, Job.BUILD_CHANGED);
updateFromField(blueToYellowAnimeUnchangedField, Job.BLUE, Job.YELLOW_ANIME, Job.BUILD_UNCHANGED);
updateFromField(blueToYellowAnimeChangedField, Job.BLUE, Job.YELLOW_ANIME, Job.BUILD_CHANGED);
updateFromField(blueAnimeToYellowUnchangedField, Job.BLUE_ANIME, Job.YELLOW, Job.BUILD_UNCHANGED);
updateFromField(blueAnimeToYellowChangedField, Job.BLUE_ANIME, Job.YELLOW, Job.BUILD_CHANGED);
updateFromField(blueAnimeToYellowAnimeUnchangedField, Job.BLUE_ANIME, Job.YELLOW_ANIME, Job.BUILD_UNCHANGED);
updateFromField(blueAnimeToYellowAnimeChangedField, Job.BLUE_ANIME, Job.YELLOW_ANIME, Job.BUILD_CHANGED);
updateFromField(blueToBlueUnchangedField, Job.BLUE, Job.BLUE, Job.BUILD_UNCHANGED);
updateFromField(blueToBlueChangedField, Job.BLUE, Job.BLUE, Job.BUILD_CHANGED);
updateFromField(blueToBlueAnimeUnchangedField, Job.BLUE, Job.BLUE_ANIME, Job.BUILD_UNCHANGED);
updateFromField(blueToBlueAnimeChangedField, Job.BLUE, Job.BLUE_ANIME, Job.BUILD_CHANGED);
updateFromField(blueAnimeToBlueUnchangedField, Job.BLUE_ANIME, Job.BLUE, Job.BUILD_UNCHANGED);
updateFromField(blueAnimeToBlueChangedField, Job.BLUE_ANIME, Job.BLUE, Job.BUILD_CHANGED);
updateFromField(blueAnimeToBlueAnimeUnchangedField, Job.BLUE_ANIME, Job.BLUE_ANIME, Job.BUILD_UNCHANGED);
updateFromField(blueAnimeToBlueAnimeChangedField, Job.BLUE_ANIME, Job.BLUE_ANIME, Job.BUILD_CHANGED);
updateFromField(blueToGreyUnchangedField, Job.BLUE, Job.GREY, Job.BUILD_UNCHANGED);
updateFromField(blueToGreyChangedField, Job.BLUE, Job.GREY, Job.BUILD_CHANGED);
updateFromField(blueAnimeToGreyUnchangedField, Job.BLUE_ANIME, Job.GREY, Job.BUILD_UNCHANGED);
updateFromField(blueAnimeToGreyChangedField, Job.BLUE_ANIME, Job.GREY, Job.BUILD_CHANGED);
updateFromField(greyToRedUnchangedField, Job.GREY, Job.RED, Job.BUILD_UNCHANGED);
updateFromField(greyToRedChangedField, Job.GREY, Job.RED, Job.BUILD_CHANGED);
updateFromField(greyToRedAnimeUnchangedField, Job.GREY, Job.RED_ANIME, Job.BUILD_UNCHANGED);
updateFromField(greyToRedAnimeChangedField, Job.GREY, Job.RED_ANIME, Job.BUILD_CHANGED);
updateFromField(greyToYellowUnchangedField, Job.GREY, Job.YELLOW, Job.BUILD_UNCHANGED);
updateFromField(greyToYellowChangedField, Job.GREY, Job.YELLOW, Job.BUILD_CHANGED);
updateFromField(greyToYellowAnimeUnchangedField, Job.GREY, Job.YELLOW_ANIME, Job.BUILD_UNCHANGED);
updateFromField(greyToYellowAnimeChangedField, Job.GREY, Job.YELLOW_ANIME, Job.BUILD_CHANGED);
updateFromField(greyToBlueUnchangedField, Job.GREY, Job.BLUE, Job.BUILD_UNCHANGED);
updateFromField(greyToBlueChangedField, Job.GREY, Job.BLUE, Job.BUILD_CHANGED);
updateFromField(greyToBlueAnimeUnchangedField, Job.GREY, Job.BLUE_ANIME, Job.BUILD_UNCHANGED);
updateFromField(greyToBlueAnimeChangedField, Job.GREY, Job.BLUE_ANIME, Job.BUILD_CHANGED);
updateFromField(greyToGreyUnchangedField, Job.GREY, Job.GREY, Job.BUILD_UNCHANGED);
updateFromField(greyToGreyChangedField, Job.GREY, Job.GREY, Job.BUILD_CHANGED);
}
private void updateToField(final JTextField field, final Integer colourFrom, final Integer colourTo, final Integer buildType) {
FileExecutor action = (FileExecutor) prefs.getAction(colourFrom, colourTo, buildType);
if (action != null) {
field.setText(action.getFileToExecute());
field.invalidate();
}
}
private void updateFromField(final JTextField field, final Integer colourFrom, final Integer colourTo, final Integer buildType) {
prefs.setAction(colourFrom, colourTo, buildType, field.getText());
}
private void updatePreferencesFromUIConfiguration() {
prefs.setShowAnimatedBuilds(showAnimatedBuildCB.isSelected());
prefs.setShowHealthIcon(showHealthCB.isSelected());
prefs.setShowPopupNotifications(showPopupNotificationCB.isSelected());
}
private void updateUIConfigurationFromPreferences() {
showAnimatedBuildCB.setSelected(prefs.isShowAnimatedBuilds());
showHealthCB.setSelected(prefs.isShowHealthIcon());
showPopupNotificationCB.setSelected(prefs.isShowPopupNotifications());
}
public void updateServerListModel(Model model) {
this.model = model;
if (serverListModel == null) {
serverListModel = new ServerListModel(model);
serverList.setModel(serverListModel);
serverList.setSelectedIndices(new int[0]);
serverLocationField.setEnabled(false);
serverNameField.setEnabled(false);
serverList.repaint();
}
serverListModel.setModel(model);
}
public void setPreferences(Preferences prefs) {
this.prefs = prefs;
updateField.setText(Integer.toString(prefs.getUpdateFrequency()));
}
/**
* This method initializes configurationBottomPanel
*
* @return javax.swing.JPanel
*/
private JPanel getConfigurationBottomPanel() {
if (configurationBottomPanel == null) {
configurationBottomPanel = new JPanel();
configurationBottomPanel.setLayout(new BorderLayout());
}
return configurationBottomPanel;
}
}