/* MinMaxSpinnerPanel.java created 2008-02-14 * */ package org.signalml.plugin.newstager.ui.components; import java.awt.GridLayout; import javax.swing.JPanel; import org.signalml.util.MinMaxRange; /** * MinMaxSpinnerPanel * * * @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe * Sp. z o.o. */ public class NewStagerMinMaxSpinnerPanel extends JPanel { private static final long serialVersionUID = 1L; private NewStagerUnlimitedAutoSpinnerPanel minPanel; private NewStagerUnlimitedAutoSpinnerPanel maxPanel; public NewStagerMinMaxSpinnerPanel(double minValue, double maxValue, double min, double max, double step, double minAuto, double maxAuto) { super(); setLayout(new GridLayout(2, 1, 0, 3)); minPanel = new NewStagerUnlimitedAutoSpinnerPanel(minValue, min, max, step, minAuto, true, false); maxPanel = new NewStagerUnlimitedAutoSpinnerPanel(maxValue, min, max, step, maxAuto, true, false); add(minPanel); add(maxPanel); } public double getMin() { return minPanel.getValue(); } public void setMin(double min) { minPanel.setValue(min); } public boolean isMinUnlimited() { return minPanel.isUnlimited(); } public void setMinUnlimited(boolean unlimited) { minPanel.setUnlimited(unlimited); } public double getMinWithUnlimited() { return minPanel.getValueWithUnlimited(); } public void setMinWithUnlimited(double min) { minPanel.setValueWithUnlimited(min); } public double getMax() { return maxPanel.getValue(); } public void setMax(double max) { maxPanel.setValue(max); } public boolean isMaxUnlimited() { return maxPanel.isUnlimited(); } public void setMaxUnlimited(boolean unlimited) { maxPanel.setUnlimited(unlimited); } public double getMaxWithUnlimited() { return maxPanel.getValueWithUnlimited(); } public void setMaxWithUnlimited(double max) { maxPanel.setValueWithUnlimited(max); } public void setRange(MinMaxRange range) { this.setRange(range, null, null); } public void setRange(MinMaxRange range, Double autoMin, Double autoMax) { this.setPanel(minPanel, range.getMin(), range.isMinUnlimited(), autoMin); this.setPanel(maxPanel, range.getMax(), range.isMaxUnlimited(), autoMax); } private void setPanel(NewStagerUnlimitedAutoSpinnerPanel panel, double value, boolean unlimited, Double autoValue) { panel.setValue(value); panel.setUnlimited(unlimited); if (autoValue != null) { panel.setAuto(); panel.setAutoValue(autoValue); } } public void getRange(MinMaxRange range) { range.setMin(minPanel.getValue()); range.setMinUnlimited(minPanel.isUnlimited()); range.setMax(maxPanel.getValue()); range.setMaxUnlimited(maxPanel.isUnlimited()); } public boolean isMinAuto() { return minPanel.isAuto(); } public boolean isMaxAuto() { return maxPanel.isAuto(); } }