package org.signalml.app.method.ep; import static org.signalml.app.util.i18n.SvarogI18n._; import java.awt.BorderLayout; import java.util.List; import javax.swing.DefaultComboBoxModel; import javax.swing.JComboBox; import javax.swing.JComponent; import org.signalml.app.method.ep.view.tags.TagStyleGroup; import org.signalml.app.view.common.components.panels.AbstractPanel; import org.signalml.app.view.common.dialogs.AbstractDialog; import org.signalml.plugin.export.SignalMLException; /** * A dialog for selecting which tag group should be exported. * * @author Piotr Szachewicz */ public class SelectTagGroupDialog extends AbstractDialog { private JComboBox selectTagGroupComboBox; public SelectTagGroupDialog() { super(); setModal(true); setLocationRelativeTo(null); } @Override protected JComponent createInterface() { AbstractPanel panel = new AbstractPanel(_("Select tag group")); panel.setLayout(new BorderLayout()); panel.add(getSelectTagGroupComboBox(), BorderLayout.CENTER); return panel; } public JComboBox getSelectTagGroupComboBox() { if (selectTagGroupComboBox == null) { selectTagGroupComboBox = new JComboBox(); } return selectTagGroupComboBox; } @Override public boolean supportsModelClass(Class<?> clazz) { return true; } @Override protected void fillDialogFromModel(Object model) throws SignalMLException { List<TagStyleGroup> groups = (List<TagStyleGroup>) model; getSelectTagGroupComboBox().setModel(new DefaultComboBoxModel(groups.toArray(new TagStyleGroup[0]))); } @Override public void fillModelFromDialog(Object model) throws SignalMLException { List<TagStyleGroup> groups = (List<TagStyleGroup>) model; groups.clear(); groups.add((TagStyleGroup) selectTagGroupComboBox.getSelectedItem()); } }