Add skin factories etc.
This commit is contained in:
parent
0e8b31ab2f
commit
fd668c23e6
|
@ -0,0 +1,20 @@
|
|||
#include "DaytimeSkin.h"
|
||||
|
||||
#include "PieChart.h"
|
||||
#include "PieChartSkinlet.h"
|
||||
|
||||
#include <QskBoxBorderMetrics.h>
|
||||
#include <QskBoxBorderColors.h>
|
||||
|
||||
DaytimeSkin::DaytimeSkin( QObject* parent ) : QskSkin( parent )
|
||||
{
|
||||
declareSkinlet< PieChart, PieChartSkinlet >();
|
||||
initHints();
|
||||
}
|
||||
|
||||
void DaytimeSkin::initHints()
|
||||
{
|
||||
setBoxBorderMetrics( PieChart::Panel, 2 );
|
||||
setGradient( PieChart::Panel, Qt::blue );
|
||||
setBoxBorderColors( PieChart::Panel, Qt::green );
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
#ifndef DAYTIMESKIN_H
|
||||
#define DAYTIMESKIN_H
|
||||
|
||||
#include <QskSkin.h>
|
||||
|
||||
class DaytimeSkin : public QskSkin
|
||||
{
|
||||
public:
|
||||
DaytimeSkin( QObject* parent = nullptr );
|
||||
|
||||
private:
|
||||
void initHints();
|
||||
|
||||
};
|
||||
|
||||
#endif // DAYTIMESKIN_H
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
MainWindow::MainWindow() : QskWindow()
|
||||
{
|
||||
setFixedSize( { 1024, 600 } );
|
||||
setPreferredSize( { 1024, 600 } );
|
||||
setTitle( "IOT dashboard" );
|
||||
|
||||
m_mainLayout = new QskLinearBox( Qt::Horizontal, contentItem() );
|
||||
|
|
|
@ -45,6 +45,7 @@ QSGNode* PieChartSkinlet::updatePanelNode( const PieChart* pieChart, QSGNode* no
|
|||
const auto panelRect = subControlRect( pieChart, pieChart->contentsRect(), PieChart::Panel );
|
||||
|
||||
const qreal radius = panelRect.width() / 2;
|
||||
qDebug() << "radius:" << radius << panelRect;
|
||||
|
||||
QskBoxShapeMetrics shapeMetrics( radius, radius, radius, radius );
|
||||
QskBoxBorderMetrics borderMetrics = pieChart->boxBorderMetricsHint( PieChart::Panel );
|
||||
|
|
|
@ -2,6 +2,7 @@ CONFIG += qskexample
|
|||
|
||||
SOURCES += \
|
||||
Card.cpp \
|
||||
DaytimeSkin.cpp \
|
||||
MainContent.cpp \
|
||||
MenuBar.cpp \
|
||||
PieChart.cpp \
|
||||
|
@ -11,6 +12,7 @@ SOURCES += \
|
|||
|
||||
HEADERS += \
|
||||
Card.h \
|
||||
DaytimeSkin.h \
|
||||
MainContent.h \
|
||||
MainWindow.h \
|
||||
MenuBar.h \
|
||||
|
|
|
@ -1,27 +1,67 @@
|
|||
#include "MainWindow.h"
|
||||
|
||||
#include "DaytimeSkin.h"
|
||||
|
||||
#include <SkinnyFont.h>
|
||||
#include <SkinnyShortcut.h>
|
||||
|
||||
#include <QskLinearBox.h>
|
||||
#include <QskShortcutMap.h>
|
||||
#include <QskPushButton.h>
|
||||
#include <QskSetup.h>
|
||||
#include <QskShortcutMap.h>
|
||||
#include <QskSkinFactory.h>
|
||||
#include <QskSkinManager.h>
|
||||
#include <QskWindow.h>
|
||||
|
||||
#include <QGuiApplication>
|
||||
|
||||
|
||||
namespace {
|
||||
class SkinFactory : public QskSkinFactory
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
SkinFactory( QObject* parent = nullptr ) : QskSkinFactory( parent )
|
||||
{
|
||||
}
|
||||
|
||||
QStringList skinNames() const override
|
||||
{
|
||||
return { "DaytimeSkin" };
|
||||
}
|
||||
QskSkin* createSkin( const QString& skinName ) override
|
||||
{
|
||||
if( skinName == "DaytimeSkin" )
|
||||
{
|
||||
return new DaytimeSkin;
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
int main( int argc, char* argv[] )
|
||||
{
|
||||
QGuiApplication app( argc, argv );
|
||||
|
||||
SkinnyFont::init( &app );
|
||||
|
||||
SkinFactory skinFactory;
|
||||
|
||||
qskSkinManager->setPluginPaths( QStringList() ); // no plugins
|
||||
qskSkinManager->registerFactory(
|
||||
QStringLiteral( "SampleSkinFactory" ), &skinFactory );
|
||||
|
||||
// QskShortcutMap::addShortcut( QKeySequence( Qt::CTRL + Qt::Key_T ),
|
||||
// false, skinFactory, SLOT(toggleScheme()) );
|
||||
|
||||
// QskShortcutMap::addShortcut( QKeySequence( Qt::CTRL + Qt::Key_S ),
|
||||
// false, skinFactory, SLOT(rotateSkin()) );
|
||||
|
||||
qskSetup->setSkin( "DaytimeSkin" );
|
||||
|
||||
// With CTRL-B you can rotate a couple of visual debug modes
|
||||
SkinnyShortcut::enable( SkinnyShortcut::DebugBackground |
|
||||
SkinnyShortcut::DebugStatistics | SkinnyShortcut::Quit );
|
||||
|
@ -31,3 +71,5 @@ int main( int argc, char* argv[] )
|
|||
|
||||
return app.exec();
|
||||
}
|
||||
|
||||
#include "main.moc"
|
||||
|
|
Loading…
Reference in New Issue