/* StagerBasicConfigPanel.java created 2008-02-14
*
*/
package org.signalml.plugin.newstager.ui;
import java.awt.BorderLayout;
import javax.swing.Box;
import javax.swing.JPanel;
import org.signalml.app.model.components.validation.ValidationErrors;
import org.signalml.app.view.common.dialogs.AbstractDialog;
import org.signalml.plugin.export.view.FileChooser;
import org.signalml.plugin.newstager.data.NewStagerParametersPreset;
/**
* StagerBasicConfigPanel
*
*
* @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe
* Sp. z o.o.
*/
public class NewStagerBasicConfigPanel extends JPanel {
private static final long serialVersionUID = 1L;
private AbstractDialog owner;
private FileChooser fileChooser;
private NewStagerBookPanel bookPanel;
private NewStagerBasicParametersPanel parametersPanel;
private NewStagerEnableAdvancedConfigPanel enableAdvancedConfigPanel;
private NewStagerAdvancedConfigObservable advancedConfigObservable;
public NewStagerBasicConfigPanel(FileChooser fileChooser,
AbstractDialog owner,
NewStagerAdvancedConfigObservable advancedConfigObservable) {
super();
this.fileChooser = fileChooser;
this.owner = owner;
this.advancedConfigObservable = advancedConfigObservable;
initialize();
}
private void initialize() {
setLayout(new BorderLayout());
add(getBookPanel(), BorderLayout.NORTH);
NewStagerBasicParametersPanel paramPanel = getParametersPanel();
JPanel centerEnclosurePanel = new JPanel(new BorderLayout());
centerEnclosurePanel.setBorder(paramPanel.getBorder());
paramPanel.setBorder(null);
centerEnclosurePanel.add(paramPanel, BorderLayout.NORTH);
centerEnclosurePanel.add(Box.createVerticalGlue(), BorderLayout.CENTER);
add(centerEnclosurePanel, BorderLayout.CENTER);
add(getEnableAdvancedConfigPanel(), BorderLayout.SOUTH);
}
public NewStagerBookPanel getBookPanel() {
if (bookPanel == null) {
bookPanel = new NewStagerBookPanel(fileChooser);
}
return bookPanel;
}
public NewStagerBasicParametersPanel getParametersPanel() {
if (parametersPanel == null) {
parametersPanel = new NewStagerBasicParametersPanel(owner,
this.advancedConfigObservable);
}
return parametersPanel;
}
public NewStagerEnableAdvancedConfigPanel getEnableAdvancedConfigPanel() {
if (enableAdvancedConfigPanel == null) {
enableAdvancedConfigPanel = new NewStagerEnableAdvancedConfigPanel(
owner, this.advancedConfigObservable);
}
return enableAdvancedConfigPanel;
}
public void fillPanelFromParameters(
NewStagerParametersPreset parametersPreset) {
getBookPanel().fillPanelFromModel(parametersPreset);
getParametersPanel().fillPanelFromParameters(parametersPreset);
getEnableAdvancedConfigPanel()
.fillPanelFromParameters(parametersPreset);
}
public void fillParametersFromPanel(
NewStagerParametersPreset parametersPreset) {
getBookPanel().fillModelFromPanel(parametersPreset);
getParametersPanel().fillParametersFromPanel(parametersPreset);
getEnableAdvancedConfigPanel()
.fillParametersFromPanel(parametersPreset);
}
public void validatePanel(ValidationErrors errors) {
getBookPanel().validatePanel(errors);
getParametersPanel().validatePanel(errors);
getEnableAdvancedConfigPanel().validatePanel(errors);
}
}