1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
/***************************************************************************
statssentconfirmedpiechatwidget.cpp - description
-------------------
begin : nov 2018
copyright : (C) 2018 by Jaime Robles
email : jaime@robles.es
***************************************************************************/
/*****************************************************************************
* This file is part of KLog. *
* *
* KLog is free software: you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation, either version 3 of the License, or *
* (at your option) any later version. *
* *
* KLog is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with KLog. If not, see <https://www.gnu.org/licenses/>. *
* *
*****************************************************************************/
#include "statssentconfirmedpiechartwidget.h"
StatsSentConfirmedPieChartWidget::StatsSentConfirmedPieChartWidget(DataProxy_SQLite *dp, QWidget *parent)
{
//qDebug() << "StatsSentConfirmedPieChartWidget::StatsSentConfirmedPieChartWidget";
Q_UNUSED(parent);
dataProxy = dp;
//chart = new QChart();
chartView = new QChartView();
createUI();
//prepareChart();
}
StatsSentConfirmedPieChartWidget::~StatsSentConfirmedPieChartWidget()
{
//delete(dataProxy);
}
void StatsSentConfirmedPieChartWidget::createUI()
{
chartView->setRenderHint(QPainter::Antialiasing);
QVBoxLayout *graphLayout = new QVBoxLayout;
graphLayout->addWidget(chartView);
setLayout(graphLayout);
}
void StatsSentConfirmedPieChartWidget::prepareChart(const int _log)
{
QChart *chart = new QChart();
chart->setAnimationOptions(QChart::SeriesAnimations);
chart->legend()->setVisible(true);
chart->legend()->setAlignment(Qt::AlignBottom);
QPieSeries *series = new QPieSeries();
//PieSlice append(string label, real value)
int sent = dataProxy->getHowManyQSLSentInLog(_log);
int confirmed = dataProxy->getHowManyConfirmedQSLInLog(_log);
//qDebug() << "Confirmed: " << QString::number(confirmed);
series->append(tr("Sent - %1").arg(sent), sent);
series->append(tr("Confirmed - %2").arg(confirmed), confirmed);
QPieSlice *slice = series->slices().at(1);
slice->setExploded();
slice->setLabelVisible();
slice->setPen(QPen(Qt::darkGreen, 2));
slice->setBrush(Qt::green);
QPieSlice *slice1 = series->slices().at(0);
slice1->setExploded();
slice1->setLabelVisible();
slice1->setPen(QPen(Qt::blue, 2));
slice1->setBrush(Qt::blue);
chart->addSeries(series);
chart->setTitle(tr("Sent / Confirmed status"));
chart->legend()->hide();
chartView->setRenderHint(QPainter::Antialiasing);
chartView->setChart (chart);
}
|