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.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import org.apache.log4j.Logger;
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 ASCIIExportOptionsPanel extends AbstractExportOptionsPanel {
private static final long serialVersionUID = 1L;
protected static final Logger logger = Logger
.getLogger(ASCIIExportOptionsPanel.class);
private JTextField separatorField;
/**
* This is the default constructor
*/
public ASCIIExportOptionsPanel() {
super();
}
protected JTextField getSeparatorField() {
if (separatorField == null) {
separatorField = new JTextField(18);
}
return separatorField;
}
public void setSeparator(String separator) {
this.separatorField.setText(separator);
}
public String getSeparator() {
return this.separatorField.getText();
}
public boolean isSeparatorSelected() {
String t = getSeparatorField().getText();
return t != null && !"".equals(t);
}
@Override
public void fillPanelFromModel(SignalExportDescriptor descriptor) {
separatorField.setText(descriptor.getSeparator());
}
@Override
public void fillModelFromPanel(SignalExportDescriptor descriptor) {
descriptor.setSeparator(separatorField.getText());
descriptor.setSaveXML(false);
}
@Override
protected List<ComponentWithLabel> createComponents() {
List<ComponentWithLabel> components = new ArrayList<ComponentWithLabel>();
components.add(new ComponentWithLabel(new JLabel(_("Separator: ")), getSeparatorField()));
components.add(new ComponentWithLabel(new JLabel(""), new JPanel()));
return components;
}
@Override
protected int getNumberOfColumns() {
return 2;
}
}