diff --git a/examples/gallery/slider/CustomSlider.cpp b/examples/gallery/slider/CustomSlider.cpp index 1dda5803..e8da8471 100644 --- a/examples/gallery/slider/CustomSlider.cpp +++ b/examples/gallery/slider/CustomSlider.cpp @@ -34,10 +34,10 @@ CustomSlider::CustomSlider( QQuickItem* parentItem ) ed.setColor( Handle | Pressed, Orange600 ); - const auto mask = Focused | Hovered; + const auto combinationMask = Focused | Hovered; - ed.setColorForAllStateCombinations( mask, Handle, Orange600 ); - ed.setAnimationForAllStateCombinations( mask, Handle | QskAspect::Color, 300 ); + ed.setColor( Handle, Orange600, combinationMask ); + ed.setAnimation( Handle | QskAspect::Color, 300, combinationMask ); ed.setAnimation( Handle | QskAspect::Color, 1000 ); diff --git a/src/controls/QskSkinHintTableEditor.cpp b/src/controls/QskSkinHintTableEditor.cpp index 666651f0..2a8a3af4 100644 --- a/src/controls/QskSkinHintTableEditor.cpp +++ b/src/controls/QskSkinHintTableEditor.cpp @@ -125,28 +125,38 @@ QskSkinHintTable* QskSkinHintTableEditor::table() const return m_table; } -void QskSkinHintTableEditor::setHintForAllStateCombinations( - QskAspect::State stateMask, QskAspect aspect, const QVariant& hint ) +void QskSkinHintTableEditor::setHint( QskAspect aspect, + const QVariant& hint, QskAspect::State combinationMask ) { - setHintStateMask( m_table, aspect, hint, QskAspect::NoState, stateMask ); + if ( combinationMask == QskAspect::NoState ) + { + m_table->setHint( aspect, hint ); + } + else + { + setHintStateMask( m_table, aspect, hint, + QskAspect::NoState, combinationMask ); + } } -bool QskSkinHintTableEditor::removeHintForAllStateCombinations( - QskAspect::State stateMask, QskAspect aspect ) +bool QskSkinHintTableEditor::removeHint( + QskAspect aspect, QskAspect::State combinationMask ) { - return removeHintStateMask( m_table, aspect, QskAspect::NoState, stateMask ); + if ( combinationMask == QskAspect::NoState ) + { + return m_table->removeHint( aspect ); + } + else + { + return removeHintStateMask( m_table, aspect, + QskAspect::NoState, combinationMask ); + } } -void QskSkinHintTableEditor::setAnimationForAllStateCombinations( - QskAspect::State stateMask, QskAspect aspect, QskAnimationHint hint ) -{ - aspect.setAnimator( true ); - setHintForAllStateCombinations( stateMask, aspect, QVariant::fromValue( hint ) ); -} - -void QskSkinHintTableEditor::setFlag( QskAspect aspect, int flag ) +void QskSkinHintTableEditor::setFlag( + QskAspect aspect, int flag, QskAspect::State combinationMask ) { - setFlagHint( aspect, flag ); + setFlagHint( aspect, flag, combinationMask ); } int QskSkinHintTableEditor::flag( QskAspect aspect ) const @@ -154,15 +164,10 @@ int QskSkinHintTableEditor::flag( QskAspect aspect ) const return flagHint< int >( aspect ); } -void QskSkinHintTableEditor::setFlagForAllStateCombinations( - QskAspect::State stateMask, QskAspect aspect, int flag ) +void QskSkinHintTableEditor::setMetric( + QskAspect aspect, qreal metric, QskAspect::State combinationMask ) { - setFlagHintForAllStateCombinations( stateMask, aspect, flag ); -} - -void QskSkinHintTableEditor::setMetric( QskAspect aspect, qreal metric ) -{ - setMetricHint( aspect, metric ); + setMetricHint( aspect, metric, combinationMask ); } qreal QskSkinHintTableEditor::metric( QskAspect aspect ) const @@ -170,25 +175,22 @@ qreal QskSkinHintTableEditor::metric( QskAspect aspect ) const return metricHint< qreal >( aspect ); } -void QskSkinHintTableEditor::setMetricForAllStateCombinations( - QskAspect::State stateMask, QskAspect aspect, qreal metric ) +void QskSkinHintTableEditor::setColor( + QskAspect aspect, Qt::GlobalColor color, QskAspect::State combinationMask ) { - setMetricHintForAllStateCombinations( stateMask, aspect, metric ); + setColorHint( aspect, QColor( color ), combinationMask ); } -void QskSkinHintTableEditor::setColor( QskAspect aspect, Qt::GlobalColor color ) +void QskSkinHintTableEditor::setColor( + QskAspect aspect, QRgb rgb, QskAspect::State combinationMask ) { - setColorHint( aspect, QColor( color ) ); + setColorHint( aspect, QColor::fromRgba( rgb ), combinationMask ); } -void QskSkinHintTableEditor::setColor( QskAspect aspect, QRgb rgb ) +void QskSkinHintTableEditor::setColor( + QskAspect aspect, const QColor& color, QskAspect::State combinationMask ) { - setColorHint( aspect, QColor::fromRgba( rgb ) ); -} - -void QskSkinHintTableEditor::setColor( QskAspect aspect, const QColor& color ) -{ - setColorHint( aspect, color ); + setColorHint( aspect, color, combinationMask ); } QColor QskSkinHintTableEditor::color( QskAspect aspect ) const @@ -196,45 +198,27 @@ QColor QskSkinHintTableEditor::color( QskAspect aspect ) const return colorHint< QColor >( aspect ); } -void QskSkinHintTableEditor::setColorForAllStateCombinations( - QskAspect::State stateMask, QskAspect aspect, Qt::GlobalColor color ) -{ - setColorHintForAllStateCombinations( stateMask, aspect, QColor( color ) ); -} - -void QskSkinHintTableEditor::setColorForAllStateCombinations( - QskAspect::State stateMask, QskAspect aspect, QRgb rgb ) -{ - setColorHintForAllStateCombinations( stateMask, aspect, QColor::fromRgba( rgb ) ); -} - -void QskSkinHintTableEditor::setColorForAllStateCombinations( - QskAspect::State stateMask, QskAspect aspect, const QColor& color ) -{ - setColorHintForAllStateCombinations( stateMask, aspect, color ); -} - void QskSkinHintTableEditor::setHGradient( - QskAspect aspect, const QColor& color1, const QColor& color2 ) + QskAspect aspect, const QColor& color1, const QColor& color2, + QskAspect::State combinationMask ) { - setGradient( aspect, QskGradient( QskGradient::Horizontal, color1, color2 ) ); + const QskGradient gradient( QskGradient::Horizontal, color1, color2 ); + setGradient( aspect, gradient, combinationMask ); } void QskSkinHintTableEditor::setVGradient( - QskAspect aspect, const QColor& color1, const QColor& color2 ) + QskAspect aspect, const QColor& color1, const QColor& color2, + QskAspect::State combinationMask ) { - setGradient( aspect, QskGradient( QskGradient::Vertical, color1, color2 ) ); + const QskGradient gradient( QskGradient::Vertical, color1, color2 ); + setGradient( aspect, gradient, combinationMask ); } -void QskSkinHintTableEditor::setGradient( QskAspect aspect, const QskGradient& gradient ) +void QskSkinHintTableEditor::setGradient( + QskAspect aspect, const QskGradient& gradient, + QskAspect::State combinationMask ) { - setColorHint( aspect, gradient ); -} - -void QskSkinHintTableEditor::setGradientForAllStateCombinations( - QskAspect::State stateMask, QskAspect aspect, const QskGradient& gradient ) -{ - setColorHintForAllStateCombinations( stateMask, aspect, QVariant::fromValue( gradient ) ); + setColorHint( aspect, gradient, combinationMask ); } QskGradient QskSkinHintTableEditor::gradient( QskAspect aspect ) const @@ -242,25 +226,23 @@ QskGradient QskSkinHintTableEditor::gradient( QskAspect aspect ) const return colorHint< QskGradient >( aspect ); } -void QskSkinHintTableEditor::setStrutSize( QskAspect aspect, const QSizeF& size ) +void QskSkinHintTableEditor::setStrutSize( + QskAspect aspect, const QSizeF& size, QskAspect::State combinationMask ) { - setMetricHint( aspectStrutSize( aspect ), size ); + setMetricHint( aspectStrutSize( aspect ), size, combinationMask ); } -void QskSkinHintTableEditor::setStrutSize( QskAspect aspect, qreal width, qreal height ) +void QskSkinHintTableEditor::setStrutSize( + QskAspect aspect, qreal width, qreal height, QskAspect::State combinationMask ) { - setMetricHint( aspectStrutSize( aspect ), QSizeF( width, height ) ); + setMetricHint( aspectStrutSize( aspect ), + QSizeF( width, height ), combinationMask ); } -void QskSkinHintTableEditor::setStrutSizeForAllStateCombinations( - QskAspect::State stateMask, QskAspect aspect, const QSizeF& size ) +void QskSkinHintTableEditor::removeStrutSize( + QskAspect aspect, QskAspect::State combinationMask ) { - setMetricHintForAllStateCombinations( stateMask, aspectStrutSize( aspect ), size ); -} - -void QskSkinHintTableEditor::removeStrutSize( QskAspect aspect ) -{ - removeMetricHint( aspectStrutSize( aspect ) ); + removeMetricHint( aspectStrutSize( aspect ), combinationMask ); } QSizeF QskSkinHintTableEditor::strutSize( QskAspect aspect ) const @@ -268,26 +250,24 @@ QSizeF QskSkinHintTableEditor::strutSize( QskAspect aspect ) const return metricHint< QSizeF >( aspectStrutSize( aspect ) ); } -void QskSkinHintTableEditor::setMargin( QskAspect aspect, const QskMargins& margins ) +void QskSkinHintTableEditor::setMargin( + QskAspect aspect, const QskMargins& margins, QskAspect::State combinationMask ) { - setMetricHint( aspectMargin( aspect ), margins ); + setMetricHint( aspectMargin( aspect ), margins, combinationMask ); } void QskSkinHintTableEditor::setMargin( QskAspect aspect, - qreal left, qreal top, qreal right, qreal bottom ) + qreal left, qreal top, qreal right, qreal bottom, + QskAspect::State combinationMask ) { - setMetricHint( aspectMargin( aspect ), QskMargins( left, top, right, bottom ) ); + const QskMargins margins( left, top, right, bottom ); + setMetricHint( aspectMargin( aspect ), combinationMask ); } -void QskSkinHintTableEditor::setMarginForAllStateCombinations( - QskAspect::State stateMask, QskAspect aspect, const QskMargins& margins ) +void QskSkinHintTableEditor::removeMargin( + QskAspect aspect, QskAspect::State combinationMask ) { - setMetricHintForAllStateCombinations( stateMask, aspectMargin( aspect ), margins ); -} - -void QskSkinHintTableEditor::removeMargin( QskAspect aspect ) -{ - removeMetricHint( aspectMargin( aspect ) ); + removeMetricHint( aspectMargin( aspect ), combinationMask ); } QskMargins QskSkinHintTableEditor::margin( QskAspect aspect ) const @@ -295,26 +275,25 @@ QskMargins QskSkinHintTableEditor::margin( QskAspect aspect ) const return metricHint< QskMargins >( aspectMargin( aspect ) ); } -void QskSkinHintTableEditor::setPadding( QskAspect aspect, const QskMargins& padding ) +void QskSkinHintTableEditor::setPadding( + QskAspect aspect, const QskMargins& padding, + QskAspect::State combinationMask ) { - setMetricHint( aspectPadding( aspect ), padding ); + setMetricHint( aspectPadding( aspect ), padding, combinationMask ); } void QskSkinHintTableEditor::setPadding( QskAspect aspect, - qreal left, qreal top, qreal right, qreal bottom ) + qreal left, qreal top, qreal right, qreal bottom, + QskAspect::State combinationMask ) { - setMetricHint( aspectPadding( aspect ), QskMargins( left, top, right, bottom ) ); + QskMargins padding( left, top, right, bottom ); + setMetricHint( aspectPadding( aspect ), padding, combinationMask ); } -void QskSkinHintTableEditor::setPaddingForAllStateCombinations( - QskAspect::State stateMask, QskAspect aspect, const QskMargins& margins ) +void QskSkinHintTableEditor::removePadding( + QskAspect aspect, QskAspect::State combinationMask ) { - setMetricHintForAllStateCombinations( stateMask, aspectPadding( aspect ), margins ); -} - -void QskSkinHintTableEditor::removePadding( QskAspect aspect ) -{ - removeMetricHint( aspectPadding( aspect ) ); + removeMetricHint( aspectPadding( aspect ), combinationMask ); } QskMargins QskSkinHintTableEditor::padding( QskAspect aspect ) const @@ -322,14 +301,16 @@ QskMargins QskSkinHintTableEditor::padding( QskAspect aspect ) const return metricHint< QskMargins >( aspectPadding( aspect ) ); } -void QskSkinHintTableEditor::setSpacing( QskAspect aspect, qreal spacing ) +void QskSkinHintTableEditor::setSpacing( + QskAspect aspect, qreal spacing, QskAspect::State combinationMask ) { - setMetricHint( aspectSpacing( aspect ), spacing ); + setMetricHint( aspectSpacing( aspect ), spacing, combinationMask ); } -void QskSkinHintTableEditor::removeSpacing( QskAspect aspect ) +void QskSkinHintTableEditor::removeSpacing( + QskAspect aspect, QskAspect::State combinationMask ) { - removeMetricHint( aspectSpacing( aspect ) ); + removeMetricHint( aspectSpacing( aspect ), combinationMask ); } qreal QskSkinHintTableEditor::spacing( QskAspect aspect ) const @@ -337,14 +318,17 @@ qreal QskSkinHintTableEditor::spacing( QskAspect aspect ) const return metricHint< qreal >( aspectSpacing( aspect ) ); } -void QskSkinHintTableEditor::setAlignment( QskAspect aspect, Qt::Alignment alignment ) +void QskSkinHintTableEditor::setAlignment( + QskAspect aspect, Qt::Alignment alignment, QskAspect::State combinationMask ) { - setFlagHint( aspectAlignment( aspect ), static_cast< int >( alignment ) ); + setFlagHint( aspectAlignment( aspect ), + static_cast< int >( alignment ), combinationMask ); } -void QskSkinHintTableEditor::removeAlignment( QskAspect aspect ) +void QskSkinHintTableEditor::removeAlignment( + QskAspect aspect, QskAspect::State combinationMask ) { - return removeFlagHint( aspectAlignment( aspect ) ); + return removeFlagHint( aspectAlignment( aspect ), combinationMask ); } Qt::Alignment QskSkinHintTableEditor::alignment( QskAspect aspect ) const @@ -352,14 +336,16 @@ Qt::Alignment QskSkinHintTableEditor::alignment( QskAspect aspect ) const return flagHint< Qt::Alignment >( aspectAlignment( aspect ) ); } -void QskSkinHintTableEditor::setFontRole( QskAspect aspect, int fontRole ) +void QskSkinHintTableEditor::setFontRole( + QskAspect aspect, int fontRole, QskAspect::State combinationMask ) { - setFlagHint( aspectFontRole( aspect ), fontRole ); + setFlagHint( aspectFontRole( aspect ), fontRole, combinationMask ); } -void QskSkinHintTableEditor::removeFontRole( QskAspect aspect ) +void QskSkinHintTableEditor::removeFontRole( + QskAspect aspect, QskAspect::State combinationMask ) { - return removeFlagHint( aspectFontRole( aspect ) ); + return removeFlagHint( aspectFontRole( aspect ), combinationMask ); } int QskSkinHintTableEditor::fontRole( QskAspect aspect ) const @@ -367,14 +353,16 @@ int QskSkinHintTableEditor::fontRole( QskAspect aspect ) const return flagHint< int >( aspectFontRole( aspect ) ); } -void QskSkinHintTableEditor::setGraphicRole( QskAspect aspect, int graphicRole ) +void QskSkinHintTableEditor::setGraphicRole( + QskAspect aspect, int graphicRole, QskAspect::State combinationMask ) { - setFlagHint( aspectGraphicRole( aspect ), graphicRole ); + setFlagHint( aspectGraphicRole( aspect ), graphicRole, combinationMask ); } -void QskSkinHintTableEditor::removeGraphicRole( QskAspect aspect ) +void QskSkinHintTableEditor::removeGraphicRole( + QskAspect aspect, QskAspect::State combinationMask ) { - return removeFlagHint( aspectGraphicRole( aspect ) ); + return removeFlagHint( aspectGraphicRole( aspect ), combinationMask ); } int QskSkinHintTableEditor::graphicRole( QskAspect aspect ) const @@ -389,29 +377,24 @@ void QskSkinHintTableEditor::setBoxShape( QskBoxShapeMetrics( radius, sizeMode ) ); } -void QskSkinHintTableEditor::setBoxShape( QskAspect aspect, qreal topLeft, qreal topRight, - qreal bottomLeft, qreal bottomRight, Qt::SizeMode sizeMode ) +void QskSkinHintTableEditor::setBoxShape( QskAspect aspect, + qreal topLeft, qreal topRight, qreal bottomLeft, qreal bottomRight, + Qt::SizeMode sizeMode ) { setMetricHint( aspectShape( aspect ), QskBoxShapeMetrics( topLeft, topRight, bottomLeft, bottomRight, sizeMode ) ); } void QskSkinHintTableEditor::setBoxShape( - QskAspect aspect, const QskBoxShapeMetrics& shape ) + QskAspect aspect, const QskBoxShapeMetrics& shape, QskAspect::State combinationMask ) { - setMetricHint( aspectShape( aspect ), shape ); + setMetricHint( aspectShape( aspect ), shape, combinationMask ); } -void QskSkinHintTableEditor::setBoxShapeForAllStateCombinations( - QskAspect::State stateMask, QskAspect aspect, const QskBoxShapeMetrics& shape ) +void QskSkinHintTableEditor::removeBoxShape( + QskAspect aspect, QskAspect::State combinationMask ) { - setMetricHintForAllStateCombinations( - stateMask, aspectShape( aspect ), QVariant::fromValue( shape ) ); -} - -void QskSkinHintTableEditor::removeBoxShape( QskAspect aspect ) -{ - return removeMetricHint( aspectShape( aspect ) ); + return removeMetricHint( aspectShape( aspect ), combinationMask ); } QskBoxShapeMetrics QskSkinHintTableEditor::boxShape( QskAspect aspect ) const @@ -434,21 +417,16 @@ void QskSkinHintTableEditor::setBoxBorderMetrics( QskAspect aspect, } void QskSkinHintTableEditor::setBoxBorderMetrics( - QskAspect aspect, const QskBoxBorderMetrics& borderMetrics ) + QskAspect aspect, const QskBoxBorderMetrics& borderMetrics, + QskAspect::State combinationMask ) { - setMetricHint( aspectBorder( aspect ), borderMetrics ); + setMetricHint( aspectBorder( aspect ), borderMetrics, combinationMask ); } -void QskSkinHintTableEditor::setBoxBorderMetricsForAllStateCombinations( - QskAspect::State stateMask, QskAspect aspect, const QskBoxBorderMetrics& borderMetrics ) +void QskSkinHintTableEditor::removeBoxBorderMetric( + QskAspect aspect, QskAspect::State combinationMask ) { - setMetricHintForAllStateCombinations( stateMask, - aspectBorder( aspect ), QVariant::fromValue( borderMetrics ) ); -} - -void QskSkinHintTableEditor::removeBoxBorderMetric( QskAspect aspect ) -{ - return removeMetricHint( aspectBorder( aspect ) ); + return removeMetricHint( aspectBorder( aspect ), combinationMask ); } QskBoxBorderMetrics QskSkinHintTableEditor::boxBorderMetrics( QskAspect aspect ) const @@ -457,28 +435,25 @@ QskBoxBorderMetrics QskSkinHintTableEditor::boxBorderMetrics( QskAspect aspect ) } void QskSkinHintTableEditor::setBoxBorderColors( - QskAspect aspect, const QskBoxBorderColors& borderColors ) + QskAspect aspect, const QskBoxBorderColors& borderColors, + QskAspect::State combinationMask ) { - setColorHint( aspectBorder( aspect ), borderColors ); -} - -void QskSkinHintTableEditor::setBoxBorderColorsForAllStateCombinations( - QskAspect::State stateMask, QskAspect aspect, const QskBoxBorderColors& borderColors ) -{ - setColorHintForAllStateCombinations( stateMask, aspectBorder( aspect ), - QVariant::fromValue( borderColors ) ); + setColorHint( aspectBorder( aspect ), borderColors, combinationMask ); } void QskSkinHintTableEditor::setBoxBorderColors( QskAspect aspect, - const QColor& left, const QColor& top, const QColor& right, const QColor& bottom ) + const QColor& left, const QColor& top, const QColor& right, const QColor& bottom, + QskAspect::State combinationMask ) { setColorHint( aspectBorder( aspect ), - QskBoxBorderColors( left, top, right, bottom ) ); + QskBoxBorderColors( left, top, right, bottom ), + combinationMask ); } -void QskSkinHintTableEditor::removeBoxBorderColors( QskAspect aspect ) +void QskSkinHintTableEditor::removeBoxBorderColors( + QskAspect aspect, QskAspect::State combinationMask ) { - return removeColorHint( aspectBorder( aspect ) ); + return removeColorHint( aspectBorder( aspect ), combinationMask ); } QskBoxBorderColors QskSkinHintTableEditor::boxBorderColors( QskAspect aspect ) const diff --git a/src/controls/QskSkinHintTableEditor.h b/src/controls/QskSkinHintTableEditor.h index 4804ae02..62ae6975 100644 --- a/src/controls/QskSkinHintTableEditor.h +++ b/src/controls/QskSkinHintTableEditor.h @@ -29,185 +29,166 @@ class QSK_EXPORT QskSkinHintTableEditor // generic access - void setHint( QskAspect, const QVariant& ); + void setHint( QskAspect, const QVariant&, + QskAspect::State = QskAspect::NoState ); + + template< typename T > void setHint( + QskAspect, const T&, QskAspect::State = QskAspect::NoState ); + const QVariant& hint( QskAspect ) const; + template< typename T > T hint( QskAspect ) const; - void setHintForAllStateCombinations( - QskAspect::State, QskAspect, const QVariant& ); - - template< typename T > void setHintForAllStateCombinations( - QskAspect::State, QskAspect, const T& ); - - bool removeHint( QskAspect ); - bool removeHintForAllStateCombinations( QskAspect::State, QskAspect ); - + bool removeHint( QskAspect, QskAspect::State = QskAspect::NoState ); QVariant takeHint( QskAspect ); bool hasHint( QskAspect ) const; - template< typename T > void setHint( QskAspect, const T& ); - template< typename T > T hint( QskAspect ) const; - // animation hints - void setAnimation( QskAspect, QskAnimationHint ); - QskAnimationHint animation( QskAspect ) const; + void setAnimation( QskAspect, QskAnimationHint, + QskAspect::State = QskAspect::NoState ); - void setAnimationForAllStateCombinations( - QskAspect::State, QskAspect, QskAnimationHint ); + QskAnimationHint animation( QskAspect ) const; // flag - void setFlagHint( QskAspect, const QVariant& ); - template< typename T > void setFlagHint( QskAspect, const T& ); + void setFlagHint( QskAspect, const QVariant&, + QskAspect::State = QskAspect::NoState ); - void setFlagHintForAllStateCombinations( - QskAspect::State, QskAspect, const QVariant& ); + template< typename T > void setFlagHint( QskAspect, const T&, + QskAspect::State = QskAspect::NoState ); - template< typename T > void setFlagHintForAllStateCombinations( - QskAspect::State, QskAspect, const T& ); - - void removeFlagHint( QskAspect ); + void removeFlagHint( QskAspect, QskAspect::State = QskAspect::NoState ); QVariant flagHint( QskAspect ) const; template< typename T > T flagHint( QskAspect ) const; // metric - void setMetricHint( QskAspect, const QVariant& ); - template< typename T > void setMetricHint( QskAspect, const T& ); + void setMetricHint( QskAspect, const QVariant&, + QskAspect::State = QskAspect::NoState ); - void setMetricHintForAllStateCombinations( - QskAspect::State, QskAspect, const QVariant& ); + template< typename T > void setMetricHint( + QskAspect, const T&, QskAspect::State = QskAspect::NoState ); - template< typename T > void setMetricHintForAllStateCombinations( - QskAspect::State, QskAspect, const T& ); - - void removeMetricHint( QskAspect ); + void removeMetricHint( QskAspect, QskAspect::State = QskAspect::NoState ); QVariant metricHint( QskAspect ) const; template< typename T > T metricHint( QskAspect ) const; // color - void setColorHint( QskAspect, const QVariant& ); - template< typename T > void setColorHint( QskAspect, const T& ); + void setColorHint( QskAspect, const QVariant&, + QskAspect::State = QskAspect::NoState ); - void setColorHintForAllStateCombinations( - QskAspect::State, QskAspect, const QVariant& ); + template< typename T > void setColorHint( + QskAspect, const T&, QskAspect::State = QskAspect::NoState ); - template< typename T > void setColorHintForAllStateCombinations( - QskAspect::State, QskAspect, const T& ); - - void removeColorHint( QskAspect ); + void removeColorHint( QskAspect, QskAspect::State = QskAspect::NoState ); QVariant colorHint( QskAspect ) const; template< typename T > T colorHint( QskAspect ) const; // type specific - void setFlag( QskAspect, int ); + void setFlag( QskAspect, int, QskAspect::State = QskAspect::NoState ); int flag( QskAspect ) const; - void setFlagForAllStateCombinations( QskAspect::State, QskAspect, int ); - - void setMetric( QskAspect, qreal metric ); + void setMetric( QskAspect, qreal metric, QskAspect::State = QskAspect::NoState ); qreal metric( QskAspect ) const; - void setMetricForAllStateCombinations( QskAspect::State, QskAspect, qreal ); - - void setColor( QskAspect, Qt::GlobalColor ); - void setColor( QskAspect, QRgb ); - void setColor( QskAspect, const QColor& ); - - void setColorForAllStateCombinations( QskAspect::State, QskAspect, Qt::GlobalColor ); - void setColorForAllStateCombinations( QskAspect::State, QskAspect, QRgb ); - void setColorForAllStateCombinations( QskAspect::State, QskAspect, const QColor& ); + void setColor( QskAspect, Qt::GlobalColor, QskAspect::State = QskAspect::NoState ); + void setColor( QskAspect, QRgb, QskAspect::State = QskAspect::NoState ); + void setColor( QskAspect, const QColor&, QskAspect::State = QskAspect::NoState ); QColor color( QskAspect ) const; // gradients - void setHGradient( QskAspect, const QColor&, const QColor& ); - void setVGradient( QskAspect, const QColor&, const QColor& ); - void setGradient( QskAspect, const QskGradient& ); + void setHGradient( QskAspect, const QColor&, const QColor&, + QskAspect::State = QskAspect::NoState ); - void setGradientForAllStateCombinations( - QskAspect::State, QskAspect, const QskGradient& ); + void setVGradient( QskAspect, const QColor&, const QColor&, + QskAspect::State = QskAspect::NoState ); + + void setGradient( QskAspect, const QskGradient&, + QskAspect::State = QskAspect::NoState ); QskGradient gradient( QskAspect ) const; // strutSize - void setStrutSize( QskAspect, const QSizeF& ); - void setStrutSize( QskAspect, qreal width, qreal height ); + void setStrutSize( QskAspect, const QSizeF&, + QskAspect::State = QskAspect::NoState ); - void removeStrutSize( QskAspect ); + void setStrutSize( QskAspect, qreal width, qreal height, + QskAspect::State = QskAspect::NoState ); - void setStrutSizeForAllStateCombinations( - QskAspect::State, QskAspect, const QSizeF& ); + void removeStrutSize( QskAspect, QskAspect::State = QskAspect::NoState ); QSizeF strutSize( QskAspect ) const; // margin - void setMargin( QskAspect, const QskMargins& ); - void setMargin( QskAspect, qreal left, qreal top, qreal right, qreal bottom ); + void setMargin( QskAspect, const QskMargins&, + QskAspect::State = QskAspect::NoState ); - void setMarginForAllStateCombinations( - QskAspect::State, QskAspect, const QskMargins& ); + void setMargin( QskAspect, + qreal left, qreal top, qreal right, qreal bottom, + QskAspect::State = QskAspect::NoState ); - void removeMargin( QskAspect ); + void removeMargin( QskAspect, QskAspect::State = QskAspect::NoState ); QskMargins margin( QskAspect ) const; // padding - void setPadding( QskAspect, const QskMargins& ); - void setPadding( QskAspect, qreal left, qreal top, qreal right, qreal bottom ); + void setPadding( QskAspect, const QskMargins&, + QskAspect::State = QskAspect::NoState ); - void setPaddingForAllStateCombinations( - QskAspect::State, QskAspect, const QskMargins& ); + void setPadding( QskAspect, + qreal left, qreal top, qreal right, qreal bottom, + QskAspect::State = QskAspect::NoState ); - void removePadding( QskAspect ); + void removePadding( QskAspect, QskAspect::State = QskAspect::NoState ); QskMargins padding( QskAspect ) const; // spacing - void setSpacing( QskAspect, qreal ); - void removeSpacing( QskAspect ); + void setSpacing( QskAspect, qreal, QskAspect::State = QskAspect::NoState ); + void removeSpacing( QskAspect, QskAspect::State = QskAspect::NoState ); qreal spacing( QskAspect ) const; // alignment - void setAlignment( QskAspect, Qt::Alignment ); - void removeAlignment( QskAspect ); + void setAlignment( QskAspect, Qt::Alignment, QskAspect::State = QskAspect::NoState ); + void removeAlignment( QskAspect, QskAspect::State = QskAspect::NoState ); Qt::Alignment alignment( QskAspect ) const; // fontRole - void setFontRole( QskAspect, int ); - void removeFontRole( QskAspect ); + void setFontRole( QskAspect, int, QskAspect::State = QskAspect::NoState ); + void removeFontRole( QskAspect, QskAspect::State = QskAspect::NoState ); int fontRole( QskAspect ) const; // graphicRole - void setGraphicRole( QskAspect, int ); - void removeGraphicRole( QskAspect ); + void setGraphicRole( QskAspect, int, QskAspect::State = QskAspect::NoState ); + void removeGraphicRole( QskAspect, QskAspect::State = QskAspect::NoState ); int graphicRole( QskAspect ) const; // boxShape void setBoxShape( QskAspect, qreal radius, Qt::SizeMode = Qt::AbsoluteSize ); + void setBoxShape( QskAspect, qreal topLeft, qreal topRight, qreal bottomLeft, qreal bottomRight, Qt::SizeMode = Qt::AbsoluteSize ); - void setBoxShape( QskAspect, const QskBoxShapeMetrics& ); - void setBoxShapeForAllStateCombinations( - QskAspect::State, QskAspect, const QskBoxShapeMetrics& ); + void setBoxShape( QskAspect, const QskBoxShapeMetrics&, + QskAspect::State = QskAspect::NoState ); - void removeBoxShape( QskAspect ); + void removeBoxShape( QskAspect, QskAspect::State = QskAspect::NoState ); QskBoxShapeMetrics boxShape( QskAspect ) const; @@ -219,24 +200,23 @@ class QSK_EXPORT QskSkinHintTableEditor void setBoxBorderMetrics( QskAspect, qreal left, qreal top, qreal right, qreal bottom, Qt::SizeMode = Qt::AbsoluteSize ); - void setBoxBorderMetrics( QskAspect, const QskBoxBorderMetrics& ); - void setBoxBorderMetricsForAllStateCombinations( - QskAspect::State, QskAspect, const QskBoxBorderMetrics& ); + void setBoxBorderMetrics( QskAspect, + const QskBoxBorderMetrics&, QskAspect::State = QskAspect::NoState ); - void removeBoxBorderMetric( QskAspect ); + void removeBoxBorderMetric( QskAspect, QskAspect::State = QskAspect::NoState ); QskBoxBorderMetrics boxBorderMetrics( QskAspect ) const; // boxBorderColors - void setBoxBorderColors( QskAspect, const QskBoxBorderColors& ); - void setBoxBorderColorsForAllStateCombinations( - QskAspect::State, QskAspect, const QskBoxBorderColors& ); + void setBoxBorderColors( QskAspect, + const QskBoxBorderColors&, QskAspect::State = QskAspect::NoState ); - void setBoxBorderColors( QskAspect, const QColor& left, const QColor& top, - const QColor& right, const QColor& bottom ); + void setBoxBorderColors( QskAspect, + const QColor& left, const QColor& top, const QColor& right, const QColor& bottom, + QskAspect::State = QskAspect::NoState ); - void removeBoxBorderColors( QskAspect ); + void removeBoxBorderColors( QskAspect, QskAspect::State = QskAspect::NoState ); QskBoxBorderColors boxBorderColors( QskAspect ) const; private: @@ -245,15 +225,11 @@ class QSK_EXPORT QskSkinHintTableEditor // --- generic access --- -inline void QskSkinHintTableEditor::setHint( QskAspect aspect, const QVariant& hint ) -{ - m_table->setHint( aspect, hint ); -} - template< typename T > -inline void QskSkinHintTableEditor::setHint( QskAspect aspect, const T& hint ) +inline void QskSkinHintTableEditor::setHint( + QskAspect aspect, const T& hint, QskAspect::State combinationMask ) { - setHint( aspect, QVariant::fromValue( hint ) ); + setHint( aspect, QVariant::fromValue( hint ), combinationMask ); } template< typename T > @@ -267,11 +243,6 @@ inline const QVariant& QskSkinHintTableEditor::hint( QskAspect aspect ) const return m_table->hint( aspect ); } -inline bool QskSkinHintTableEditor::removeHint( QskAspect aspect ) -{ - return m_table->removeHint( aspect ); -} - inline QVariant QskSkinHintTableEditor::takeHint( QskAspect aspect ) { return m_table->takeHint( aspect ); @@ -282,42 +253,25 @@ inline bool QskSkinHintTableEditor::hasHint( QskAspect aspect ) const return m_table->hasHint( aspect ); } -template< typename T > -void QskSkinHintTableEditor::setHintForAllStateCombinations( - QskAspect::State stateMask, QskAspect aspect, const T& hint ) -{ - setHintForAllStateCombinations( stateMask, aspect, QVariant::fromValue( hint ) ); -} - // --- flag --- -inline void QskSkinHintTableEditor::setFlagHint( QskAspect aspect, const QVariant& hint ) +inline void QskSkinHintTableEditor::setFlagHint( + QskAspect aspect, const QVariant& hint, QskAspect::State combinationMask ) { - setHint( aspect | QskAspect::Flag, hint ); + setHint( aspect | QskAspect::Flag, hint, combinationMask ); } template< typename T > -inline void QskSkinHintTableEditor::setFlagHint( QskAspect aspect, const T& hint ) +inline void QskSkinHintTableEditor::setFlagHint( + QskAspect aspect, const T& hint, QskAspect::State combinationMask ) { - setHint( aspect | QskAspect::Flag, hint ); + setHint( aspect | QskAspect::Flag, hint, combinationMask ); } -inline void QskSkinHintTableEditor::setFlagHintForAllStateCombinations( - QskAspect::State stateMask, QskAspect aspect, const QVariant& hint ) +inline void QskSkinHintTableEditor::removeFlagHint( + QskAspect aspect, QskAspect::State combinationMask ) { - setHintForAllStateCombinations( stateMask, aspect | QskAspect::Flag, hint ); -} - -template< typename T > -inline void QskSkinHintTableEditor::setFlagHintForAllStateCombinations( - QskAspect::State stateMask, QskAspect aspect, const T& hint ) -{ - setHintForAllStateCombinations( stateMask, aspect | QskAspect::Flag, hint ); -} - -inline void QskSkinHintTableEditor::removeFlagHint( QskAspect aspect ) -{ - removeHint( aspect | QskAspect::Flag ); + removeHint( aspect | QskAspect::Flag, combinationMask ); } inline QVariant QskSkinHintTableEditor::flagHint( QskAspect aspect ) const @@ -333,33 +287,23 @@ inline T QskSkinHintTableEditor::flagHint( QskAspect aspect ) const // --- metric --- -inline void QskSkinHintTableEditor::setMetricHint( QskAspect aspect, const QVariant& hint ) +inline void QskSkinHintTableEditor::setMetricHint( + QskAspect aspect, const QVariant& hint, QskAspect::State combinationMask ) { - setHint( aspect | QskAspect::Metric, hint ); + setHint( aspect | QskAspect::Metric, hint, combinationMask ); } template< typename T > -inline void QskSkinHintTableEditor::setMetricHint( QskAspect aspect, const T& hint ) +inline void QskSkinHintTableEditor::setMetricHint( + QskAspect aspect, const T& hint, QskAspect::State combinationMask ) { - setHint( aspect | QskAspect::Metric, hint ); + setHint( aspect | QskAspect::Metric, hint, combinationMask ); } -inline void QskSkinHintTableEditor::setMetricHintForAllStateCombinations( - QskAspect::State stateMask, QskAspect aspect, const QVariant& hint ) +inline void QskSkinHintTableEditor::removeMetricHint( + QskAspect aspect, QskAspect::State combinationMask ) { - setHintForAllStateCombinations( stateMask, aspect | QskAspect::Metric, hint ); -} - -template< typename T > -inline void QskSkinHintTableEditor::setMetricHintForAllStateCombinations( - QskAspect::State stateMask, QskAspect aspect, const T& hint ) -{ - setHintForAllStateCombinations( stateMask, aspect | QskAspect::Metric, hint ); -} - -inline void QskSkinHintTableEditor::removeMetricHint( QskAspect aspect ) -{ - removeHint( aspect | QskAspect::Metric ); + removeHint( aspect | QskAspect::Metric, combinationMask ); } inline QVariant QskSkinHintTableEditor::metricHint( QskAspect aspect ) const @@ -375,33 +319,23 @@ inline T QskSkinHintTableEditor::metricHint( QskAspect aspect ) const // --- color --- -inline void QskSkinHintTableEditor::setColorHint( QskAspect aspect, const QVariant& hint ) +inline void QskSkinHintTableEditor::setColorHint( + QskAspect aspect, const QVariant& hint, QskAspect::State combinationMask ) { - setHint( aspect | QskAspect::Color, hint ); + setHint( aspect | QskAspect::Color, hint, combinationMask ); } template< typename T > -inline void QskSkinHintTableEditor::setColorHint( QskAspect aspect, const T& hint ) +inline void QskSkinHintTableEditor::setColorHint( + QskAspect aspect, const T& hint, QskAspect::State combinationMask ) { - setHint( aspect | QskAspect::Color, hint ); + setHint( aspect | QskAspect::Color, hint, combinationMask ); } -inline void QskSkinHintTableEditor::setColorHintForAllStateCombinations( - QskAspect::State stateMask, QskAspect aspect, const QVariant& hint ) -{ - setHintForAllStateCombinations( stateMask, aspect | QskAspect::Color, hint ); -} - -template< typename T > -inline void QskSkinHintTableEditor::setColorHintForAllStateCombinations( - QskAspect::State stateMask, QskAspect aspect, const T& hint ) +inline void QskSkinHintTableEditor::removeColorHint( + QskAspect aspect, QskAspect::State combinationMask ) { - setHintForAllStateCombinations( stateMask, aspect | QskAspect::Color, hint ); -} - -inline void QskSkinHintTableEditor::removeColorHint( QskAspect aspect ) -{ - removeHint( aspect | QskAspect::Color ); + removeHint( aspect | QskAspect::Color, combinationMask ); } inline QVariant QskSkinHintTableEditor::colorHint( QskAspect aspect ) const @@ -422,9 +356,11 @@ inline QskAnimationHint QskSkinHintTableEditor::animation( QskAspect aspect ) co return m_table->animation( aspect ); } -inline void QskSkinHintTableEditor::setAnimation( QskAspect aspect, QskAnimationHint hint ) +inline void QskSkinHintTableEditor::setAnimation( + QskAspect aspect, QskAnimationHint hint, QskAspect::State combinationMask ) { - m_table->setAnimation( aspect, hint ); + aspect.setAnimator( true ); + setHint( aspect, hint, combinationMask ); } #endif