boxes example: Also draw gradient borders
This commit is contained in:
parent
696aa8f96a
commit
efb35223ac
|
@ -80,23 +80,23 @@ void Box::setBorder( BorderType type, QskRgbPalette::Theme theme )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Flat:
|
case Flat:
|
||||||
setBorderColor( mid );
|
setBorderGradient( mid );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Raised1:
|
case Raised1:
|
||||||
setBorderColors( light, light, dark, dark );
|
setBorderGradients( light, light, dark, dark );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Sunken1:
|
case Sunken1:
|
||||||
setBorderColors( dark, dark, light, light );
|
setBorderGradients( dark, dark, light, light );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Raised2:
|
case Raised2:
|
||||||
setBorderColors( mid, light, mid, dark );
|
setBorderGradients( mid, light, mid, dark );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Sunken2:
|
case Sunken2:
|
||||||
setBorderColors( mid, dark, mid, light );
|
setBorderGradients( mid, dark, mid, light );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -117,16 +117,16 @@ void Box::setShape( qreal radiusX, qreal radiusY, Qt::SizeMode sizeMode )
|
||||||
QskBoxShapeMetrics( radiusX, radiusY, sizeMode ) );
|
QskBoxShapeMetrics( radiusX, radiusY, sizeMode ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Box::setBorderColors( const QColor& left, const QColor& top,
|
void Box::setBorderGradients( const QskGradient& left, const QskGradient& top,
|
||||||
const QColor& right, const QColor& bottom )
|
const QskGradient& right, const QskGradient& bottom )
|
||||||
{
|
{
|
||||||
QskBoxBorderColors colors( left, top, right, bottom );
|
QskBoxBorderColors colors( left, top, right, bottom );
|
||||||
setBoxBorderColorsHint( QskBox::Panel, colors );
|
setBoxBorderColorsHint( QskBox::Panel, colors );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Box::setBorderColor( const QColor& color )
|
void Box::setBorderGradient( const QskGradient& gradient )
|
||||||
{
|
{
|
||||||
setBoxBorderColorsHint( QskBox::Panel, color );
|
setBoxBorderColorsHint( QskBox::Panel, gradient );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Box::setBorderWidth( qreal left, qreal top, qreal right, qreal bottom )
|
void Box::setBorderWidth( qreal left, qreal top, qreal right, qreal bottom )
|
||||||
|
|
|
@ -39,9 +39,9 @@ class Box : public QskBox
|
||||||
void setShape( qreal radius, Qt::SizeMode );
|
void setShape( qreal radius, Qt::SizeMode );
|
||||||
void setShape( qreal radiusX, qreal radiusY, Qt::SizeMode );
|
void setShape( qreal radiusX, qreal radiusY, Qt::SizeMode );
|
||||||
|
|
||||||
void setBorderColor( const QColor& );
|
void setBorderGradient( const QskGradient& );
|
||||||
void setBorderColors( const QColor& left, const QColor& top,
|
void setBorderGradients( const QskGradient& left, const QskGradient& top,
|
||||||
const QColor& right, const QColor& bottom );
|
const QskGradient& right, const QskGradient& bottom );
|
||||||
|
|
||||||
void setBorderWidth( int );
|
void setBorderWidth( int );
|
||||||
void setBorderWidth( qreal left, qreal top, qreal right, qreal bottom );
|
void setBorderWidth( qreal left, qreal top, qreal right, qreal bottom );
|
||||||
|
|
|
@ -232,25 +232,25 @@ static void addRectangles10( QskLinearBox* parent )
|
||||||
|
|
||||||
box = new Box( parent );
|
box = new Box( parent );
|
||||||
box->setBorderWidth( 10 );
|
box->setBorderWidth( 10 );
|
||||||
box->setBorderColor( borderTheme );
|
box->setBorderGradient( borderTheme );
|
||||||
box->setGradient( QskGradient::Diagonal, "DeepPink", "DarkOrange", "HotPink" );
|
box->setGradient( QskGradient::Diagonal, "DeepPink", "DarkOrange", "HotPink" );
|
||||||
|
|
||||||
box = new Box( parent );
|
box = new Box( parent );
|
||||||
box->setShape( 100, Qt::RelativeSize );
|
box->setShape( 100, Qt::RelativeSize );
|
||||||
box->setBorderWidth( 5 );
|
box->setBorderWidth( 5 );
|
||||||
box->setBorderColor( borderTheme );
|
box->setBorderGradient( borderTheme );
|
||||||
box->setGradient( QskGradient::Vertical, "DeepPink", "DarkOrange", "HotPink" );
|
box->setGradient( QskGradient::Vertical, "DeepPink", "DarkOrange", "HotPink" );
|
||||||
|
|
||||||
box = new Box( parent );
|
box = new Box( parent );
|
||||||
box->setShape( 100, Qt::RelativeSize );
|
box->setShape( 100, Qt::RelativeSize );
|
||||||
box->setBorderWidth( 5 );
|
box->setBorderWidth( 5 );
|
||||||
box->setBorderColor( borderTheme );
|
box->setBorderGradient( borderTheme );
|
||||||
box->setGradient( QskGradient::Diagonal, "DeepPink", "DarkOrange", "HotPink" );
|
box->setGradient( QskGradient::Diagonal, "DeepPink", "DarkOrange", "HotPink" );
|
||||||
|
|
||||||
box = new Box( parent );
|
box = new Box( parent );
|
||||||
box->setShape( 100, Qt::RelativeSize );
|
box->setShape( 100, Qt::RelativeSize );
|
||||||
box->setBorderWidth( 5, 20, 30, 5 );
|
box->setBorderWidth( 5, 20, 30, 5 );
|
||||||
box->setBorderColor( borderTheme );
|
box->setBorderGradient( borderTheme );
|
||||||
box->setGradient( QskGradient::Vertical, "DeepPink", "DarkOrange", "HotPink" );
|
box->setGradient( QskGradient::Vertical, "DeepPink", "DarkOrange", "HotPink" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -333,32 +333,41 @@ static void addRectanglesRest( QskLinearBox* parent )
|
||||||
|
|
||||||
box = new Box( parent );
|
box = new Box( parent );
|
||||||
box->setBorderWidth( 20, 0, 40, 0 );
|
box->setBorderWidth( 20, 0, 40, 0 );
|
||||||
box->setBorderColor( "DarkSeaGreen" );
|
box->setBorderGradient( { "DarkSeaGreen" } );
|
||||||
|
|
||||||
box = new Box( parent );
|
box = new Box( parent );
|
||||||
box->setShape( 40, Qt::RelativeSize );
|
box->setShape( 40, Qt::RelativeSize );
|
||||||
box->setBorderWidth( 20, 10, 30, 15 );
|
box->setBorderWidth( 20, 10, 30, 15 );
|
||||||
box->setBorderColor( "DarkOrange" );
|
box->setBorderGradient( { "DarkOrange" } );
|
||||||
box->setGradient( QskGradient::Vertical, "LightSteelBlue", "SteelBlue" );
|
box->setGradient( QskGradient::Vertical, "LightSteelBlue", "SteelBlue" );
|
||||||
|
|
||||||
box = new Box( parent );
|
box = new Box( parent );
|
||||||
box->setBorderWidth( 20, 0, 10, 20 );
|
box->setBorderWidth( 20, 0, 10, 20 );
|
||||||
box->setBorderColor( "MediumSeaGreen" );
|
box->setBorderGradient( { "MediumSeaGreen" } );
|
||||||
box->setGradient( "DodgerBlue" );
|
box->setGradient( "DodgerBlue" );
|
||||||
|
|
||||||
box = new Box( parent );
|
box = new Box( parent );
|
||||||
box->setShape( 20, Qt::AbsoluteSize );
|
box->setShape( 20, Qt::AbsoluteSize );
|
||||||
box->setBorderWidth( 2, 10, 40, 2 );
|
box->setBorderWidth( 2, 10, 40, 2 );
|
||||||
box->setBorderColor( "Crimson" );
|
box->setBorderGradient( { "Crimson" } );
|
||||||
box->setGradient( QskRgb::WhiteSmoke );
|
box->setGradient( QskRgb::WhiteSmoke );
|
||||||
|
|
||||||
box = new Box( parent );
|
box = new Box( parent );
|
||||||
box->setShape( 100, Qt::RelativeSize );
|
box->setShape( 100, Qt::RelativeSize );
|
||||||
box->setBorderWidth( 5, 20, 5, 0 );
|
box->setBorderWidth( 5, 20, 5, 0 );
|
||||||
box->setBorderColor( "CadetBlue" );
|
box->setBorderGradient( { "CadetBlue" } );
|
||||||
box->setGradient( QskGradient::Vertical, "Gainsboro", "Seashell", "LightGray" );
|
box->setGradient( QskGradient::Vertical, "Gainsboro", "Seashell", "LightGray" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void addColoredBorderRectangles( QskLinearBox* parent )
|
||||||
|
{
|
||||||
|
Box* box;
|
||||||
|
|
||||||
|
box = new Box( parent );
|
||||||
|
box->setBorderWidth( 20 );
|
||||||
|
box->setBorderGradient( { Qt::Vertical, Qt::magenta, Qt::cyan } );
|
||||||
|
}
|
||||||
|
|
||||||
class TabView : public QskTabView
|
class TabView : public QskTabView
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -399,6 +408,12 @@ class TabView : public QskTabView
|
||||||
addTab( tab4 );
|
addTab( tab4 );
|
||||||
//setCurrentIndex( count() - 1 ); // setCurrentTab( tab4 ) -> TODO
|
//setCurrentIndex( count() - 1 ); // setCurrentTab( tab4 ) -> TODO
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
auto* tab5 = new QskLinearBox( Qt::Horizontal );
|
||||||
|
addColoredBorderRectangles( tab5 );
|
||||||
|
|
||||||
|
addTab( tab5 );
|
||||||
|
setCurrentIndex( count() - 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
Loading…
Reference in New Issue