diff --git a/src/controls/QskSkinHintTableEditor.cpp b/src/controls/QskSkinHintTableEditor.cpp index 2eb5234a..e310ffdf 100644 --- a/src/controls/QskSkinHintTableEditor.cpp +++ b/src/controls/QskSkinHintTableEditor.cpp @@ -65,6 +65,11 @@ namespace return ret; } + inline QskAspect aspectPosition( QskAspect aspect ) + { + return aspect | QskAspect::Position; + } + inline QskAspect aspectStrutSize( QskAspect aspect ) { return aspect | QskAspect::StrutSize; @@ -233,6 +238,23 @@ QskGradient QskSkinHintTableEditor::gradient( QskAspect aspect ) const return colorHint< QskGradient >( aspect ); } +void QskSkinHintTableEditor::setPosition( + QskAspect aspect, qreal position, QskStateCombination combination ) +{ + setMetricHint( aspectPosition( aspect ), position, combination ); +} + +void QskSkinHintTableEditor::removePosition( + QskAspect aspect, QskStateCombination combination ) +{ + removeMetricHint( aspectPosition( aspect ), combination ); +} + +qreal QskSkinHintTableEditor::position( QskAspect aspect ) const +{ + return metricHint< qreal >( aspectPosition( aspect ) ); +} + void QskSkinHintTableEditor::setStrutSize( QskAspect aspect, const QSizeF& size, QskStateCombination combination ) { diff --git a/src/controls/QskSkinHintTableEditor.h b/src/controls/QskSkinHintTableEditor.h index 20073728..42739028 100644 --- a/src/controls/QskSkinHintTableEditor.h +++ b/src/controls/QskSkinHintTableEditor.h @@ -50,6 +50,9 @@ class QSK_EXPORT QskSkinHintTableEditor void setAnimation( QskAspect, QskAnimationHint, QskStateCombination = QskStateCombination() ); + void setAnimation( QskAspect, uint duration, QEasingCurve::Type, + QskStateCombination = QskStateCombination() ); + QskAnimationHint animation( QskAspect ) const; // flag @@ -118,6 +121,15 @@ class QSK_EXPORT QskSkinHintTableEditor QskGradient gradient( QskAspect ) const; + // position + + void setPosition( QskAspect, qreal, + QskStateCombination = QskStateCombination() ); + + void removePosition( QskAspect, QskStateCombination = QskStateCombination() ); + + qreal position( QskAspect ) const; + // strutSize void setStrutSize( QskAspect, const QSizeF&, @@ -376,4 +388,10 @@ inline void QskSkinHintTableEditor::setAnimation( setHint( aspect, hint, combination ); } +inline void QskSkinHintTableEditor::setAnimation( QskAspect aspect, + uint duration, QEasingCurve::Type curveType, QskStateCombination combination ) +{ + setAnimation( aspect, QskAnimationHint( duration, curveType ), combination ); +} + #endif