statistics: add a skeleton StatsManager class

In analogy to "QMLManager", add a "StatsManager" class,
which manages the statistics module on mobile.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2021-01-07 15:12:25 +01:00 committed by Dirk Hohndel
parent e7907c494f
commit d77f254328
5 changed files with 53 additions and 0 deletions

View file

@ -3,6 +3,7 @@
set(SUBSURFACE_MOBILE_SRCS
qmlinterface.cpp
qmlmanager.cpp
statsmanager.cpp
themeinterface.cpp
)

View file

@ -0,0 +1,28 @@
// SPDX-License-Identifier: GPL-2.0
#include "statsmanager.h"
StatsManager::StatsManager() : view(nullptr)
{
// Test: show some random data. Let's see what happens.
state.var1Changed(2);
state.var2Changed(3);
state.binner2Changed(2);
}
StatsManager::~StatsManager()
{
}
void StatsManager::init(StatsView *v)
{
if (!v)
fprintf(stderr, "StatsManager::init(): no StatsView - statistics will not work.\n");
view = v;
}
void StatsManager::doit()
{
if (!view)
return;
view->plot(state);
}

View file

@ -0,0 +1,20 @@
// SPDX-License-Identifier: GPL-2.0
#ifndef STATSMANAGER_H
#define STATSMANAGER_H
#include "stats/statsview.h"
#include "stats/statsstate.h"
class StatsManager : public QObject {
Q_OBJECT
public:
StatsManager();
~StatsManager();
Q_INVOKABLE void init(StatsView *v);
Q_INVOKABLE void doit();
private:
StatsView *view;
StatsState state;
};
#endif