/* SaveForLaterUseDialog.java created 2008-01-31
*
*/
package org.signalml.app.method.mp5;
import static org.signalml.app.util.i18n.SvarogI18n._;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.Window;
import javax.swing.JCheckBox;
import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.border.CompoundBorder;
import javax.swing.border.EmptyBorder;
import javax.swing.border.TitledBorder;
import org.signalml.app.util.IconUtils;
import org.signalml.app.view.common.dialogs.AbstractDialog;
import org.signalml.plugin.export.SignalMLException;
/** SaveForLaterUseDialog
*
*
* @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o.
*/
public class MP5SaveForLaterUseDialog extends AbstractDialog {
private static final long serialVersionUID = 1L;
private JCheckBox saveConfigCheckBox;
private JCheckBox saveSignalCheckBox;
public MP5SaveForLaterUseDialog() {
super();
}
public MP5SaveForLaterUseDialog(Window w, boolean isModal) {
super(w, isModal);
}
@Override
protected void initialize() {
setTitle(_("Save for later use"));
setIconImage(IconUtils.loadClassPathImage(MP5MethodDescriptor.ICON_PATH));
setResizable(false);
super.initialize();
}
@Override
public JComponent createInterface() {
JPanel interfacePanel = new JPanel(new GridLayout(2,1,3,3));
CompoundBorder border = new CompoundBorder(
new TitledBorder(_("Choose what to save")),
new EmptyBorder(3,3,3,3)
);
interfacePanel.setBorder(border);
interfacePanel.add(getSaveSignalCheckBox(), BorderLayout.NORTH);
interfacePanel.add(getSaveConfigCheckBox(), BorderLayout.CENTER);
return interfacePanel;
}
public JCheckBox getSaveConfigCheckBox() {
if (saveConfigCheckBox == null) {
saveConfigCheckBox = new JCheckBox(_("Save MP configuration"));
}
return saveConfigCheckBox;
}
public JCheckBox getSaveSignalCheckBox() {
if (saveSignalCheckBox == null) {
saveSignalCheckBox = new JCheckBox(_("Save signal for MP computation"));
}
return saveSignalCheckBox;
}
@Override
public void fillDialogFromModel(Object model) throws SignalMLException {
MP5SaveForLaterUseDescriptor descriptor = (MP5SaveForLaterUseDescriptor) model;
getSaveConfigCheckBox().setSelected(descriptor.isSaveConfig());
getSaveSignalCheckBox().setSelected(descriptor.isSaveSignal());
}
@Override
public void fillModelFromDialog(Object model) throws SignalMLException {
MP5SaveForLaterUseDescriptor descriptor = (MP5SaveForLaterUseDescriptor) model;
descriptor.setSaveConfig(getSaveConfigCheckBox().isSelected());
descriptor.setSaveSignal(getSaveSignalCheckBox().isSelected());
}
@Override
public boolean supportsModelClass(Class<?> clazz) {
return MP5SaveForLaterUseDescriptor.class.isAssignableFrom(clazz);
}
}