From bbcd29cba9bc8b5388f5d47abcc0c51869b479a4 Mon Sep 17 00:00:00 2001 From: Filip Leonarski Date: Sat, 31 Jan 2026 22:40:45 +0100 Subject: [PATCH] SliderPlusBox: Can change slider max value --- viewer/widgets/SliderPlusBox.cpp | 12 ++++++++++++ viewer/widgets/SliderPlusBox.h | 1 + 2 files changed, 13 insertions(+) diff --git a/viewer/widgets/SliderPlusBox.cpp b/viewer/widgets/SliderPlusBox.cpp index f7ccf12e..5ecb7d86 100644 --- a/viewer/widgets/SliderPlusBox.cpp +++ b/viewer/widgets/SliderPlusBox.cpp @@ -14,6 +14,10 @@ SliderPlusBox::SliderPlusBox(double min, double max, double step, int decimals, throw JFJochException(JFJochExceptionCategory::InputParameterInvalid, "Minimum value must be greater than zero for logarithmic scale"); + if (m_max <= m_min) + throw JFJochException(JFJochExceptionCategory::InputParameterInvalid, + "Maximum value must be greater than minimum"); + QHBoxLayout* layout = new QHBoxLayout(this); layout->setContentsMargins(0, 0, 0, 0); @@ -117,6 +121,14 @@ void SliderPlusBox::setValue(double value) { m_doubleSpinBox->setValue(value); } +void SliderPlusBox::setMax(double value) { + if (value <= m_min) + throw JFJochException(JFJochExceptionCategory::InputParameterInvalid, + "Maximum value must be greater than minimum"); + m_max = value; + updateSliderRange(); +} + void SliderPlusBox::setScaleType(ScaleType type) { if (m_scaleType == type) return; diff --git a/viewer/widgets/SliderPlusBox.h b/viewer/widgets/SliderPlusBox.h index f34d889f..adfdac72 100644 --- a/viewer/widgets/SliderPlusBox.h +++ b/viewer/widgets/SliderPlusBox.h @@ -43,6 +43,7 @@ public: double value() const { return v; } void setScaleType(ScaleType type); ScaleType scaleType() const { return m_scaleType; } + void setMax(double max); signals: void valueChanged(double value);