mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-07 23:36:15 +00:00
The series were passed a pointer to the QGraphicsScene to add their item. In the future these items will be replaced by QSGNodes. To add these, the series need a reference to the StatsView. Therefore pass it in the constructor. Once everything is replaces by QSGNodes, remove the QGraphicsScene member. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
27 lines
852 B
C++
27 lines
852 B
C++
// SPDX-License-Identifier: GPL-2.0
|
|
// Base class for all series. Defines a small virtual interface
|
|
// concerning highlighting of series items.
|
|
#ifndef STATS_SERIES_H
|
|
#define STATS_SERIES_H
|
|
|
|
#include <QPointF>
|
|
|
|
class QGraphicsScene;
|
|
class StatsAxis;
|
|
class StatsView;
|
|
|
|
class StatsSeries {
|
|
public:
|
|
StatsSeries(QGraphicsScene *scene, StatsView &view, StatsAxis *xAxis, StatsAxis *yAxis);
|
|
virtual ~StatsSeries();
|
|
virtual void updatePositions() = 0; // Called if chart geometry changes.
|
|
virtual bool hover(QPointF pos) = 0; // Called on mouse movement. Return true if an item of this series is highlighted.
|
|
virtual void unhighlight() = 0; // Unhighlight any highlighted item.
|
|
protected:
|
|
QGraphicsScene *scene;
|
|
StatsView &view;
|
|
StatsAxis *xAxis, *yAxis; // May be zero for charts without axes (pie charts).
|
|
QPointF toScreen(QPointF p);
|
|
};
|
|
|
|
#endif
|