1 #include "statsmodel.h"
3 StatsModel::StatsModel(QObject
*parent
) : QAbstractListModel(parent
) {
4 roles
[TitleRole
] = "title";
5 roles
[ValuesRole
] = "values";
6 roles
[LabelsRole
] = "labels";
7 roles
[UnitsRole
] = "units";
8 roles
[MinValRole
] = "minval";
9 roles
[MaxValRole
] = "maxval";
10 roles
[StepRole
] = "step";
13 void StatsModel::addStats(Stats
&stats
) {
14 this->stats
.append(&stats
);
17 QHash
<int, QByteArray
> StatsModel::roleNames() const {
21 int StatsModel::rowCount(const QModelIndex
& parent
) const {
26 QVariant
StatsModel::data(const QModelIndex
& index
, int role
) const {
27 if (index
.row() < 0 || index
.row() > stats
.count())
30 const Stats
*stat
= stats
[index
.row()];
31 if (role
== TitleRole
)
32 return stat
->getTitle();
33 else if (role
== ValuesRole
)
34 return QVariant::fromValue
<QList
<float>>(stat
->getValues());
35 else if (role
== LabelsRole
)
36 return stat
->getLabels();
37 else if (role
== UnitsRole
)
38 return stat
->getUnits();
39 else if (role
== MinValRole
)
40 return stat
->getMinVal();
41 else if (role
== MaxValRole
)
42 return stat
->getMaxVal();
43 else if (role
== StepRole
)
44 return stat
->getStep();
48 void StatsModel::clear() {
52 void StatsModel::updateAll() {
53 foreach (Stats
* stat
, stats
) {