package org.signalml.app.method.ep.view.time; import static org.signalml.app.util.i18n.SvarogI18n._; import java.util.ArrayList; import java.util.List; import javax.swing.JLabel; import javax.swing.SpinnerNumberModel; import org.signalml.app.view.common.components.panels.ComponentWithLabel; import org.signalml.app.view.common.components.panels.LabeledComponentsPanel; import org.signalml.app.view.common.components.spinners.FloatSpinner; /** * This is a panel for selecting a time span * (e.g. for selecting baseline or averaged time span). * * @author Piotr Szachewicz */ public class TimeSelectionPanel extends LabeledComponentsPanel { protected FloatSpinner startTimeSpinner; protected FloatSpinner lengthSpinner; public TimeSelectionPanel(String label) { super(label); } protected FloatSpinner getStartTimeSpinner() { if (startTimeSpinner == null) { startTimeSpinner = new FloatSpinner(new SpinnerNumberModel(1.0, -100.0, 100.0, 0.1)); } return startTimeSpinner; } protected FloatSpinner getLengthSpinner() { if (lengthSpinner == null) { lengthSpinner = new FloatSpinner(new SpinnerNumberModel(2.0, 0.1, 100.0, 0.1)); } return lengthSpinner; } @Override protected List<ComponentWithLabel> createComponents() { List<ComponentWithLabel> components = new ArrayList<ComponentWithLabel>(); components.add(new ComponentWithLabel(new JLabel(_("Start time [sec]")), getStartTimeSpinner())); components.add(new ComponentWithLabel(new JLabel(_("Length [sec]")), getLengthSpinner())); return components; } @Override protected int getNumberOfColumns() { return 1; } }