SedSat3 1.1.6
Sediment Source Apportionment Tool - Advanced statistical methods for environmental pollution research
Loading...
Searching...
No Matches
contribution.cpp
Go to the documentation of this file.
1#include "contribution.h"
2#include "Utilities.h"
3#include "qfile.h"
4
6{
7
8}
9
11{
12
13}
15{
16 map<string,double>::operator=(rhs);
18 return *this;
19}
20
22{
23 string out;
24 for (map<string,double>::const_iterator it=cbegin(); it!=cend(); it++ )
25 {
26 out += it->first + ":" + aquiutils::numbertostring(it->second) + "\n";
27 }
28 return out;
29}
30
32{
33 file->write(QString::fromStdString(ToString()).toUtf8());
34 return true;
35}
36
37bool Contribution::Read(const QStringList &strlist)
38{
39 clear();
40 for (int i=0; i<strlist.size();i++)
41 {
42 if (strlist[i].split(":").size()>1)
43 {
44 operator[](strlist[i].split(":")[0].toStdString()) = strlist[i].split(":")[1].toDouble();
45 }
46 }
47 return true;
48}
49
50QJsonObject Contribution::toJsonObject() const
51{
52 QJsonObject out;
53 for (map<string,double>::const_iterator it=cbegin(); it!=cend(); it++ )
54 {
55 out[QString::fromStdString(it->first)] = it->second;
56 }
57 return out;
58}
59
60bool Contribution::ReadFromJsonObject(const QJsonObject &jsonobject)
61{
62 clear();
63 for (QString key: jsonobject.keys())
64 {
65 operator[](key.toStdString()) = jsonobject[key].toDouble();
66 }
67 return true;
68}
69
70QTableWidget *Contribution::ToTable()
71{
72 QTableWidget *tablewidget = new QTableWidget();
73 tablewidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
74 tablewidget->setColumnCount(1);
75 tablewidget->setRowCount(size());
76 QStringList headers;
77 QStringList sources;
78 int i=0;
79 for (map<string,double>::const_iterator it=cbegin(); it!=cend(); it++ )
80 {
81 sources<<QString::fromStdString(it->first);
82 tablewidget->setItem(i,0, new QTableWidgetItem(QString::number(it->second)));
83 i++;
84 }
85 headers << "Contribution";
86 tablewidget->setHorizontalHeaderLabels(headers);
87 tablewidget->setVerticalHeaderLabels(sources);
88 return tablewidget;
89}
Source contribution container for Chemical Mass Balance results.
QTableWidget * ToTable() override
Creates a QTableWidget for displaying contributions.
bool ReadFromJsonObject(const QJsonObject &jsonobject) override
Deserializes contributions from JSON format.
bool Read(const QStringList &strlist) override
Reads contributions from string list.
QJsonObject toJsonObject() const override
Serializes contributions to JSON format.
Contribution()
Default constructor - creates an empty contribution set.
string ToString() const override
Converts contributions to colon-separated string format.
bool writetofile(QFile *) override
Writes contributions to file.
Contribution & operator=(const Contribution &rhs)
Assignment operator.
Abstract base class providing common serialization and visualization interface.
Definition interface.h:65
Interface & operator=(const Interface &intf)
Assignment operator.
Definition interface.cpp:14