APIs for setting box hints changed

This commit is contained in:
Uwe Rathmann 2017-10-18 20:00:06 +02:00
parent b3e4360ad1
commit 6df27afcc0
21 changed files with 167 additions and 123 deletions

View File

@ -102,8 +102,8 @@ void DefaultSkin::initHints()
setGradient( SoundControl::CrossHair, m_palette->color3 );
setGradient( SoundControl::Marker, m_palette->color5 );
setBoxBorder( SoundControl::Marker, 2 );
setBoxRadius( SoundControl::Marker, 100, Qt::RelativeSize );
setBoxBorderMetrics( SoundControl::Marker, 2 );
setBoxShape( SoundControl::Marker, 100, Qt::RelativeSize );
setGradient( QskSeparator::Panel, m_palette->color3 );
setMetric( QskSeparator::Panel | QskAspect::Size, 2 );
@ -138,8 +138,8 @@ void DefaultSkin::initHints()
setGradient( QskSlider::Fill, m_palette->color4.darker( 200 ) );
setMetric( QskSlider::Handle | QskAspect::Size, 24 );
setBoxBorder( QskSlider::Handle, 0 );
setBoxRadius( QskSlider::Handle, 100.0, Qt::RelativeSize );
setBoxBorderMetrics( QskSlider::Handle, 0 );
setBoxShape( QskSlider::Handle, 100.0, Qt::RelativeSize );
setGradient( QskSlider::Handle, m_palette->color5 );
// handle expanding, when being pressed

View File

@ -79,22 +79,22 @@ void OtherSkin::initHints()
setGradient( SoundControl::CrossHair, QColor( "OliveDrab" ).lighter( 120 ) );
setGradient( SoundControl::Marker, QColor( "OliveDrab" ) );
setBoxBorder( SoundControl::Marker, 2 );
setBoxRadius( SoundControl::Marker, 100, Qt::RelativeSize );
setBoxBorderMetrics( SoundControl::Marker, 2 );
setBoxShape( SoundControl::Marker, 100, Qt::RelativeSize );
setSkinHint( ButtonBar::Indicator | QskAspect::GraphicRole, SkinFactory::Indicator );
setSkinHint( SoundControl::Vehicle | QskAspect::GraphicRole, SkinFactory::Vehicle );
setSkinHint( SoundControl::MarkerControl | QskAspect::GraphicRole, SkinFactory::Vehicle );
setBoxBorder( QskSeparator::Panel, 0 );
setBoxBorderMetrics( QskSeparator::Panel, 0 );
setGradient( QskSeparator::Panel, m_palette->color3 );
setMetric( QskSeparator::Panel | QskAspect::Size, 1 );
// -- push buttons
setMargins( QskPushButton::Panel | QskAspect::Padding, 8 );
setBoxBorder( QskPushButton::Panel, 0 );
setBoxRadius( QskPushButton::Panel, 4 );
setBoxBorderMetrics( QskPushButton::Panel, 0 );
setBoxShape( QskPushButton::Panel, 4 );
setGradient( QskPushButton::Panel, m_palette->color1 );
setGradient( QskPushButton::Panel | QskPushButton::Pressed, m_palette->color2 );
@ -109,8 +109,8 @@ void OtherSkin::initHints()
setGradient( SoundControl::Overlay, overlayColor );
// -- slider control buttons
setBoxBorder( SoundControl::SliderControl, 0 );
setBoxRadius( SoundControl::SliderControl, 4 );
setBoxBorderMetrics( SoundControl::SliderControl, 0 );
setBoxShape( SoundControl::SliderControl, 4 );
setGradient( SoundControl::SliderControl, m_palette->color1 );
setGradient( SoundControl::SliderControl | QskPushButton::Pressed, m_palette->color2 );
@ -133,8 +133,8 @@ void OtherSkin::initHints()
setGradient( QskSlider::Fill, m_palette->color3.lighter( 150 ) );
setMetric( QskSlider::Handle | QskAspect::Size, 22 );
setBoxBorder( QskSlider::Handle, 0 );
setBoxRadius( QskSlider::Handle, 6 );
setBoxBorderMetrics( QskSlider::Handle, 0 );
setBoxShape( QskSlider::Handle, 6 );
setGradient( QskSlider::Handle, m_palette->color3 );
}

View File

@ -48,8 +48,9 @@ QskSkin* SkinFactory::createSkin( const QString& skinName )
skin->setSkinHint( SoundControl::Vehicle | QskAspect::GraphicRole, SkinFactory::Vehicle );
skin->setGradient( SoundControl::Marker, themeColor );
skin->setBoxBorder( SoundControl::Marker, 1 );
skin->setBoxRadius( SoundControl::Marker, 6 );
skin->setBoxBorderMetrics( SoundControl::Marker, 1 );
skin->setBoxShape( SoundControl::Marker, 6 );
skin->setColor( QskTextLabel::Text, "PeachPuff" );
skin->setGradient( QskPushButton::Text, themeColor );
@ -72,8 +73,8 @@ QskSkin* SkinFactory::createSkin( const QString& skinName )
skin->setSkinHint( SoundControl::MarkerControl | QskAspect::GraphicRole, SkinFactory::Indicator );
skin->setBoxBorder( SoundControl::Marker, 1 );
skin->setBoxRadius( SoundControl::Marker, 8 );
skin->setBoxBorderMetrics( SoundControl::Marker, 1 );
skin->setBoxShape( SoundControl::Marker, 8 );
skin->setGradient( SoundControl::Marker, QColor( "SaddleBrown" ) );
skin->setGradient( SoundControl::CrossHair, QColor( "Sienna" ) );

View File

@ -11,8 +11,8 @@ Box::Box( QQuickItem* parentItem ):
// decoupling the hints from the skin
setBoxShapeHint( QskBox::Panel, QskBoxShapeMetrics() );
setBoxBorderHint( QskBox::Panel, QskBoxBorderMetrics() );
setBoxBorderColorHint( QskBox::Panel, QskBoxBorderColors() );
setBoxBorderMetricsHint( QskBox::Panel, QskBoxBorderMetrics() );
setBoxBorderColorsHint( QskBox::Panel, QskBoxBorderColors() );
setGradientHint( QskBox::Panel, QskGradient() );
}
@ -116,23 +116,23 @@ void Box::setBorderColors( const QColor& left, const QColor& top,
const QColor& right, const QColor& bottom )
{
QskBoxBorderColors colors( left, top, right, bottom );
setBoxBorderColorHint( QskBox::Panel, colors );
setBoxBorderColorsHint( QskBox::Panel, colors );
}
void Box::setBorderColor( const QColor& color )
{
setBoxBorderColorHint( QskBox::Panel, color );
setBoxBorderColorsHint( QskBox::Panel, color );
}
void Box::setBorderWidth( qreal left, qreal top, qreal right, qreal bottom )
{
setBoxBorderHint( QskBox::Panel,
setBoxBorderMetricsHint( QskBox::Panel,
QskMargins( left, top, right, bottom ) );
}
void Box::setBorderWidth( int width )
{
setBoxBorderHint( QskBox::Panel, QskMargins( width ) );
setBoxBorderMetricsHint( QskBox::Panel, QskMargins( width ) );
}
void Box::setGradient( QRgb rgb )

View File

@ -49,9 +49,9 @@ public:
const Aspect aspect = Panel | placement;
setMetric( aspect | Size, h );
setBoxBorderHint( aspect, 1 );
setBoxShapeHint( aspect, 4 );
setBoxBorderColorHint( aspect, Grey900 );
setBoxBorderMetricsHint( aspect, 1 );
setBoxBorderColorsHint( aspect, Grey900 );
setGradientHint( aspect, Grey400 );
if ( placement == Preserved )
@ -67,7 +67,7 @@ public:
const Aspect aspect = Groove | placement;
setMetric( aspect | Size, 4 );
setBoxBorderHint( aspect, 0 );
setBoxBorderMetricsHint( aspect, 0 );
setBoxShapeHint( aspect, 1 );
setGradientHint( aspect, Qt::black );
@ -86,7 +86,7 @@ public:
{
const Aspect aspect = Handle | placement;
setBoxBorderHint( aspect, 1 );
setBoxBorderMetricsHint( aspect, 1 );
setBoxShapeHint( aspect, 4 );
const qreal m = 0.5 * qCeil( 0.5 * ( w - h ) ) + 1;
@ -98,7 +98,7 @@ public:
for ( auto state : { NoState, Pressed } )
{
setBoxBorderColorHint( aspect | state, Grey600 );
setBoxBorderColorsHint( aspect | state, Grey600 );
setGradientHint( aspect | state, Blue400 );
}
}

View File

@ -87,7 +87,7 @@ int main( int argc, char* argv[] )
auto focusIndicator = new QskFocusIndicator();
focusIndicator->setObjectName( "FocusIndicator" );
focusIndicator->setBoxBorderColorHint( QskFocusIndicator::Panel, Qt::red );
focusIndicator->setBoxBorderColorsHint( QskFocusIndicator::Panel, Qt::red );
QskWindow window;
window.resize( 600, 400 );

View File

@ -112,16 +112,16 @@ public:
using namespace QskAspect;
// settings usually done in the skins
setBoxBorderHint( Viewport, 2 );
setBoxBorderMetricsHint( Viewport, 2 );
setBoxShapeHint( Viewport, 20 );
for ( auto subControl : { HorizontalScrollBar, VerticalScrollBar } )
setMetric( subControl | Size, 20 );
setBoxBorderHint( VerticalScrollHandle, 1 );
setBoxBorderMetricsHint( VerticalScrollHandle, 1 );
setBoxShapeHint( VerticalScrollHandle, 8 );
setBoxBorderHint( HorizontalScrollHandle, 1 );
setBoxBorderMetricsHint( HorizontalScrollHandle, 1 );
setBoxShapeHint( HorizontalScrollHandle, 8 );
}
};

View File

@ -172,6 +172,7 @@ void QskListView::keyPressEvent( QKeyEvent* event )
return;
int row = selectedRow();
switch ( event->key() )
{
case Qt::Key_Down:

View File

@ -48,7 +48,7 @@ public:
m_rowMin = rowMin;
m_rowMax = rowMax;
}
inline int rowMin() const
{
return m_rowMin;
@ -278,6 +278,7 @@ void QskListViewSkinlet::updateForegroundNodes(
node = node->nextSibling();
x += listView->columnWidth( col );
}
y += rowHeight;
}

View File

@ -183,7 +183,7 @@ QSizeF QskScrollView::scrollableSize() const
QRectF QskScrollView::viewContentsRect() const
{
// This code should be done in the skinlet. TODO ...
const qreal bw = boxBorderHint( Viewport | QskAspect::Border ).widthAt( Qt::TopEdge );
const qreal bw = boxBorderMetricsHint( Viewport ).widthAt( Qt::TopEdge );
const QRectF r = subControlRect( Viewport );
return r.adjusted( bw, bw, -bw, -bw );

View File

@ -209,9 +209,18 @@ QskGradient QskSkin::gradient( QskAspect::Aspect aspect ) const
return m_data->hintTable.gradient( aspect );
}
void QskSkin::setBoxRadius( QskAspect::Aspect aspect, qreal radius, Qt::SizeMode sizeMode )
void QskSkin::setBoxShape( QskAspect::Aspect aspect,
qreal radius, Qt::SizeMode sizeMode )
{
m_data->hintTable.setBoxShape( aspect, QskBoxShapeMetrics( radius, sizeMode ) );
m_data->hintTable.setBoxShape( aspect,
QskBoxShapeMetrics( radius, radius, radius, radius, sizeMode ) );
}
void QskSkin::setBoxShape( QskAspect::Aspect aspect, qreal topLeft, qreal topRight,
qreal bottomLeft, qreal bottomRight, Qt::SizeMode sizeMode )
{
m_data->hintTable.setBoxShape( aspect,
QskBoxShapeMetrics( topLeft, topRight, bottomLeft, bottomRight, sizeMode ) );
}
void QskSkin::setBoxShape( QskAspect::Aspect aspect, const QskBoxShapeMetrics& shape )
@ -224,12 +233,20 @@ QskBoxShapeMetrics QskSkin::boxShape( QskAspect::Aspect aspect ) const
return m_data->hintTable.boxShape( aspect );
}
void QskSkin::setBoxBorder( QskAspect::Aspect aspect, const QskBoxBorderMetrics& border )
void QskSkin::setBoxBorderMetrics( QskAspect::Aspect aspect,
qreal left, qreal top, qreal right, qreal bottom, Qt::SizeMode sizeMode )
{
m_data->hintTable.setBoxBorder( aspect,
QskBoxBorderMetrics( left, top, right, bottom, sizeMode ) );
}
void QskSkin::setBoxBorderMetrics(
QskAspect::Aspect aspect, const QskBoxBorderMetrics& border )
{
m_data->hintTable.setBoxBorder( aspect, border );
}
QskBoxBorderMetrics QskSkin::boxBorder( QskAspect::Aspect aspect ) const
QskBoxBorderMetrics QskSkin::boxBorderMetrics( QskAspect::Aspect aspect ) const
{
return m_data->hintTable.boxBorder( aspect );
}

View File

@ -76,13 +76,18 @@ public:
void setGradient( QskAspect::Aspect, const QskGradient& );
QskGradient gradient( QskAspect::Aspect ) const;
void setBoxRadius( QskAspect::Aspect, qreal radius, Qt::SizeMode = Qt::AbsoluteSize );
void setBoxShape( QskAspect::Aspect, qreal radius, Qt::SizeMode = Qt::AbsoluteSize );
void setBoxShape( QskAspect::Aspect, qreal topLeft, qreal topRight,
qreal bottomLeft, qreal bottomRight, Qt::SizeMode = Qt::AbsoluteSize );
void setBoxShape( QskAspect::Aspect, const QskBoxShapeMetrics& );
QskBoxShapeMetrics boxShape( QskAspect::Aspect ) const;
void setBoxBorder( QskAspect::Aspect, const QskBoxBorderMetrics& );
QskBoxBorderMetrics boxBorder( QskAspect::Aspect ) const;
void setBoxBorderMetrics( QskAspect::Aspect, qreal left, qreal top,
qreal right, qreal bottom, Qt::SizeMode = Qt::AbsoluteSize );
void setBoxBorderMetrics( QskAspect::Aspect, const QskBoxBorderMetrics& );
QskBoxBorderMetrics boxBorderMetrics( QskAspect::Aspect ) const;
void setBoxBorderColors( QskAspect::Aspect, const QskBoxBorderColors& );
QskBoxBorderColors boxBorderColors( QskAspect::Aspect ) const;

View File

@ -94,6 +94,26 @@ const std::unordered_map< QskAspect::Aspect, QVariant >& QskSkinHintTable::hints
return dummyHints;
}
void QskSkinHintTable::setAnimation(
QskAspect::Aspect aspect, QskAnimationHint animation )
{
aspect.setAnimator( true );
const QVariant v = QVariant::fromValue( animation );
if ( aspect.type() == 0 )
{
using namespace QskAspect;
setHint( aspect | Color, v );
setHint( aspect | Metric, v );
}
else
{
setHint( aspect, v );
}
}
void QskSkinHintTable::setHint( QskAspect::Aspect aspect, const QVariant& skinHint )
{
if ( m_hints == nullptr )

View File

@ -222,13 +222,6 @@ inline QskBoxBorderColors QskSkinHintTable::boxBorderColors( QskAspect::Aspect a
return hint( aspect | Border | Color ).value< QskBoxBorderColors >();
}
inline void QskSkinHintTable::setAnimation(
QskAspect::Aspect aspect, QskAnimationHint animation )
{
aspect.setAnimator( true );
setHint( aspect, QVariant::fromValue( animation ) );
}
inline QskAnimationHint QskSkinHintTable::animation( QskAspect::Aspect aspect ) const
{
aspect.setAnimator( true );

View File

@ -203,9 +203,9 @@ QskBoxOptions QskSkinRenderer::boxOptions( const QskSkinnable* skinnable,
QskBoxOptions options;
options.shape = skinnable->boxShapeHint( subControl | Shape ).toAbsolute( size );
options.border = skinnable->boxBorderHint( subControl | Border ).toAbsolute( size );
options.borderColors = skinnable->boxBorderColorHint( subControl | Border );
options.shape = skinnable->boxShapeHint( subControl ).toAbsolute( size );
options.border = skinnable->boxBorderMetricsHint( subControl ).toAbsolute( size );
options.borderColors = skinnable->boxBorderColorsHint( subControl );
options.fillGradient = skinnable->gradientHint( subControl );
return options;

View File

@ -241,6 +241,11 @@ qreal QskSkinnable::metric( QskAspect::Aspect aspect, QskSkinHintStatus* status
return effectiveHint( aspect | QskAspect::Metric, status ).toReal();
}
void QskSkinnable::setMarginsHint( QskAspect::Aspect aspect, qreal margins )
{
m_data->hintTable.setMargins( aspect, QskMargins( margins ) );
}
void QskSkinnable::setMarginsHint( QskAspect::Aspect aspect, const QMarginsF& margins )
{
m_data->hintTable.setMargins( aspect, margins );
@ -273,33 +278,34 @@ void QskSkinnable::setBoxShapeHint(
QskBoxShapeMetrics QskSkinnable::boxShapeHint(
QskAspect::Aspect aspect, QskSkinHintStatus* status ) const
{
return effectiveHint( aspect | QskAspect::Metric, status ).value< QskBoxShapeMetrics >();
using namespace QskAspect;
return effectiveHint( aspect | Metric | Shape, status ).value< QskBoxShapeMetrics >();
}
void QskSkinnable::setBoxBorderHint(
void QskSkinnable::setBoxBorderMetricsHint(
QskAspect::Aspect aspect, const QskBoxBorderMetrics& border )
{
m_data->hintTable.setBoxBorder( aspect, border );
}
QskBoxBorderMetrics QskSkinnable::boxBorderHint(
QskBoxBorderMetrics QskSkinnable::boxBorderMetricsHint(
QskAspect::Aspect aspect, QskSkinHintStatus* status ) const
{
using namespace QskAspect;
return effectiveHint( aspect | Metric, status ).value< QskBoxBorderMetrics >();
return effectiveHint( aspect | Metric | Border, status ).value< QskBoxBorderMetrics >();
}
void QskSkinnable::setBoxBorderColorHint(
void QskSkinnable::setBoxBorderColorsHint(
QskAspect::Aspect aspect, const QskBoxBorderColors& colors )
{
m_data->hintTable.setBoxBorderColors( aspect, colors );
}
QskBoxBorderColors QskSkinnable::boxBorderColorHint(
QskBoxBorderColors QskSkinnable::boxBorderColorsHint(
QskAspect::Aspect aspect, QskSkinHintStatus* status ) const
{
using namespace QskAspect;
return effectiveHint( aspect | Color, status ).value< QskBoxBorderColors >();
return effectiveHint( aspect | Color | Border, status ).value< QskBoxBorderColors >();
}
void QskSkinnable::setFontRole( QskAspect::Aspect aspect, int role )
@ -605,7 +611,7 @@ static inline QMarginsF qskMargins( const QskSkinnable* skinnable,
const QMarginsF padding1 = QskSkinRenderer::paddingHint(
skinnable->boxShapeHint( aspect | Shape),
skinnable->boxBorderHint( aspect | Border ),
skinnable->boxBorderMetricsHint( aspect | Border ),
size, inner );
const QMarginsF padding2 = skinnable->marginsHint( aspect | Padding );

View File

@ -80,6 +80,7 @@ public:
void setMetric( QskAspect::Aspect, qreal metric );
qreal metric( QskAspect::Aspect, QskSkinHintStatus* = nullptr ) const;
void setMarginsHint( QskAspect::Aspect, qreal );
void setMarginsHint( QskAspect::Aspect, const QMarginsF& );
QMarginsF marginsHint( QskAspect::Aspect, QskSkinHintStatus* = nullptr ) const;
@ -89,11 +90,11 @@ public:
void setBoxShapeHint( QskAspect::Aspect, const QskBoxShapeMetrics& );
QskBoxShapeMetrics boxShapeHint( QskAspect::Aspect, QskSkinHintStatus* = nullptr ) const;
void setBoxBorderHint( QskAspect::Aspect, const QskBoxBorderMetrics& );
QskBoxBorderMetrics boxBorderHint( QskAspect::Aspect, QskSkinHintStatus* = nullptr ) const;
void setBoxBorderMetricsHint( QskAspect::Aspect, const QskBoxBorderMetrics& );
QskBoxBorderMetrics boxBorderMetricsHint( QskAspect::Aspect, QskSkinHintStatus* = nullptr ) const;
void setBoxBorderColorHint( QskAspect::Aspect, const QskBoxBorderColors& );
QskBoxBorderColors boxBorderColorHint( QskAspect::Aspect, QskSkinHintStatus* = nullptr ) const;
void setBoxBorderColorsHint( QskAspect::Aspect, const QskBoxBorderColors& );
QskBoxBorderColors boxBorderColorsHint( QskAspect::Aspect, QskSkinHintStatus* = nullptr ) const;
void setFlagHint( QskAspect::Aspect, int flag );
int flagHint( QskAspect::Aspect ) const;

View File

@ -13,7 +13,7 @@ static QMarginsF qskPadding(
const QskSlider* slider, QskAspect::Subcontrol subControl )
{
return slider->marginsHint( subControl | QskAspect::Padding )
+ slider->boxBorderHint( subControl ).widths();
+ slider->boxBorderMetricsHint( subControl ).widths();
}
QskSliderSkinlet::QskSliderSkinlet( QskSkin* skin ):

View File

@ -81,7 +81,7 @@ QSGNode* QskSubWindowSkinlet::updateTitleBarNode(
QRectF QskSubWindowSkinlet::titleBarRect( const QskSubWindow* subWindow ) const
{
const auto border = subWindow->boxBorderHint( QskSubWindow::Panel | QskAspect::Border );
const auto border = subWindow->boxBorderMetricsHint( QskSubWindow::Panel );
QRectF rect = subWindow->contentsRect().marginsRemoved( border.widths() );
rect.setHeight( titleBarHeight( subWindow ) );

View File

@ -196,8 +196,8 @@ void QskMaterialSkin::initFocusIndicatorHints()
const ColorPalette& pal = m_data->palette;
setMargins( Q::Panel | Padding, 5 );
setBoxRadius( Q::Panel, 4 );
setBoxBorder( Q::Panel, 2 );
setBoxShape( Q::Panel, 4 );
setBoxBorderMetrics( Q::Panel, 2 );
setBoxBorderColors( Q::Panel, pal.accentColor );
setGradient( Q::Panel, QskGradient() );
}
@ -214,8 +214,8 @@ void QskMaterialSkin::initSeparatorHints()
const Aspect aspect = Q::Panel | placement;
setMetric( aspect | Size, 4 );
setBoxRadius( Q::Panel, 0 );
setBoxBorder( Q::Panel, 0 );
setBoxShape( Q::Panel, 0 );
setBoxBorderMetrics( Q::Panel, 0 );
setGradient( aspect, pal.baseColor );
}
}
@ -232,8 +232,8 @@ void QskMaterialSkin::initPageIndicatorHints()
setMetric( subControl | Size, qskDpiScaled( 10 ) );
// circles, without border
setBoxRadius( subControl, 100, Qt::RelativeSize );
setBoxBorder( subControl | Border, 0 );
setBoxShape( subControl, 100, Qt::RelativeSize );
setBoxBorderMetrics( subControl, 0 );
const QColor color = ( subControl == Q::Bullet )
? pal.lighter150 : pal.accentColor;
@ -243,8 +243,7 @@ void QskMaterialSkin::initPageIndicatorHints()
}
// no visible background panel
setBoxBorder( Q::Panel | Shape, 0 );
setBoxBorder( Q::Panel | Border, 0 );
setBoxBorderMetrics( Q::Panel, 0 );
setGradient( Q::Panel, QskGradient() );
setMetric( Q::Panel | Spacing, 3 );
@ -273,8 +272,8 @@ void QskMaterialSkin::initPushButtonHints()
QskBoxBorderColors noBorderColors = borderColors;
noBorderColors.setAlpha( 0 );
setBoxRadius( Q::Panel, 0 );
setBoxBorder( Q::Panel, QskMargins( 1, 2, 1, 2 ) );
setBoxShape( Q::Panel, 0 );
setBoxBorderMetrics( Q::Panel, QskMargins( 1, 2, 1, 2 ) );
setBoxBorderColors( Q::Panel, noBorderColors );
setGradient( Q::Panel, White );
@ -333,8 +332,8 @@ void QskMaterialSkin::initDialogButtonHints()
QskBoxBorderColors noBorderColors = borderColors;
noBorderColors.setAlpha( 0 );
setBoxRadius( Q::Panel, 0 );
setBoxBorder( Q::Panel, QskMargins( 1, 2, 1, 2 ) );
setBoxShape( Q::Panel, 0 );
setBoxBorderMetrics( Q::Panel, QskMargins( 1, 2, 1, 2 ) );
setBoxBorderColors( Q::Panel, noBorderColors );
setGradient( Q::Panel, White );
@ -372,8 +371,8 @@ void QskMaterialSkin::initDialogButtonBoxHints()
const ColorPalette& pal = m_data->palette;
setGradient( Q::Panel, pal.baseColor );
setBoxRadius( Q::Panel, 0 );
setBoxBorder( Q::Panel, 0 );
setBoxShape( Q::Panel, 0 );
setBoxBorderMetrics( Q::Panel, 0 );
}
void QskMaterialSkin::initSliderHints()
@ -389,8 +388,8 @@ void QskMaterialSkin::initSliderHints()
// Panel
setMetric( Q::Panel | Size, dim );
setBoxRadius( Q::Panel, 0 );
setBoxBorder( Q::Panel, 0 );
setBoxShape( Q::Panel, 0 );
setBoxBorderMetrics( Q::Panel, 0 );
setGradient( Q::Panel, QskGradient() );
setMargins( Q::Panel | Preserved | Padding, QskMargins( 0.5 * dim, 0 ) );
@ -403,8 +402,8 @@ void QskMaterialSkin::initSliderHints()
setMetric( subControl | Size, 5 );
setMargins( subControl | Padding, 0 );
setBoxRadius( subControl, 0 );
setBoxBorder( subControl, 0 );
setBoxShape( subControl, 0 );
setBoxBorderMetrics( subControl, 0 );
setGradient( subControl, QskGradient() );
}
@ -415,8 +414,8 @@ void QskMaterialSkin::initSliderHints()
// handle
setBoxRadius( Q::Handle, 100, Qt::RelativeSize );
setBoxBorder( Q::Handle, 4 );
setBoxShape( Q::Handle, 100, Qt::RelativeSize );
setBoxBorderMetrics( Q::Handle, 4 );
// handle expanding, when being pressed
setMetric( Q::Handle | Size, 0.6 * dim );
@ -468,11 +467,11 @@ void QskMaterialSkin::initTabButtonHints()
// The highlighted button has a accented bar at the bottom/right edge
setBoxRadius( aspect, 0 );
setBoxShape( aspect, 0 );
QskBoxBorderMetrics border;
border.setWidthAt( edge, 3 );
setBoxBorder( aspect, border );
setBoxBorderMetrics( aspect, border );
QskBoxBorderColors borderColors( QskRgbValue::White );
setBoxBorderColors( placement, borderColors );
@ -498,8 +497,8 @@ void QskMaterialSkin::initTabBarHints()
using namespace QskAspect;
using Q = QskTabBar;
setBoxRadius( Q::Panel, 0 );
setBoxBorder( Q::Panel, 0 );
setBoxShape( Q::Panel, 0 );
setBoxBorderMetrics( Q::Panel, 0 );
setGradient( Q::Panel, QskGradient() );
}
@ -510,8 +509,8 @@ void QskMaterialSkin::initTabViewHints()
const ColorPalette& pal = m_data->palette;
setBoxRadius( Q::Page, 0 );
setBoxBorder( Q::Page, 0 );
setBoxShape( Q::Page, 0 );
setBoxBorderMetrics( Q::Page, 0 );
setGradient( Q::Page, pal.darker150 );
setBoxBorderColors( Q::Page, pal.baseColor );
@ -528,8 +527,8 @@ void QskMaterialSkin::initInputPanelHints()
// key panel
setMargins( Q::KeyPanel | Margin, 2 );
setBoxRadius( Q::KeyPanel, 20.0, Qt::RelativeSize );
setBoxBorder( Q::KeyPanel, 2 );
setBoxShape( Q::KeyPanel, 20.0, Qt::RelativeSize );
setBoxBorderMetrics( Q::KeyPanel, 2 );
setGradient( Q::KeyPanel, pal.darker125 );
setBoxBorderColors( Q::KeyPanel, pal.baseColor );
@ -548,8 +547,8 @@ void QskMaterialSkin::initInputPanelHints()
setColor( Q::KeyGlyph | Q::Disabled, pal.darker200 );
// panel
setBoxRadius( Q::Panel, 0 );
setBoxBorder( Q::Panel, 0 );
setBoxShape( Q::Panel, 0 );
setBoxBorderMetrics( Q::Panel, 0 );
setGradient( Q::Panel, pal.darker150 );
setBoxBorderColors( Q::Panel, pal.baseColor );
}
@ -563,8 +562,8 @@ void QskMaterialSkin::initScrollViewHints()
setMetric( Q::Panel | Spacing, 2 );
setBoxRadius( Q::Viewport, 5 );
setBoxBorder( Q::Viewport, 1 );
setBoxShape( Q::Viewport, 5 );
setBoxBorderMetrics( Q::Viewport, 1 );
setGradient( Q::Viewport, QskRgbValue::White );
setBoxBorderColors( Q::Viewport, Qt::black );
@ -579,8 +578,8 @@ void QskMaterialSkin::initScrollViewHints()
for ( auto subControl : { Q::HorizontalScrollHandle, Q::VerticalScrollHandle } )
{
setBoxRadius( subControl, 3 );
setBoxBorder( subControl, 1 );
setBoxShape( subControl, 3 );
setBoxBorderMetrics( subControl, 1 );
setGradient( subControl, pal.accentColor );
setBoxBorderColors( subControl, QskRgbValue::White );
@ -623,8 +622,8 @@ void QskMaterialSkin::initSubWindowHints()
// panel
setMargins( Q::Panel | Padding, 10 );
setBoxRadius( Q::Panel, 0 );
setBoxBorder( Q::Panel, 2 );
setBoxShape( Q::Panel, 0 );
setBoxBorderMetrics( Q::Panel, 2 );
setGradient( Q::Panel, pal.baseColor );
QskBoxBorderColors colors;

View File

@ -127,8 +127,8 @@ void QskSquiekSkin::setSeparator(
gradient.setOrientation( QskGradient::Horizontal );
setGradient( aspect, gradient );
setBoxRadius( aspect, 0 );
setBoxBorder( aspect, 0 );
setBoxShape( aspect, 0 );
setBoxBorderMetrics( aspect, 0 );
}
void QskSquiekSkin::setButton(
@ -187,8 +187,8 @@ void QskSquiekSkin::setButton(
setBoxBorderColors( aspect, borderColors );
setGradient( aspect, gradient );
setBoxRadius( aspect, 4 );
setBoxBorder( aspect, border );
setBoxShape( aspect, 4 );
setBoxBorderMetrics( aspect, border );
}
void QskSquiekSkin::setPanel( QskAspect::Aspect aspect, PanelStyle style )
@ -220,7 +220,7 @@ void QskSquiekSkin::setTab( QskAspect::Aspect aspect,
shape.setRadius( Qt::BottomRightCorner, 0 );
}
setBoxBorder( aspect, border );
setBoxBorderMetrics( aspect, border );
setBoxShape( aspect, shape );
}
@ -293,8 +293,8 @@ void QskSquiekSkin::initFocusIndicatorHints()
const ColorPalette& pal = m_data->palette;
setMargins( Q::Panel | Padding, 5 );
setBoxBorder( Q::Panel, 2 );
setBoxRadius( Q::Panel, 4 );
setBoxBorderMetrics( Q::Panel, 2 );
setBoxShape( Q::Panel, 4 );
setGradient( Q::Panel, Qt::transparent );
setBoxBorderColors( Q::Panel, pal.highlighted );
}
@ -321,8 +321,8 @@ void QskSquiekSkin::initPageIndicatorHints()
{
setMetric( subControl | Size, qskDpiScaled( 12 ) );
setBoxBorder( subControl, QskBoxBorderMetrics( 50, Qt::RelativeSize ) );
setBoxRadius( subControl, 100, Qt::RelativeSize );
setBoxBorderMetrics( subControl, QskBoxBorderMetrics( 50, Qt::RelativeSize ) );
setBoxShape( subControl, 100, Qt::RelativeSize );
setGradient( subControl,
( subControl == Q::Bullet ) ? pal.darker150 : pal.lighter150 );
@ -330,8 +330,8 @@ void QskSquiekSkin::initPageIndicatorHints()
}
// no visible background panel
setBoxBorder( Q::Panel, 0 );
setBoxRadius( Q::Panel, 2 );
setBoxBorderMetrics( Q::Panel, 0 );
setBoxShape( Q::Panel, 2 );
setGradient( Q::Panel, QskGradient() );
setMetric( Q::Panel | Spacing, 3 );
@ -416,8 +416,8 @@ void QskSquiekSkin::initDialogButtonBoxHints()
setBoxBorderColors( Q::Panel, pal.theme );
setGradient( Q::Panel, pal.lighter135 );
setBoxBorder( Q::Panel, 0 );
setBoxRadius( Q::Panel, 2 );
setBoxBorderMetrics( Q::Panel, 0 );
setBoxShape( Q::Panel, 2 );
}
void QskSquiekSkin::initTabButtonHints()
@ -485,8 +485,8 @@ void QskSquiekSkin::initSliderHints()
const auto aspect = Q::Panel | placement;
setMetric( aspect | Size, dim );
setBoxBorder( aspect, 0 );
setBoxRadius( aspect, 0 );
setBoxBorderMetrics( aspect, 0 );
setBoxShape( aspect, 0 );
setGradient( aspect, QskGradient() );
}
@ -504,8 +504,8 @@ void QskSquiekSkin::initSliderHints()
setMetric( aspect | Size, 0.3 * dim );
setMargins( aspect | Padding, 0 );
setBoxBorder( aspect, 0 );
setBoxRadius( aspect, 0.1 * dim );
setBoxBorderMetrics( aspect, 0 );
setBoxShape( aspect, 0.1 * dim );
if ( subControl == Q::Groove )
setGradient( aspect, pal.darker200 );
@ -521,7 +521,7 @@ void QskSquiekSkin::initSliderHints()
Aspect aspect = Q::Handle | placement;
setButton( aspect, Raised, 1 );
setBoxRadius( aspect, 20.0, Qt::RelativeSize );
setBoxShape( aspect, 20.0, Qt::RelativeSize );
setButton( aspect | Q::Pressed, Sunken, 1 );
setMetric( Q::Handle | Size, 0.75 * dim );
}
@ -593,8 +593,8 @@ void QskSquiekSkin::initScrollViewHints()
setMetric( Q::Panel | Spacing, 4 );
setBoxBorder( Q::Viewport, 2 );
setBoxRadius( Q::Viewport, 8 );
setBoxBorderMetrics( Q::Viewport, 2 );
setBoxShape( Q::Viewport, 8 );
QColor fillColor( Qt::white );
@ -663,8 +663,8 @@ void QskSquiekSkin::initSubWindowHints()
// Panel
setMargins( Q::Panel | Padding, 10 );
setBoxBorder( Q::Panel, 2 );
setBoxRadius( Q::Panel, 0 );
setBoxBorderMetrics( Q::Panel, 2 );
setBoxShape( Q::Panel, 0 );
QskBoxBorderColors borderColors;
borderColors.setColorsAt( Qt::TopEdge | Qt::LeftEdge, pal.lighter125 );