From 83b1a6db0615b40a0bda880b98dd6e1fa323ea1b Mon Sep 17 00:00:00 2001 From: Jacek Barc Date: Mon, 13 Sep 2021 18:58:47 +0200 Subject: [PATCH] Added charts --- Server/Server.pro | 2 +- Server/mainwindow.cpp | 2 +- Server/selectedclient.cpp | 29 ++++++++++++++++++++++++++++ Server/selectedclient.h | 4 ++++ Server/selectedclient.ui | 40 +++++++++++++++++++++++++++++++++------ 5 files changed, 69 insertions(+), 8 deletions(-) diff --git a/Server/Server.pro b/Server/Server.pro index 311d3d4..0465756 100644 --- a/Server/Server.pro +++ b/Server/Server.pro @@ -1,6 +1,6 @@ QT += core gui QT += network - +QT += charts greaterThan(QT_MAJOR_VERSION, 4): QT += widgets CONFIG += c++11 diff --git a/Server/mainwindow.cpp b/Server/mainwindow.cpp index ca66f7a..7586c38 100644 --- a/Server/mainwindow.cpp +++ b/Server/mainwindow.cpp @@ -49,7 +49,7 @@ void MainWindow::appendToSocketList(QTcpSocket* socket) connect(socket, &QTcpSocket::readyRead, this, &MainWindow::readSocket); connect(socket, &QTcpSocket::disconnected, this, &MainWindow::discardSocket); connect(socket, &QAbstractSocket::errorOccurred, this, &MainWindow::displayError); - displayMessage(QString("INFO :: Client with sockd:%1 has just entered the room").arg(socket->socketDescriptor())); + displayMessage(QString("INFO :: Client with sockd:%1 has just connected").arg(socket->socketDescriptor())); resourcesSocketMap.insert(socket,new Resources()); } diff --git a/Server/selectedclient.cpp b/Server/selectedclient.cpp index fb067c5..652a61f 100644 --- a/Server/selectedclient.cpp +++ b/Server/selectedclient.cpp @@ -19,6 +19,35 @@ SelectedClient::SelectedClient(Resources* r) : QDialog(nullptr), ui->labelDisk->setText(QString::number(resources->getDiskFreeSpacePercentage())+ "%"); ui->labelMemory->setText(QString::number(resources->getTotalMemory())); ui->labelUsedMemory->setText(QString::number(1.0*resources->getMemoryLoad()/resources->getTotalMemory()) + "%"); + int iter = 1; + for (float cpuLoad : resources->getCpuLoadList()){ + lineSeries[0]->append(iter, cpuLoad); + iter++; + } + iter = 1; + for (float diskSpace : resources->getDiskFreeSpacePercentageList()){ + lineSeries[1]->append(iter, diskSpace); + iter++; + } + iter = 1; + for (float memoryLoad : resources->getMemoryLoadListReference()){ + lineSeries[2]->append(iter, 1.0 * memoryLoad/resources->getTotalMemory()); + iter++; + } + charts[0]->setTitle("Cpu load"); + charts[1]->setTitle("Free disk space"); + charts[2]->setTitle("Free memory"); + for (int i = 0; i < 3; i++) { + charts[i]->addSeries(lineSeries[i]); + charts[i]->legend()->hide(); + charts[i]->createDefaultAxes(); + } + ui->graphicsView_chart0->setChart(charts[0]); + ui->graphicsView_chart1->setChart(charts[1]); + ui->graphicsView_chart2->setChart(charts[2]); + ui->graphicsView_chart0->setRenderHint(QPainter::Antialiasing); + ui->graphicsView_chart1->setRenderHint(QPainter::Antialiasing); + ui->graphicsView_chart2->setRenderHint(QPainter::Antialiasing); } SelectedClient::~SelectedClient() diff --git a/Server/selectedclient.h b/Server/selectedclient.h index 818c825..c2310d0 100644 --- a/Server/selectedclient.h +++ b/Server/selectedclient.h @@ -4,6 +4,8 @@ #include #include "resources.h" #include "runningprocesses.h" +#include +#include namespace Ui { class SelectedClient; @@ -24,6 +26,8 @@ private slots: private: Ui::SelectedClient *ui; Resources* resources; + QLineSeries *lineSeries[3] = {new QLineSeries, new QLineSeries, new QLineSeries}; + QChart *charts[3] = {new QChart(), new QChart(), new QChart()}; }; #endif // SELECTEDCLIENT_H diff --git a/Server/selectedclient.ui b/Server/selectedclient.ui index 5e40f94..0dd10a6 100644 --- a/Server/selectedclient.ui +++ b/Server/selectedclient.ui @@ -7,7 +7,7 @@ 0 0 951 - 537 + 781 @@ -16,8 +16,8 @@ - 850 - 500 + 10 + 740 81 32 @@ -35,7 +35,7 @@ 9 9 321 - 161 + 311 @@ -128,8 +128,8 @@ - 10 - 180 + 100 + 350 161 41 @@ -138,7 +138,35 @@ Show running processes + + + + 349 + 9 + 581 + 761 + + + + + + + + + + + + + + + + + QChartView + QGraphicsView +
QtCharts
+
+