mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +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
|
statsaxis.cpp
|
||||||
statscolors.h
|
statscolors.h
|
||||||
statscolors.cpp
|
statscolors.cpp
|
||||||
|
statsseries.h
|
||||||
|
statsseries.cpp
|
||||||
statsvariables.h
|
statsvariables.h
|
||||||
statsvariables.cpp
|
statsvariables.cpp
|
||||||
zvalues.h
|
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…
Add table
Reference in a new issue