subsurface/profile-widget/profilescene.h
Berthold Stoeger db726862ae profile: move axes to ProfileScene
Part of separating the static (for printing, export) and
dynamic (UI) parts of the profile. This is still quite messy
with many direct accesses from the ProfileWidget.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-12-17 11:54:23 -08:00

38 lines
987 B
C++

// SPDX-License-Identifier: GPL-2.0
// Displays the dive profile. Used by the interactive profile widget
// and the printing/exporting code.
#ifndef PROFILESCENE_H
#define PROFILESCENE_H
#include <QGraphicsScene>
class DivePlotDataModel;
class DepthAxis;
class DiveCartesianAxis;
class PartialGasPressureAxis;
class TemperatureAxis;
class TimeAxis;
class ProfileScene : public QGraphicsScene {
public:
ProfileScene(double fontPrintScale);
~ProfileScene();
void updateAxes(); // Update axes according to preferences
bool isPointOutOfBoundaries(const QPointF &point) const;
int animSpeed;
private:
friend class ProfileWidget2; // For now, give the ProfileWidget full access to the objects on the scene
DivePlotDataModel *dataModel;
DepthAxis *profileYAxis;
PartialGasPressureAxis *gasYAxis;
TemperatureAxis *temperatureAxis;
TimeAxis *timeAxis;
DiveCartesianAxis *cylinderPressureAxis;
DiveCartesianAxis *heartBeatAxis;
DiveCartesianAxis *percentageAxis;
};
#endif