/* ExampleMethodDialog.java created 2007-10-22 * */ package org.signalml.app.method.example; import static org.signalml.app.util.i18n.SvarogI18n._; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Window; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JCheckBox; import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.border.CompoundBorder; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; import org.signalml.app.method.ApplicationMethodManager; import org.signalml.app.method.InitializingMethodConfigurer; import org.signalml.app.view.common.dialogs.AbstractDialog; import org.signalml.method.Method; import org.signalml.method.example.ExampleData; import org.signalml.plugin.export.SignalMLException; /** ExampleMethodDialog * * * @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o. */ public class ExampleMethodDialog extends AbstractDialog implements InitializingMethodConfigurer { private static final long serialVersionUID = 1L; private JTextField textField; private JCheckBox noWaitCheckBox; public ExampleMethodDialog(Window window) { super(window,true); } @Override public void fillDialogFromModel(Object model) throws SignalMLException { ExampleData ed = (ExampleData) model; textField.setText(ed.getCount().toString()); noWaitCheckBox.setSelected(ed.isNoWait()); } @Override public void fillModelFromDialog(Object model) throws SignalMLException { ExampleData ed = (ExampleData) model; ed.setCount(new Integer(textField.getText())); ed.setNoWait(noWaitCheckBox.isSelected()); } @Override public JComponent createInterface() { JLabel label = new JLabel(_("Useless deliberation count")); textField = new JTextField(); textField.setPreferredSize(new Dimension(150,20)); textField.setHorizontalAlignment(JTextField.RIGHT); JPanel panel = new JPanel(); panel.setLayout(new BoxLayout(panel,BoxLayout.X_AXIS)); panel.add(label); panel.add(Box.createHorizontalStrut(5)); panel.add(textField); JLabel noWaitLabel = new JLabel(_("Hurry up")); noWaitCheckBox = new JCheckBox(); JPanel noWaitPanel = new JPanel(); noWaitPanel.setLayout(new BoxLayout(noWaitPanel,BoxLayout.X_AXIS)); noWaitPanel.add(noWaitLabel); panel.add(Box.createHorizontalStrut(5)); noWaitPanel.add(Box.createHorizontalGlue()); noWaitPanel.add(noWaitCheckBox); JPanel interfacePanel = new JPanel(new BorderLayout(3,3)); CompoundBorder cb = new CompoundBorder( new TitledBorder(_("Configure search")), new EmptyBorder(3,3,3,3) ); interfacePanel.setBorder(cb); interfacePanel.add(panel, BorderLayout.CENTER); interfacePanel.add(noWaitPanel, BorderLayout.SOUTH); return interfacePanel; } @Override public void initialize(ApplicationMethodManager manager) { // do nothing } @Override protected void initialize() { setTitle(_("Configure search")); super.initialize(); } @Override public boolean supportsModelClass(Class<?> clazz) { return ExampleData.class.isAssignableFrom(clazz); } @Override public boolean configure(Method method, Object methodDataObj) throws SignalMLException { return showDialog(methodDataObj, true); } }