From cd65adb4518d8f22d570d83cb3211a57ada35aef Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Tue, 26 Nov 2024 13:48:55 +0100 Subject: [PATCH] QskSkinnable::metric with default value --- src/controls/QskSkinnable.cpp | 8 ++++++++ src/controls/QskSkinnable.h | 1 + 2 files changed, 9 insertions(+) diff --git a/src/controls/QskSkinnable.cpp b/src/controls/QskSkinnable.cpp index f1c79795..844af312 100644 --- a/src/controls/QskSkinnable.cpp +++ b/src/controls/QskSkinnable.cpp @@ -437,6 +437,14 @@ qreal QskSkinnable::metric( const QskAspect aspect, QskSkinHintStatus* status ) return qskMetric< qreal >( this, aspect, status ); } +qreal QskSkinnable::metric( QskAspect aspect, qreal defaultValue ) const +{ + QskSkinHintStatus status; + + const auto value = qskMetric< qreal >( this, aspect, &status ); + return status.isValid() ? value : defaultValue; +} + bool QskSkinnable::setPositionHint( QskAspect aspect, qreal position ) { return qskSetMetric( this, aspect | QskAspect::Position, position ); diff --git a/src/controls/QskSkinnable.h b/src/controls/QskSkinnable.h index d7ec2d6b..08488ee0 100644 --- a/src/controls/QskSkinnable.h +++ b/src/controls/QskSkinnable.h @@ -175,6 +175,7 @@ class QSK_EXPORT QskSkinnable bool moveMetric( QskAspect, qreal ); bool resetMetric( QskAspect ); qreal metric( QskAspect, QskSkinHintStatus* = nullptr ) const; + qreal metric( QskAspect, qreal defaultValue ) const; bool setFlagHint( QskAspect, int flag ); template< typename T > T flagHint( QskAspect, T = T() ) const;