diff --git a/src/widgets/plotwidget.h b/src/widgets/plotwidget.h
index 5f99854..be77f2c 100644
--- a/src/widgets/plotwidget.h
+++ b/src/widgets/plotwidget.h
@@ -1,115 +1,114 @@
/* Atelier KDE Printer Host for 3D Printing
Copyright (C) <2016>
Author: Patrick José Pereira - patrickelectric@gmail.com
This program 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.
This program 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 this program. If not, see .
*/
#pragma once
#include
#include
#include
class PlotWidget : public QWidget
{
Q_OBJECT
public:
explicit PlotWidget(QWidget *parent = nullptr);
~PlotWidget();
/**
* @brief Create a new plot
*
* @param name p_name: plot name
*/
void newPlot(QString name);
/**
* @brief Delete plot with name
*
* @param name p_name: name
*/
void deletePlot(QString name);
/**
* @brief Append point to plot
*
* @param name p_name: plot name
* @param value p_value: value
*/
void appendPoint(QString name, float value);
/**
* @brief Update plot list, need to run after ALL plots added
*
*/
void update();
private:
QChartView *_chart;
QDateTimeAxis *_axisX;
QValueAxis *_axisY;
QHash _name2Index;
class plot
{
public:
- explicit plot()
+ explicit plot() : _series(new QLineSeries())
{
- _series = new QLineSeries();
};
~plot()
{
// Series will be deleted with chart
};
void pushPoint(float value)
{
QDateTime now = QDateTime::currentDateTime();
_series->append(now.toMSecsSinceEpoch(), value);
}
void setName(QString name)
{
_name = name;
_series->setName(_name);
//Add 3 initial points to plot
QDateTime now = QDateTime::currentDateTime();
_series->append(now.toMSecsSinceEpoch() - 2 * 60e3, 0.0);
_series->append(now.toMSecsSinceEpoch() - 60e3, 0.0);
_series->append(now.toMSecsSinceEpoch(), 0.0);
}
QLineSeries *serie()
{
return _series;
}
QString name()
{
return _name;
}
private:
QLineSeries *_series;
QString _name;
};
QVector _plots;
};