mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
statistics: add series interface class
Add a interface class for the chart series used by the statistics module. Abstract virtual functions are declared for replotting and selecting items. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
31da037701
commit
907e6ff05d
3 changed files with 47 additions and 0 deletions
|
@ -11,6 +11,8 @@ set(SUBSURFACE_STATS_SRCS
|
|||
statsaxis.cpp
|
||||
statscolors.h
|
||||
statscolors.cpp
|
||||
statsseries.h
|
||||
statsseries.cpp
|
||||
statsvariables.h
|
||||
statsvariables.cpp
|
||||
zvalues.h
|
||||
|
|
18
stats/statsseries.cpp
Normal file
18
stats/statsseries.cpp
Normal file
|
@ -0,0 +1,18 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include "statsseries.h"
|
||||
#include "statsaxis.h"
|
||||
|
||||
#include <QChart>
|
||||
|
||||
StatsSeries::StatsSeries(QtCharts::QChart *chart, StatsAxis *xAxis, StatsAxis *yAxis)
|
||||
{
|
||||
chart->addSeries(this);
|
||||
if (xAxis && yAxis) {
|
||||
attachAxis(xAxis->qaxis());
|
||||
attachAxis(yAxis->qaxis());
|
||||
}
|
||||
}
|
||||
|
||||
StatsSeries::~StatsSeries()
|
||||
{
|
||||
}
|
27
stats/statsseries.h
Normal file
27
stats/statsseries.h
Normal file
|
@ -0,0 +1,27 @@
|
|||
// 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 <QScatterSeries>
|
||||
|
||||
namespace QtCharts {
|
||||
class QChart;
|
||||
}
|
||||
class StatsAxis;
|
||||
|
||||
// We derive from a proper scatter series to get access to the map-to
|
||||
// and map-from coordinates calls. But we don't use any of its functionality.
|
||||
// This should be removed in due course.
|
||||
|
||||
class StatsSeries : public QtCharts::QScatterSeries {
|
||||
public:
|
||||
StatsSeries(QtCharts::QChart *chart, 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.
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Reference in a new issue