package org.synthuse.controllers;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
import org.synthuse.Config;
import org.synthuse.views.SynthuseConfigPanel;
public class SynthuseConfigDialogControllers {
public static void initializeUI(SynthuseConfigPanel aSynthuseConfigPanel, Config aConfig) {
aSynthuseConfigPanel.getAlwaysOnTopCheckBox().setSelected(aConfig.isAlwaysOnTop());
aSynthuseConfigPanel.getDisableFiltersUiaCheckBox().setSelected(aConfig.isFilterUiaDisabled());
aSynthuseConfigPanel.getDisableUiaBridgeCheckBox().setSelected(aConfig.isUiaBridgeDisabled());
aSynthuseConfigPanel.getRefreshKeyTextField().setText(Character.toString(aConfig.getRefreshKey()));
aSynthuseConfigPanel.getStrongTextMatchingCheckBox().setSelected(aConfig.isUseStrongTextMatching());
aSynthuseConfigPanel.getTargetKeyTextField().setText(Character.toString(aConfig.getTargetKey()));
aSynthuseConfigPanel.getXPathHighlightTextField().setText(aConfig.getXpathHighlight());
aSynthuseConfigPanel.getXPathListTextField().setText(aConfig.getXpathList());
}
public static void bindActionControllers(final SynthuseConfigPanel aSynthuseConfigPanel, final Config aConfig) {
aSynthuseConfigPanel.getAlwaysOnTopCheckBox().addActionListener(alwaysOnTopCheckboxActionHandler(aSynthuseConfigPanel, aConfig));
aSynthuseConfigPanel.getDisableFiltersUiaCheckBox().addActionListener(disableFiltersUiaCheckboxActionHandler(aSynthuseConfigPanel, aConfig));
aSynthuseConfigPanel.getDisableUiaBridgeCheckBox().addActionListener(disableUiaBridgeCheckboxActionHandler(aSynthuseConfigPanel, aConfig));
aSynthuseConfigPanel.getRefreshKeyTextField().addActionListener(refreshKeyCodeTextFieldActionHandler(aSynthuseConfigPanel, aConfig));
aSynthuseConfigPanel.getStrongTextMatchingCheckBox().addActionListener(strongTextMatchingCheckboxActionHandler(aSynthuseConfigPanel, aConfig));
aSynthuseConfigPanel.getTargetKeyTextField().addActionListener(targetKeyCodeTextFieldActionHandler(aSynthuseConfigPanel, aConfig));
aSynthuseConfigPanel.getXPathHighlightTextField().addActionListener(xpathHighlightTextFieldActionHandler(aSynthuseConfigPanel, aConfig));
aSynthuseConfigPanel.getXPathListTextField().addActionListener(xpathListTextFieldActionHandler(aSynthuseConfigPanel, aConfig));
}
private static ActionListener xpathListTextFieldActionHandler(final SynthuseConfigPanel aSynthuseConfigPanel,
final Config aConfig) {
return new ActionListener() {
@Override
public void actionPerformed(ActionEvent aE) {
aConfig.setXPathList(aSynthuseConfigPanel.getXPathListTextField().getText());
JOptionPane.showMessageDialog(aSynthuseConfigPanel, "May require restart to be effective");
}
};
}
private static ActionListener xpathHighlightTextFieldActionHandler(final SynthuseConfigPanel aSynthuseConfigPanel,
final Config aConfig) {
return new ActionListener() {
@Override
public void actionPerformed(ActionEvent aE) {
aConfig.setXPathHighlight(aSynthuseConfigPanel.getXPathHighlightTextField().getText());
JOptionPane.showMessageDialog(aSynthuseConfigPanel, "May require restart to be effective");
}
};
}
private static ActionListener targetKeyCodeTextFieldActionHandler(final SynthuseConfigPanel aSynthuseConfigPanel,
final Config aConfig) {
return new ActionListener() {
@Override
public void actionPerformed(ActionEvent aE) {
aConfig.setTargetKey(aSynthuseConfigPanel.getTargetKeyTextField().getText());
JOptionPane.showMessageDialog(aSynthuseConfigPanel, "May require restart to be effective");
}
};
}
private static ActionListener strongTextMatchingCheckboxActionHandler(
final SynthuseConfigPanel aSynthuseConfigPanel, final Config aConfig) {
return new ActionListener() {
@Override
public void actionPerformed(ActionEvent aE) {
aConfig.setUseStrongTextMatching(aSynthuseConfigPanel.getStrongTextMatchingCheckBox().isSelected());
}
};
}
private static ActionListener refreshKeyCodeTextFieldActionHandler(final SynthuseConfigPanel aSynthuseConfigPanel,
final Config aConfig) {
return new ActionListener() {
@Override
public void actionPerformed(ActionEvent aE) {
aConfig.setRefreshKey(aSynthuseConfigPanel.getRefreshKeyTextField().getText());
JOptionPane.showMessageDialog(aSynthuseConfigPanel, "May require restart to be effective");
}
};
}
private static ActionListener disableUiaBridgeCheckboxActionHandler(final SynthuseConfigPanel aSynthuseConfigPanel,
final Config aConfig) {
return new ActionListener() {
@Override
public void actionPerformed(ActionEvent aE) {
aConfig.setDisableUiaBridge(aSynthuseConfigPanel.getDisableUiaBridgeCheckBox().isSelected());
JOptionPane.showMessageDialog(aSynthuseConfigPanel, "May require restart to be effective");
}
};
}
private static ActionListener disableFiltersUiaCheckboxActionHandler(final SynthuseConfigPanel aSynthuseConfigPanel,
final Config aConfig) {
return new ActionListener() {
@Override
public void actionPerformed(ActionEvent aE) {
aConfig.setDisableFiltersUia(aSynthuseConfigPanel.getDisableFiltersUiaCheckBox().isSelected());
JOptionPane.showMessageDialog(aSynthuseConfigPanel, "May require restart to be effective");
}
};
}
private static ActionListener alwaysOnTopCheckboxActionHandler(final SynthuseConfigPanel aSynthuseConfigPanel,
final Config aConfig) {
return new ActionListener() {
@Override
public void actionPerformed(ActionEvent aE) {
aConfig.setAlwaysOnTop(aSynthuseConfigPanel.getAlwaysOnTopCheckBox().isSelected());
JOptionPane.showMessageDialog(aSynthuseConfigPanel, "May require restart to be effective");
}
};
}
}