statistics: remove QSceneGraph

All items are now painted with QSG.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2021-01-18 13:14:38 +01:00 committed by bstoeger
parent 51f67c6350
commit 9d3de1801e
3 changed files with 10 additions and 52 deletions

View file

@ -1,29 +1,12 @@
// SPDX-License-Identifier: GPL-2.0
// Helper functions to render the stats. Currently only
// contains a small template to create scene-items. This
// is for historical reasons to ease transition from QtCharts
// and might be removed.
// Helper functions to render the stats. Currently contains
// QSGNode template jugglery to overcome API flaws.
#ifndef STATSHELPER_H
#define STATSHELPER_H
#include <memory>
#include <QGraphicsScene>
#include <QSGNode>
template <typename T, class... Args>
T *createItem(QGraphicsScene *scene, Args&&... args)
{
T *res = new T(std::forward<Args>(args)...);
scene->addItem(res);
return res;
}
template <typename T, class... Args>
std::unique_ptr<T> createItemPtr(QGraphicsScene *scene, Args&&... args)
{
return std::unique_ptr<T>(createItem<T>(scene, std::forward<Args>(args)...));
}
// In general, we want chart items to be hideable. For example to show/hide
// labels on demand. Very sadly, the QSG API is absolutely terrible with
// respect to temporarily disabling. Instead of simply having a flag,