tabpage background fixed
This commit is contained in:
parent
0a0c3dfb17
commit
985fcf1e2d
@ -4,25 +4,29 @@
|
||||
*****************************************************************************/
|
||||
|
||||
#include "Page.h"
|
||||
|
||||
#include <QskRgbValue.h>
|
||||
#include <QskBoxShapeMetrics.h>
|
||||
|
||||
Page::Page( Qt::Orientation orientation, QQuickItem* parent )
|
||||
: QskLinearBox( orientation, parent )
|
||||
, m_gradient( QskRgb::GhostWhite )
|
||||
{
|
||||
setBackgroundColor( Qt::gray );
|
||||
|
||||
setPanel( true );
|
||||
setBoxShapeHint( QskBox::Panel, 8 );
|
||||
setGradient( QskRgb::GhostWhite );
|
||||
|
||||
setMargins( 5 );
|
||||
setMargins( 20 );
|
||||
setPadding( 10 );
|
||||
setSpacing( 10 );
|
||||
}
|
||||
|
||||
void Page::setGradient( const QskGradient& gradient )
|
||||
{
|
||||
setGradientHint( QskBox::Panel, gradient );
|
||||
if ( gradient != m_gradient )
|
||||
{
|
||||
m_gradient = gradient;
|
||||
|
||||
if ( parentItem() && isVisibleToParent() )
|
||||
parentItem()->update();
|
||||
}
|
||||
}
|
||||
|
||||
QskGradient Page::gradient() const
|
||||
{
|
||||
return m_gradient;
|
||||
}
|
||||
|
@ -6,10 +6,16 @@
|
||||
#pragma once
|
||||
|
||||
#include <QskLinearBox.h>
|
||||
#include <QskGradient.h>
|
||||
|
||||
class Page : public QskLinearBox
|
||||
{
|
||||
public:
|
||||
Page( Qt::Orientation, QQuickItem* parent = nullptr );
|
||||
|
||||
void setGradient( const QskGradient& );
|
||||
QskGradient gradient() const;
|
||||
|
||||
private:
|
||||
QskGradient m_gradient;
|
||||
};
|
||||
|
@ -19,6 +19,42 @@
|
||||
|
||||
#include <QGuiApplication>
|
||||
|
||||
namespace
|
||||
{
|
||||
class TabView : public QskTabView
|
||||
{
|
||||
public:
|
||||
TabView( QQuickItem* parent = nullptr )
|
||||
: QskTabView( parent )
|
||||
{
|
||||
setMargins( 10 );
|
||||
setTabPosition( Qsk::Left );
|
||||
setAutoFitTabs( true );
|
||||
|
||||
connect( this, &QskTabView::currentIndexChanged,
|
||||
this, &TabView::updateViewPanel );
|
||||
}
|
||||
|
||||
protected:
|
||||
void aboutToShow() override
|
||||
{
|
||||
updateViewPanel();
|
||||
}
|
||||
|
||||
private:
|
||||
void updateViewPanel()
|
||||
{
|
||||
/*
|
||||
We should have a better way to set individual colors
|
||||
for each tab page background
|
||||
*/
|
||||
|
||||
if ( auto page = dynamic_cast< const ::Page* >( currentItem() ) )
|
||||
setGradientHint( QskTabView::Page, page->gradient() );
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
int main( int argc, char* argv[] )
|
||||
{
|
||||
#ifdef ITEM_STATISTICS
|
||||
@ -32,11 +68,7 @@ int main( int argc, char* argv[] )
|
||||
SkinnyFont::init( &app );
|
||||
SkinnyShortcut::enable( SkinnyShortcut::AllShortcuts );
|
||||
|
||||
auto tabView = new QskTabView();
|
||||
|
||||
tabView->setMargins( 10 );
|
||||
tabView->setTabPosition( Qsk::Left );
|
||||
tabView->setAutoFitTabs( true );
|
||||
auto tabView = new TabView();
|
||||
|
||||
tabView->addTab( "Labels", new LabelPage() );
|
||||
tabView->addTab( "Sliders", new SliderPage() );
|
||||
|
Loading…
x
Reference in New Issue
Block a user