QskSkinHintTableEditor API simplified

This commit is contained in:
Uwe Rathmann 2021-09-04 16:48:02 +02:00
parent f51f3b65ab
commit 99822fc7aa
3 changed files with 242 additions and 331 deletions

View File

@ -34,10 +34,10 @@ CustomSlider::CustomSlider( QQuickItem* parentItem )
ed.setColor( Handle | Pressed, Orange600 ); ed.setColor( Handle | Pressed, Orange600 );
const auto mask = Focused | Hovered; const auto combinationMask = Focused | Hovered;
ed.setColorForAllStateCombinations( mask, Handle, Orange600 ); ed.setColor( Handle, Orange600, combinationMask );
ed.setAnimationForAllStateCombinations( mask, Handle | QskAspect::Color, 300 ); ed.setAnimation( Handle | QskAspect::Color, 300, combinationMask );
ed.setAnimation( Handle | QskAspect::Color, 1000 ); ed.setAnimation( Handle | QskAspect::Color, 1000 );

View File

@ -125,28 +125,38 @@ QskSkinHintTable* QskSkinHintTableEditor::table() const
return m_table; return m_table;
} }
void QskSkinHintTableEditor::setHintForAllStateCombinations( void QskSkinHintTableEditor::setHint( QskAspect aspect,
QskAspect::State stateMask, QskAspect aspect, const QVariant& hint ) 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( bool QskSkinHintTableEditor::removeHint(
QskAspect::State stateMask, QskAspect aspect ) 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( void QskSkinHintTableEditor::setFlag(
QskAspect::State stateMask, QskAspect aspect, QskAnimationHint hint ) QskAspect aspect, int flag, QskAspect::State combinationMask )
{
aspect.setAnimator( true );
setHintForAllStateCombinations( stateMask, aspect, QVariant::fromValue( hint ) );
}
void QskSkinHintTableEditor::setFlag( QskAspect aspect, int flag )
{ {
setFlagHint( aspect, flag ); setFlagHint( aspect, flag, combinationMask );
} }
int QskSkinHintTableEditor::flag( QskAspect aspect ) const int QskSkinHintTableEditor::flag( QskAspect aspect ) const
@ -154,15 +164,10 @@ int QskSkinHintTableEditor::flag( QskAspect aspect ) const
return flagHint< int >( aspect ); return flagHint< int >( aspect );
} }
void QskSkinHintTableEditor::setFlagForAllStateCombinations( void QskSkinHintTableEditor::setMetric(
QskAspect::State stateMask, QskAspect aspect, int flag ) QskAspect aspect, qreal metric, QskAspect::State combinationMask )
{ {
setFlagHintForAllStateCombinations( stateMask, aspect, flag ); setMetricHint( aspect, metric, combinationMask );
}
void QskSkinHintTableEditor::setMetric( QskAspect aspect, qreal metric )
{
setMetricHint( aspect, metric );
} }
qreal QskSkinHintTableEditor::metric( QskAspect aspect ) const qreal QskSkinHintTableEditor::metric( QskAspect aspect ) const
@ -170,25 +175,22 @@ qreal QskSkinHintTableEditor::metric( QskAspect aspect ) const
return metricHint< qreal >( aspect ); return metricHint< qreal >( aspect );
} }
void QskSkinHintTableEditor::setMetricForAllStateCombinations( void QskSkinHintTableEditor::setColor(
QskAspect::State stateMask, QskAspect aspect, qreal metric ) 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 ) ); setColorHint( aspect, color, combinationMask );
}
void QskSkinHintTableEditor::setColor( QskAspect aspect, const QColor& color )
{
setColorHint( aspect, color );
} }
QColor QskSkinHintTableEditor::color( QskAspect aspect ) const QColor QskSkinHintTableEditor::color( QskAspect aspect ) const
@ -196,45 +198,27 @@ QColor QskSkinHintTableEditor::color( QskAspect aspect ) const
return colorHint< QColor >( aspect ); 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( 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( 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 ); setColorHint( aspect, gradient, combinationMask );
}
void QskSkinHintTableEditor::setGradientForAllStateCombinations(
QskAspect::State stateMask, QskAspect aspect, const QskGradient& gradient )
{
setColorHintForAllStateCombinations( stateMask, aspect, QVariant::fromValue( gradient ) );
} }
QskGradient QskSkinHintTableEditor::gradient( QskAspect aspect ) const QskGradient QskSkinHintTableEditor::gradient( QskAspect aspect ) const
@ -242,25 +226,23 @@ QskGradient QskSkinHintTableEditor::gradient( QskAspect aspect ) const
return colorHint< QskGradient >( aspect ); 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( void QskSkinHintTableEditor::removeStrutSize(
QskAspect::State stateMask, QskAspect aspect, const QSizeF& size ) QskAspect aspect, QskAspect::State combinationMask )
{ {
setMetricHintForAllStateCombinations( stateMask, aspectStrutSize( aspect ), size ); removeMetricHint( aspectStrutSize( aspect ), combinationMask );
}
void QskSkinHintTableEditor::removeStrutSize( QskAspect aspect )
{
removeMetricHint( aspectStrutSize( aspect ) );
} }
QSizeF QskSkinHintTableEditor::strutSize( QskAspect aspect ) const QSizeF QskSkinHintTableEditor::strutSize( QskAspect aspect ) const
@ -268,26 +250,24 @@ QSizeF QskSkinHintTableEditor::strutSize( QskAspect aspect ) const
return metricHint< QSizeF >( aspectStrutSize( aspect ) ); 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, 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( void QskSkinHintTableEditor::removeMargin(
QskAspect::State stateMask, QskAspect aspect, const QskMargins& margins ) QskAspect aspect, QskAspect::State combinationMask )
{ {
setMetricHintForAllStateCombinations( stateMask, aspectMargin( aspect ), margins ); removeMetricHint( aspectMargin( aspect ), combinationMask );
}
void QskSkinHintTableEditor::removeMargin( QskAspect aspect )
{
removeMetricHint( aspectMargin( aspect ) );
} }
QskMargins QskSkinHintTableEditor::margin( QskAspect aspect ) const QskMargins QskSkinHintTableEditor::margin( QskAspect aspect ) const
@ -295,26 +275,25 @@ QskMargins QskSkinHintTableEditor::margin( QskAspect aspect ) const
return metricHint< QskMargins >( aspectMargin( aspect ) ); 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, 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( void QskSkinHintTableEditor::removePadding(
QskAspect::State stateMask, QskAspect aspect, const QskMargins& margins ) QskAspect aspect, QskAspect::State combinationMask )
{ {
setMetricHintForAllStateCombinations( stateMask, aspectPadding( aspect ), margins ); removeMetricHint( aspectPadding( aspect ), combinationMask );
}
void QskSkinHintTableEditor::removePadding( QskAspect aspect )
{
removeMetricHint( aspectPadding( aspect ) );
} }
QskMargins QskSkinHintTableEditor::padding( QskAspect aspect ) const QskMargins QskSkinHintTableEditor::padding( QskAspect aspect ) const
@ -322,14 +301,16 @@ QskMargins QskSkinHintTableEditor::padding( QskAspect aspect ) const
return metricHint< QskMargins >( aspectPadding( aspect ) ); 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 qreal QskSkinHintTableEditor::spacing( QskAspect aspect ) const
@ -337,14 +318,17 @@ qreal QskSkinHintTableEditor::spacing( QskAspect aspect ) const
return metricHint< qreal >( aspectSpacing( aspect ) ); 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 Qt::Alignment QskSkinHintTableEditor::alignment( QskAspect aspect ) const
@ -352,14 +336,16 @@ Qt::Alignment QskSkinHintTableEditor::alignment( QskAspect aspect ) const
return flagHint< Qt::Alignment >( aspectAlignment( aspect ) ); 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 int QskSkinHintTableEditor::fontRole( QskAspect aspect ) const
@ -367,14 +353,16 @@ int QskSkinHintTableEditor::fontRole( QskAspect aspect ) const
return flagHint< int >( aspectFontRole( aspect ) ); 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 int QskSkinHintTableEditor::graphicRole( QskAspect aspect ) const
@ -389,29 +377,24 @@ void QskSkinHintTableEditor::setBoxShape(
QskBoxShapeMetrics( radius, sizeMode ) ); QskBoxShapeMetrics( radius, sizeMode ) );
} }
void QskSkinHintTableEditor::setBoxShape( QskAspect aspect, qreal topLeft, qreal topRight, void QskSkinHintTableEditor::setBoxShape( QskAspect aspect,
qreal bottomLeft, qreal bottomRight, Qt::SizeMode sizeMode ) qreal topLeft, qreal topRight, qreal bottomLeft, qreal bottomRight,
Qt::SizeMode sizeMode )
{ {
setMetricHint( aspectShape( aspect ), setMetricHint( aspectShape( aspect ),
QskBoxShapeMetrics( topLeft, topRight, bottomLeft, bottomRight, sizeMode ) ); QskBoxShapeMetrics( topLeft, topRight, bottomLeft, bottomRight, sizeMode ) );
} }
void QskSkinHintTableEditor::setBoxShape( 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( void QskSkinHintTableEditor::removeBoxShape(
QskAspect::State stateMask, QskAspect aspect, const QskBoxShapeMetrics& shape ) QskAspect aspect, QskAspect::State combinationMask )
{ {
setMetricHintForAllStateCombinations( return removeMetricHint( aspectShape( aspect ), combinationMask );
stateMask, aspectShape( aspect ), QVariant::fromValue( shape ) );
}
void QskSkinHintTableEditor::removeBoxShape( QskAspect aspect )
{
return removeMetricHint( aspectShape( aspect ) );
} }
QskBoxShapeMetrics QskSkinHintTableEditor::boxShape( QskAspect aspect ) const QskBoxShapeMetrics QskSkinHintTableEditor::boxShape( QskAspect aspect ) const
@ -434,21 +417,16 @@ void QskSkinHintTableEditor::setBoxBorderMetrics( QskAspect aspect,
} }
void QskSkinHintTableEditor::setBoxBorderMetrics( 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( void QskSkinHintTableEditor::removeBoxBorderMetric(
QskAspect::State stateMask, QskAspect aspect, const QskBoxBorderMetrics& borderMetrics ) QskAspect aspect, QskAspect::State combinationMask )
{ {
setMetricHintForAllStateCombinations( stateMask, return removeMetricHint( aspectBorder( aspect ), combinationMask );
aspectBorder( aspect ), QVariant::fromValue( borderMetrics ) );
}
void QskSkinHintTableEditor::removeBoxBorderMetric( QskAspect aspect )
{
return removeMetricHint( aspectBorder( aspect ) );
} }
QskBoxBorderMetrics QskSkinHintTableEditor::boxBorderMetrics( QskAspect aspect ) const QskBoxBorderMetrics QskSkinHintTableEditor::boxBorderMetrics( QskAspect aspect ) const
@ -457,28 +435,25 @@ QskBoxBorderMetrics QskSkinHintTableEditor::boxBorderMetrics( QskAspect aspect )
} }
void QskSkinHintTableEditor::setBoxBorderColors( void QskSkinHintTableEditor::setBoxBorderColors(
QskAspect aspect, const QskBoxBorderColors& borderColors ) QskAspect aspect, const QskBoxBorderColors& borderColors,
QskAspect::State combinationMask )
{ {
setColorHint( aspectBorder( aspect ), borderColors ); setColorHint( aspectBorder( aspect ), borderColors, combinationMask );
}
void QskSkinHintTableEditor::setBoxBorderColorsForAllStateCombinations(
QskAspect::State stateMask, QskAspect aspect, const QskBoxBorderColors& borderColors )
{
setColorHintForAllStateCombinations( stateMask, aspectBorder( aspect ),
QVariant::fromValue( borderColors ) );
} }
void QskSkinHintTableEditor::setBoxBorderColors( QskAspect aspect, 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 ), 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 QskBoxBorderColors QskSkinHintTableEditor::boxBorderColors( QskAspect aspect ) const

View File

@ -29,185 +29,166 @@ class QSK_EXPORT QskSkinHintTableEditor
// generic access // 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; const QVariant& hint( QskAspect ) const;
template< typename T > T hint( QskAspect ) const;
void setHintForAllStateCombinations( bool removeHint( QskAspect, QskAspect::State = QskAspect::NoState );
QskAspect::State, QskAspect, const QVariant& );
template< typename T > void setHintForAllStateCombinations(
QskAspect::State, QskAspect, const T& );
bool removeHint( QskAspect );
bool removeHintForAllStateCombinations( QskAspect::State, QskAspect );
QVariant takeHint( QskAspect ); QVariant takeHint( QskAspect );
bool hasHint( QskAspect ) const; bool hasHint( QskAspect ) const;
template< typename T > void setHint( QskAspect, const T& );
template< typename T > T hint( QskAspect ) const;
// animation hints // animation hints
void setAnimation( QskAspect, QskAnimationHint ); void setAnimation( QskAspect, QskAnimationHint,
QskAnimationHint animation( QskAspect ) const; QskAspect::State = QskAspect::NoState );
void setAnimationForAllStateCombinations( QskAnimationHint animation( QskAspect ) const;
QskAspect::State, QskAspect, QskAnimationHint );
// flag // flag
void setFlagHint( QskAspect, const QVariant& ); void setFlagHint( QskAspect, const QVariant&,
template< typename T > void setFlagHint( QskAspect, const T& ); QskAspect::State = QskAspect::NoState );
void setFlagHintForAllStateCombinations( template< typename T > void setFlagHint( QskAspect, const T&,
QskAspect::State, QskAspect, const QVariant& ); QskAspect::State = QskAspect::NoState );
template< typename T > void setFlagHintForAllStateCombinations( void removeFlagHint( QskAspect, QskAspect::State = QskAspect::NoState );
QskAspect::State, QskAspect, const T& );
void removeFlagHint( QskAspect );
QVariant flagHint( QskAspect ) const; QVariant flagHint( QskAspect ) const;
template< typename T > T flagHint( QskAspect ) const; template< typename T > T flagHint( QskAspect ) const;
// metric // metric
void setMetricHint( QskAspect, const QVariant& ); void setMetricHint( QskAspect, const QVariant&,
template< typename T > void setMetricHint( QskAspect, const T& ); QskAspect::State = QskAspect::NoState );
void setMetricHintForAllStateCombinations( template< typename T > void setMetricHint(
QskAspect::State, QskAspect, const QVariant& ); QskAspect, const T&, QskAspect::State = QskAspect::NoState );
template< typename T > void setMetricHintForAllStateCombinations( void removeMetricHint( QskAspect, QskAspect::State = QskAspect::NoState );
QskAspect::State, QskAspect, const T& );
void removeMetricHint( QskAspect );
QVariant metricHint( QskAspect ) const; QVariant metricHint( QskAspect ) const;
template< typename T > T metricHint( QskAspect ) const; template< typename T > T metricHint( QskAspect ) const;
// color // color
void setColorHint( QskAspect, const QVariant& ); void setColorHint( QskAspect, const QVariant&,
template< typename T > void setColorHint( QskAspect, const T& ); QskAspect::State = QskAspect::NoState );
void setColorHintForAllStateCombinations( template< typename T > void setColorHint(
QskAspect::State, QskAspect, const QVariant& ); QskAspect, const T&, QskAspect::State = QskAspect::NoState );
template< typename T > void setColorHintForAllStateCombinations( void removeColorHint( QskAspect, QskAspect::State = QskAspect::NoState );
QskAspect::State, QskAspect, const T& );
void removeColorHint( QskAspect );
QVariant colorHint( QskAspect ) const; QVariant colorHint( QskAspect ) const;
template< typename T > T colorHint( QskAspect ) const; template< typename T > T colorHint( QskAspect ) const;
// type specific // type specific
void setFlag( QskAspect, int ); void setFlag( QskAspect, int, QskAspect::State = QskAspect::NoState );
int flag( QskAspect ) const; int flag( QskAspect ) const;
void setFlagForAllStateCombinations( QskAspect::State, QskAspect, int ); void setMetric( QskAspect, qreal metric, QskAspect::State = QskAspect::NoState );
void setMetric( QskAspect, qreal metric );
qreal metric( QskAspect ) const; qreal metric( QskAspect ) const;
void setMetricForAllStateCombinations( QskAspect::State, QskAspect, qreal ); void setColor( QskAspect, Qt::GlobalColor, QskAspect::State = QskAspect::NoState );
void setColor( QskAspect, QRgb, QskAspect::State = QskAspect::NoState );
void setColor( QskAspect, Qt::GlobalColor ); void setColor( QskAspect, const QColor&, QskAspect::State = QskAspect::NoState );
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& );
QColor color( QskAspect ) const; QColor color( QskAspect ) const;
// gradients // gradients
void setHGradient( QskAspect, const QColor&, const QColor& ); void setHGradient( QskAspect, const QColor&, const QColor&,
void setVGradient( QskAspect, const QColor&, const QColor& ); QskAspect::State = QskAspect::NoState );
void setGradient( QskAspect, const QskGradient& );
void setGradientForAllStateCombinations( void setVGradient( QskAspect, const QColor&, const QColor&,
QskAspect::State, QskAspect, const QskGradient& ); QskAspect::State = QskAspect::NoState );
void setGradient( QskAspect, const QskGradient&,
QskAspect::State = QskAspect::NoState );
QskGradient gradient( QskAspect ) const; QskGradient gradient( QskAspect ) const;
// strutSize // strutSize
void setStrutSize( QskAspect, const QSizeF& ); void setStrutSize( QskAspect, const QSizeF&,
void setStrutSize( QskAspect, qreal width, qreal height ); QskAspect::State = QskAspect::NoState );
void removeStrutSize( QskAspect ); void setStrutSize( QskAspect, qreal width, qreal height,
QskAspect::State = QskAspect::NoState );
void setStrutSizeForAllStateCombinations( void removeStrutSize( QskAspect, QskAspect::State = QskAspect::NoState );
QskAspect::State, QskAspect, const QSizeF& );
QSizeF strutSize( QskAspect ) const; QSizeF strutSize( QskAspect ) const;
// margin // margin
void setMargin( QskAspect, const QskMargins& ); void setMargin( QskAspect, const QskMargins&,
void setMargin( QskAspect, qreal left, qreal top, qreal right, qreal bottom ); QskAspect::State = QskAspect::NoState );
void setMarginForAllStateCombinations( void setMargin( QskAspect,
QskAspect::State, QskAspect, const QskMargins& ); 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; QskMargins margin( QskAspect ) const;
// padding // padding
void setPadding( QskAspect, const QskMargins& ); void setPadding( QskAspect, const QskMargins&,
void setPadding( QskAspect, qreal left, qreal top, qreal right, qreal bottom ); QskAspect::State = QskAspect::NoState );
void setPaddingForAllStateCombinations( void setPadding( QskAspect,
QskAspect::State, QskAspect, const QskMargins& ); 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; QskMargins padding( QskAspect ) const;
// spacing // spacing
void setSpacing( QskAspect, qreal ); void setSpacing( QskAspect, qreal, QskAspect::State = QskAspect::NoState );
void removeSpacing( QskAspect ); void removeSpacing( QskAspect, QskAspect::State = QskAspect::NoState );
qreal spacing( QskAspect ) const; qreal spacing( QskAspect ) const;
// alignment // alignment
void setAlignment( QskAspect, Qt::Alignment ); void setAlignment( QskAspect, Qt::Alignment, QskAspect::State = QskAspect::NoState );
void removeAlignment( QskAspect ); void removeAlignment( QskAspect, QskAspect::State = QskAspect::NoState );
Qt::Alignment alignment( QskAspect ) const; Qt::Alignment alignment( QskAspect ) const;
// fontRole // fontRole
void setFontRole( QskAspect, int ); void setFontRole( QskAspect, int, QskAspect::State = QskAspect::NoState );
void removeFontRole( QskAspect ); void removeFontRole( QskAspect, QskAspect::State = QskAspect::NoState );
int fontRole( QskAspect ) const; int fontRole( QskAspect ) const;
// graphicRole // graphicRole
void setGraphicRole( QskAspect, int ); void setGraphicRole( QskAspect, int, QskAspect::State = QskAspect::NoState );
void removeGraphicRole( QskAspect ); void removeGraphicRole( QskAspect, QskAspect::State = QskAspect::NoState );
int graphicRole( QskAspect ) const; int graphicRole( QskAspect ) const;
// boxShape // boxShape
void setBoxShape( QskAspect, qreal radius, Qt::SizeMode = Qt::AbsoluteSize ); void setBoxShape( QskAspect, qreal radius, Qt::SizeMode = Qt::AbsoluteSize );
void setBoxShape( QskAspect, qreal topLeft, qreal topRight, void setBoxShape( QskAspect, qreal topLeft, qreal topRight,
qreal bottomLeft, qreal bottomRight, Qt::SizeMode = Qt::AbsoluteSize ); qreal bottomLeft, qreal bottomRight, Qt::SizeMode = Qt::AbsoluteSize );
void setBoxShape( QskAspect, const QskBoxShapeMetrics& );
void setBoxShapeForAllStateCombinations( void setBoxShape( QskAspect, const QskBoxShapeMetrics&,
QskAspect::State, QskAspect, const QskBoxShapeMetrics& ); QskAspect::State = QskAspect::NoState );
void removeBoxShape( QskAspect ); void removeBoxShape( QskAspect, QskAspect::State = QskAspect::NoState );
QskBoxShapeMetrics boxShape( QskAspect ) const; QskBoxShapeMetrics boxShape( QskAspect ) const;
@ -219,24 +200,23 @@ class QSK_EXPORT QskSkinHintTableEditor
void setBoxBorderMetrics( QskAspect, qreal left, qreal top, void setBoxBorderMetrics( QskAspect, qreal left, qreal top,
qreal right, qreal bottom, Qt::SizeMode = Qt::AbsoluteSize ); qreal right, qreal bottom, Qt::SizeMode = Qt::AbsoluteSize );
void setBoxBorderMetrics( QskAspect, const QskBoxBorderMetrics& ); void setBoxBorderMetrics( QskAspect,
void setBoxBorderMetricsForAllStateCombinations( const QskBoxBorderMetrics&, QskAspect::State = QskAspect::NoState );
QskAspect::State, QskAspect, const QskBoxBorderMetrics& );
void removeBoxBorderMetric( QskAspect ); void removeBoxBorderMetric( QskAspect, QskAspect::State = QskAspect::NoState );
QskBoxBorderMetrics boxBorderMetrics( QskAspect ) const; QskBoxBorderMetrics boxBorderMetrics( QskAspect ) const;
// boxBorderColors // boxBorderColors
void setBoxBorderColors( QskAspect, const QskBoxBorderColors& ); void setBoxBorderColors( QskAspect,
void setBoxBorderColorsForAllStateCombinations( const QskBoxBorderColors&, QskAspect::State = QskAspect::NoState );
QskAspect::State, QskAspect, const QskBoxBorderColors& );
void setBoxBorderColors( QskAspect, const QColor& left, const QColor& top, void setBoxBorderColors( QskAspect,
const QColor& right, const QColor& bottom ); 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; QskBoxBorderColors boxBorderColors( QskAspect ) const;
private: private:
@ -245,15 +225,11 @@ class QSK_EXPORT QskSkinHintTableEditor
// --- generic access --- // --- generic access ---
inline void QskSkinHintTableEditor::setHint( QskAspect aspect, const QVariant& hint )
{
m_table->setHint( aspect, hint );
}
template< typename T > 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 > template< typename T >
@ -267,11 +243,6 @@ inline const QVariant& QskSkinHintTableEditor::hint( QskAspect aspect ) const
return m_table->hint( aspect ); return m_table->hint( aspect );
} }
inline bool QskSkinHintTableEditor::removeHint( QskAspect aspect )
{
return m_table->removeHint( aspect );
}
inline QVariant QskSkinHintTableEditor::takeHint( QskAspect aspect ) inline QVariant QskSkinHintTableEditor::takeHint( QskAspect aspect )
{ {
return m_table->takeHint( aspect ); return m_table->takeHint( aspect );
@ -282,42 +253,25 @@ inline bool QskSkinHintTableEditor::hasHint( QskAspect aspect ) const
return m_table->hasHint( aspect ); 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 --- // --- 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 > 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( inline void QskSkinHintTableEditor::removeFlagHint(
QskAspect::State stateMask, QskAspect aspect, const QVariant& hint ) QskAspect aspect, QskAspect::State combinationMask )
{ {
setHintForAllStateCombinations( stateMask, aspect | QskAspect::Flag, hint ); removeHint( aspect | QskAspect::Flag, combinationMask );
}
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 );
} }
inline QVariant QskSkinHintTableEditor::flagHint( QskAspect aspect ) const inline QVariant QskSkinHintTableEditor::flagHint( QskAspect aspect ) const
@ -333,33 +287,23 @@ inline T QskSkinHintTableEditor::flagHint( QskAspect aspect ) const
// --- metric --- // --- 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 > 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( inline void QskSkinHintTableEditor::removeMetricHint(
QskAspect::State stateMask, QskAspect aspect, const QVariant& hint ) QskAspect aspect, QskAspect::State combinationMask )
{ {
setHintForAllStateCombinations( stateMask, aspect | QskAspect::Metric, hint ); removeHint( aspect | QskAspect::Metric, combinationMask );
}
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 );
} }
inline QVariant QskSkinHintTableEditor::metricHint( QskAspect aspect ) const inline QVariant QskSkinHintTableEditor::metricHint( QskAspect aspect ) const
@ -375,33 +319,23 @@ inline T QskSkinHintTableEditor::metricHint( QskAspect aspect ) const
// --- color --- // --- 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 > 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( inline void QskSkinHintTableEditor::removeColorHint(
QskAspect::State stateMask, QskAspect aspect, const QVariant& hint ) QskAspect aspect, QskAspect::State combinationMask )
{
setHintForAllStateCombinations( stateMask, aspect | QskAspect::Color, hint );
}
template< typename T >
inline void QskSkinHintTableEditor::setColorHintForAllStateCombinations(
QskAspect::State stateMask, QskAspect aspect, const T& hint )
{ {
setHintForAllStateCombinations( stateMask, aspect | QskAspect::Color, hint ); removeHint( aspect | QskAspect::Color, combinationMask );
}
inline void QskSkinHintTableEditor::removeColorHint( QskAspect aspect )
{
removeHint( aspect | QskAspect::Color );
} }
inline QVariant QskSkinHintTableEditor::colorHint( QskAspect aspect ) const inline QVariant QskSkinHintTableEditor::colorHint( QskAspect aspect ) const
@ -422,9 +356,11 @@ inline QskAnimationHint QskSkinHintTableEditor::animation( QskAspect aspect ) co
return m_table->animation( aspect ); 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 #endif