/* MP5ExpertConfigPanel.java created 2008-01-30 * */ package org.signalml.app.method.mp5; import static org.signalml.app.util.i18n.SvarogI18n._; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout; import javax.swing.JPanel; import javax.swing.border.TitledBorder; import org.signalml.app.model.components.validation.ValidationErrors; import org.signalml.app.util.SwingUtils; import org.signalml.app.view.common.components.CompactButton; import org.signalml.app.view.common.components.panels.TextPanePanel; import org.signalml.app.view.common.dialogs.AbstractDialog; import org.signalml.method.mp5.MP5Parameters; /** MP5ExpertConfigPanel * * * @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o. */ public class MP5ExpertConfigPanel extends JPanel { private static final long serialVersionUID = 1L; private MP5ExecutorManager executorManager; private AbstractDialog owner; private TextPanePanel additionalConfigTextPane; private TextPanePanel bookCommentPanel; private MP5ExecutorPanel executorPanel; public MP5ExpertConfigPanel(MP5ExecutorManager executorManager, AbstractDialog owner) { super(); this.owner = owner; this.executorManager = executorManager; initialize(); } private void initialize() { setLayout(new BorderLayout()); JPanel additionalConfigPanel = new JPanel(new BorderLayout(3,3)); additionalConfigPanel.setBorder(new TitledBorder(_("Additional config (will be appended to config file as is)"))); // CompactButton additionalConfigHelpButton = SwingUtils.createFieldHelpButton(owner, MP5MethodDialog.HELP_ADDITIONAL_CONFIG); // JPanel additionalConfigHelpPanel = new JPanel(new FlowLayout(FlowLayout.TRAILING)); // additionalConfigHelpPanel.add(additionalConfigHelpButton); additionalConfigPanel.add(getAdditionalConfigTextPane(), BorderLayout.CENTER); // additionalConfigPanel.add(additionalConfigHelpPanel, BorderLayout.SOUTH); JPanel bottomPanel = new JPanel(new BorderLayout(3,3)); bottomPanel.setBorder(new TitledBorder(_("Book comment"))); // CompactButton bookCommentHelpButton = SwingUtils.createFieldHelpButton(owner, MP5MethodDialog.HELP_BOOK_COMMENT); // JPanel bookHelpPanel = new JPanel(new FlowLayout(FlowLayout.TRAILING)); // bookHelpPanel.add(bookCommentHelpButton); bottomPanel.add(getBookCommentPanel(), BorderLayout.CENTER); // bottomPanel.add(bookHelpPanel, BorderLayout.SOUTH); add(additionalConfigPanel, BorderLayout.NORTH); add(bottomPanel, BorderLayout.CENTER); add(getExecutorPanel(), BorderLayout.SOUTH); } public TextPanePanel getAdditionalConfigTextPane() { if (additionalConfigTextPane == null) { additionalConfigTextPane = new TextPanePanel(null); additionalConfigTextPane.setPreferredSize(new Dimension(200,150)); } return additionalConfigTextPane; } public TextPanePanel getBookCommentPanel() { if (bookCommentPanel == null) { bookCommentPanel = new TextPanePanel(null); bookCommentPanel.setPreferredSize(new Dimension(200,80)); } return bookCommentPanel; } public MP5ExecutorPanel getExecutorPanel() { if (executorPanel == null) { executorPanel = new MP5ExecutorPanel(executorManager); } return executorPanel; } public void fillPanelFromParameters(MP5Parameters parameters) { getAdditionalConfigTextPane().getTextPane().setText(parameters.getCustomConfigText()); getBookCommentPanel().getTextPane().setText(parameters.getBookComment()); } public void fillParametersFromPanel(MP5Parameters parameters) { parameters.setCustomConfigText(getAdditionalConfigTextPane().getTextPane().getText().trim()); parameters.setBookComment(getBookCommentPanel().getTextPane().getText()); } public void validatePanel(ValidationErrors errors) { // additional config panel is ok } }