#include "statsmodel.h"
StatsModel::StatsModel(QObject *parent) : QAbstractListModel(parent) {
+ roles[TitleRole] = "title";
roles[ValuesRole] = "values";
roles[LabelsRole] = "labels";
+ roles[UnitsRole] = "units";
+ roles[MinValRole] = "minval";
+ roles[MaxValRole] = "maxval";
+ roles[StepRole] = "step";
}
-void StatsModel::addStats(const Stats &stats) {
- this->stats.append(stats);
+void StatsModel::addStats(Stats &stats) {
+ this->stats.append(&stats);
}
QHash<int, QByteArray> StatsModel::roleNames() const {
if (index.row() < 0 || index.row() > stats.count())
return QVariant();
- const Stats &stat = stats[index.row()];
- if (role == ValuesRole)
- return QVariant::fromValue<QList<float>>(stat.getValues());
+ const Stats *stat = stats[index.row()];
+ if (role == TitleRole)
+ return stat->getTitle();
+ else if (role == ValuesRole)
+ return QVariant::fromValue<QList<float>>(stat->getValues());
else if (role == LabelsRole)
- return stat.getLabels();
+ return stat->getLabels();
+ else if (role == UnitsRole)
+ return stat->getUnits();
+ else if (role == MinValRole)
+ return stat->getMinVal();
+ else if (role == MaxValRole)
+ return stat->getMaxVal();
+ else if (role == StepRole)
+ return stat->getStep();
return QVariant();
}
stats.clear();
}
+void StatsModel::updateAll() {
+ foreach (Stats * stat, stats) {
+ stat->update();
+ }
+}