SedSat3 1.1.6
Sediment Source Apportionment Tool - Advanced statistical methods for environmental pollution research
Loading...
Searching...
No Matches
cmbtimeseries.cpp
Go to the documentation of this file.
1#include "cmbtimeseries.h"
2#include "QJsonArray"
3#include <QFile>
4#include "Vector.h"
5
6CMBTimeSeries::CMBTimeSeries():TimeSeries<double>(),Interface()
7{
8
9}
10
11CMBTimeSeries::CMBTimeSeries(const CMBTimeSeries& mp):TimeSeries<double>(mp)
12{
13
14}
15
16CMBTimeSeries::CMBTimeSeries(int n):TimeSeries<double>(n), Interface()
17{
18
19}
20
26QJsonObject CMBTimeSeries::toJsonObject() const
27{
28 QJsonObject out;
29 QJsonArray t_values;
30 QJsonArray C_values;
31 for (int i=0; i<size(); i++)
32 {
33 t_values.append(getTime(i));
34 C_values.append(getValue(i));
35 }
36 out["time"] = t_values;
37 out["value"] = C_values;
38
39 return out;
40
41}
42bool CMBTimeSeries::ReadFromJsonObject(const QJsonObject &jsonobject)
43{
44 return true;
45}
46
47
49{
50 string out;
51 for (int i=0; i<size(); i++)
52 {
53 out+=QString::number(getTime(i)).toStdString() + "," + QString::number(getValue(i)).toStdString();
54 }
55
56 return out;
57}
58
60{
61 file->write(QString::fromStdString(ToString()).toUtf8());
62 return true;
63}
64
66{
67 QTableWidget *tablewidget = new QTableWidget();
68 tablewidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
69 tablewidget->setColumnCount(1);
70 tablewidget->setRowCount(size());
71 QStringList headers;
72 QStringList rowlabels;
73
74 for (int i=0; i<size(); i++)
75 {
76 rowlabels<<QString::number(getTime(i));
78 {
79 if (getTime(i)>highlimit || getValue(i)<lowlimit)
80 {
81 tablewidget->item(i,0)->setForeground(QColor(Qt::red));
82 }
83 }
84 tablewidget->setItem(i,0, new QTableWidgetItem(QString::number(getValue(i))));
85 }
86 headers << "Value";
87 tablewidget->setHorizontalHeaderLabels(headers);
88 tablewidget->setVerticalHeaderLabels(rowlabels);
89 return tablewidget;
90}
91
92
Time series data container with Interface support.
bool ReadFromJsonObject(const QJsonObject &jsonobject) override
Deserializes time series from JSON format.
CMBTimeSeries & operator=(const CMBTimeSeries &mp)
Assignment operator.
bool writetofile(QFile *) override
Writes time series to file.
QJsonObject toJsonObject() const override
Serializes time series to JSON format.
CMBTimeSeries()
Default constructor - creates an empty time series.
QTableWidget * ToTable() override
Creates a QTableWidget for displaying time series data.
string ToString() const override
Converts time series to CSV-formatted string.
Abstract base class providing common serialization and visualization interface.
Definition interface.h:65
double lowlimit
Lower threshold for value highlighting (when enabled)
Definition interface.h:211
bool highlightoutsideoflimit
Flag indicating whether to highlight values outside defined limits.
Definition interface.h:221
double highlimit
Upper threshold for value highlighting (when enabled)
Definition interface.h:212