/* StagerEnableAdvancedConfigPanel.java created 2008-02-14
*
*/
package org.signalml.plugin.newstager.ui;
import static org.signalml.plugin.i18n.PluginI18n._;
import java.awt.BorderLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JCheckBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.CompoundBorder;
import javax.swing.border.EmptyBorder;
import javax.swing.border.TitledBorder;
import org.signalml.app.model.components.validation.ValidationErrors;
import org.signalml.app.view.common.dialogs.AbstractDialog;
import org.signalml.plugin.newstager.data.NewStagerParametersPreset;
/**
* StagerEnableAdvancedConfigPanel
*
*
* @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe
* Sp. z o.o.
*/
public class NewStagerEnableAdvancedConfigPanel extends JPanel {
private static final long serialVersionUID = 1L;
private JCheckBox enableAdvancedCheckBox;
private NewStagerAdvancedConfigObservable advancedConfigEnabledObservable;
public NewStagerEnableAdvancedConfigPanel(AbstractDialog owner,
NewStagerAdvancedConfigObservable advancedConfigEnabledObservable) {
super();
this.advancedConfigEnabledObservable = advancedConfigEnabledObservable;
initialize();
}
private void initialize() {
setLayout(new BorderLayout(3, 3));
CompoundBorder border = new CompoundBorder(new TitledBorder(
_("Advanced config")), new EmptyBorder(3, 3, 3, 3));
setBorder(border);
JLabel enableAdvancedLabel = new JLabel(_("Enable advanced config"));
add(enableAdvancedLabel, BorderLayout.CENTER);
add(getEnableAdvancedCheckBox(), BorderLayout.EAST);
}
public JCheckBox getEnableAdvancedCheckBox() {
if (enableAdvancedCheckBox == null) {
enableAdvancedCheckBox = new JCheckBox();
enableAdvancedCheckBox.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
if (advancedConfigEnabledObservable != null) {
switch (e.getStateChange()) {
case ItemEvent.SELECTED:
advancedConfigEnabledObservable.setEnabled(true);
return;
case ItemEvent.DESELECTED:
advancedConfigEnabledObservable.setEnabled(false);
return;
default:
return;
}
}
}
});
}
return enableAdvancedCheckBox;
}
public void fillPanelFromParameters(
NewStagerParametersPreset parametersPreset) {
getEnableAdvancedCheckBox().setSelected(
parametersPreset.enableAdvancedParameters);
}
public void fillParametersFromPanel(
NewStagerParametersPreset parametersPreset) {
parametersPreset.enableAdvancedParameters = getEnableAdvancedCheckBox()
.isSelected();
}
public void validatePanel(ValidationErrors errors) {
// nothing to do
}
}