package org.signalml.app.view.signal.export;
import static org.signalml.app.util.i18n.SvarogI18n._;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JCheckBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import org.signalml.app.model.signal.SignalExportDescriptor;
import org.signalml.app.view.common.components.panels.ComponentWithLabel;
/**
* This class represents a panel which may be used to select a file. It contains
* text fields where a file name can be entered, a label for this field (which
* can be set in the constructor) and a button which opens a dialog using which
* a file path can be selected more conveniently.
*/
public class EEGLabExportOptionsPanel extends AbstractExportOptionsPanel {
private JCheckBox exportTagsCheckbox;
/**
* This is the default constructor
*/
public EEGLabExportOptionsPanel() {
super();
}
protected JCheckBox getTagExportField() {
if (exportTagsCheckbox == null) {
exportTagsCheckbox = new JCheckBox();
}
return exportTagsCheckbox;
}
@Override
public void fillPanelFromModel(SignalExportDescriptor descriptor) {
exportTagsCheckbox.setSelected(descriptor.isExportTags());
}
@Override
public void fillModelFromPanel(SignalExportDescriptor descriptor) {
descriptor.setExportTags(exportTagsCheckbox.isSelected());
descriptor.setSaveXML(false);
}
@Override
protected List<ComponentWithLabel> createComponents() {
List<ComponentWithLabel> components = new ArrayList<ComponentWithLabel>();
components.add(new ComponentWithLabel(new JLabel(_("Export tags")), getTagExportField()));
components.add(new ComponentWithLabel(new JLabel(""), new JPanel()));
return components;
}
@Override
protected int getNumberOfColumns() {
return 2;
}
}