qskinny/examples/iot-dashboard/MainContent.cpp

55 lines
1.6 KiB
C++
Raw Normal View History

2020-05-22 09:48:05 +00:00
#include "MainContent.h"
#include "Card.h"
2020-08-26 15:22:43 +00:00
#include "Diagram.h"
2020-08-14 14:28:47 +00:00
#include "Humidity.h"
2020-08-14 10:48:15 +00:00
#include "IndoorTemperature.h"
2020-08-17 15:19:05 +00:00
#include "MyDevices.h"
2020-05-22 13:15:38 +00:00
#include "PieChart.h"
2020-06-12 13:51:13 +00:00
#include "TopBar.h"
2020-08-12 15:11:00 +00:00
#include "Usage.h"
2020-05-22 09:48:05 +00:00
2020-08-12 15:11:00 +00:00
#include <QskBoxBorderColors.h>
#include <QskBoxBorderMetrics.h>
#include <QskBoxShapeMetrics.h>
#include <QskGridBox.h>
2020-05-22 09:48:05 +00:00
#include <QskTextLabel.h>
2020-08-26 15:22:43 +00:00
MainContent::MainContent( QQuickItem* parent ) : QskLinearBox( Qt::Vertical, parent )
2020-05-22 09:48:05 +00:00
{
setSizePolicy( QskSizePolicy::Expanding, QskSizePolicy::Expanding );
2020-08-26 15:22:43 +00:00
setDefaultAlignment( Qt::AlignTop );
setSpacing( 30 );
2020-05-22 09:48:05 +00:00
2020-08-26 15:22:43 +00:00
auto* topBar = new TopBar( this );
2020-05-22 09:48:05 +00:00
2020-08-26 15:22:43 +00:00
auto* gridBox = new QskGridBox( this );
gridBox->setMargins( {15, 0, 15, 20} );
gridBox->setPanel( true );
gridBox->setBoxShapeHint( QskBox::Panel, 6 );
2020-08-14 10:48:15 +00:00
gridBox->setBoxBorderMetricsHint( QskBox::Panel, 2 );
2020-08-26 15:22:43 +00:00
QskBoxBorderColors borderColors( "#dddddd" );
borderColors.setAlpha( 100 );
gridBox->setBoxBorderColorsHint( QskBox::Panel, borderColors );
2020-08-12 15:11:00 +00:00
2020-08-26 15:22:43 +00:00
auto* usage = new Usage( gridBox );
gridBox->addItem( usage, 0, 0, 2, 1 );
2020-08-14 10:48:15 +00:00
2020-08-26 15:22:43 +00:00
auto* indoorTemperature = new IndoorTemperature( gridBox );
gridBox->addItem( indoorTemperature, 0, 1 );
2020-08-14 14:28:47 +00:00
2020-08-26 15:22:43 +00:00
auto* humidity = new Humidity( gridBox );
gridBox->addItem( humidity, 1, 1 );
2020-08-17 15:19:05 +00:00
2020-08-26 15:22:43 +00:00
auto* myDevices = new MyDevices( gridBox );
gridBox->addItem( myDevices, 0, 2, 2, 1 );
auto* diagram = new Diagram( gridBox );
gridBox->addItem( diagram, 2, 0, 0, 2 );
2020-05-22 09:48:05 +00:00
}
2020-08-26 15:22:43 +00:00
void MainContent::addCard( const QString& title, QskControl* content, int column )
2020-05-22 09:48:05 +00:00
{
new Card( title, content, m_columns.at( column ) );
}