APIs for setting box hints changed
This commit is contained in:
parent
b3e4360ad1
commit
6df27afcc0
@ -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
|
||||
|
@ -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 );
|
||||
}
|
||||
|
||||
|
@ -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" ) );
|
||||
|
@ -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 )
|
||||
|
@ -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 );
|
||||
}
|
||||
}
|
||||
|
@ -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 );
|
||||
|
@ -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 );
|
||||
}
|
||||
};
|
||||
|
@ -172,6 +172,7 @@ void QskListView::keyPressEvent( QKeyEvent* event )
|
||||
return;
|
||||
|
||||
int row = selectedRow();
|
||||
|
||||
switch ( event->key() )
|
||||
{
|
||||
case Qt::Key_Down:
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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 );
|
||||
|
@ -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 );
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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 )
|
||||
|
@ -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 );
|
||||
|
@ -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;
|
||||
|
@ -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 );
|
||||
|
@ -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;
|
||||
|
@ -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 ):
|
||||
|
@ -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 ) );
|
||||
|
@ -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;
|
||||
|
@ -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 );
|
||||
|
Loading…
x
Reference in New Issue
Block a user