diff options
author | Mitch Curtis <mitch.curtis@qt.io> | 2018-04-05 11:25:43 +0200 |
---|---|---|
committer | Mitch Curtis <mitch.curtis@qt.io> | 2018-04-05 09:38:43 +0000 |
commit | 98a65a9c74e148758be1619b1fd3844f3f31c789 (patch) | |
tree | 4ab9011782aa3b6168c88ffcb1f2ec52e707e25d /src/quicktemplates2/qquickrangeslider.cpp | |
parent | 583b7b0324a03337b8f21b5c2eacb6657c16ade7 (diff) |
RangeSlider: add valueAt() function
This is necessary to e.g. show up-to-date values in tooltips for each
handle when live is set to false. It's copied from Slider.
[ChangeLog][Controls][RangeSlider] Added a valueAt() function to allow
accessing each handle's value when the live property is set to false.
Task-number: QTBUG-67317
Change-Id: I8d0ca1a914f983b6b950ece759a102c05c5dd2f0
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Diffstat (limited to 'src/quicktemplates2/qquickrangeslider.cpp')
-rw-r--r-- | src/quicktemplates2/qquickrangeslider.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/quicktemplates2/qquickrangeslider.cpp b/src/quicktemplates2/qquickrangeslider.cpp index 075147a1..5b282f2c 100644 --- a/src/quicktemplates2/qquickrangeslider.cpp +++ b/src/quicktemplates2/qquickrangeslider.cpp @@ -689,6 +689,23 @@ void QQuickRangeSlider::resetTouchDragThreshold() } /*! + \since QtQuick.Controls 2.5 (Qt 5.12) + \qmlmethod real QtQuick.Controls::RangeSlider::valueAt(real position) + + Returns the value for the given \a position. + + \sa first.value, second.value, first.position, second.position, live +*/ +qreal QQuickRangeSlider::valueAt(qreal position) const +{ + Q_D(const QQuickRangeSlider); + const qreal value = (d->to - d->from) * position; + if (qFuzzyIsNull(d->stepSize)) + return d->from + value; + return d->from + qRound(value / d->stepSize) * d->stepSize; +} + +/*! \qmlpropertygroup QtQuick.Controls::RangeSlider::first \qmlproperty real QtQuick.Controls::RangeSlider::first.value \qmlproperty real QtQuick.Controls::RangeSlider::first.position |