summaryrefslogtreecommitdiffstats
path: root/core/subsurface-qt/diveobjecthelper.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/subsurface-qt/diveobjecthelper.h')
-rw-r--r--core/subsurface-qt/diveobjecthelper.h105
1 files changed, 105 insertions, 0 deletions
diff --git a/core/subsurface-qt/diveobjecthelper.h b/core/subsurface-qt/diveobjecthelper.h
new file mode 100644
index 000000000..7723df0f4
--- /dev/null
+++ b/core/subsurface-qt/diveobjecthelper.h
@@ -0,0 +1,105 @@
+// SPDX-License-Identifier: GPL-2.0
+#ifndef DIVE_QOBJECT_H
+#define DIVE_QOBJECT_H
+
+#include "cylinderobjecthelper.h"
+#include <QObject>
+#include <QString>
+#include <QStringList>
+#include <QVector>
+#include <QVariant>
+
+class DiveObjectHelper {
+ Q_GADGET
+ Q_PROPERTY(int number MEMBER number CONSTANT)
+ Q_PROPERTY(int id MEMBER id CONSTANT)
+ Q_PROPERTY(int rating MEMBER rating CONSTANT)
+ Q_PROPERTY(int visibility MEMBER visibility CONSTANT)
+ Q_PROPERTY(QString date READ date CONSTANT)
+ Q_PROPERTY(QString time READ time CONSTANT)
+ Q_PROPERTY(int timestamp MEMBER timestamp CONSTANT)
+ Q_PROPERTY(QString location MEMBER location CONSTANT)
+ Q_PROPERTY(QString gps MEMBER gps CONSTANT)
+ Q_PROPERTY(QString gps_decimal MEMBER gps_decimal CONSTANT)
+ Q_PROPERTY(QVariant dive_site MEMBER dive_site CONSTANT)
+ Q_PROPERTY(QString duration MEMBER duration CONSTANT)
+ Q_PROPERTY(bool noDive MEMBER noDive CONSTANT)
+ Q_PROPERTY(QString depth MEMBER depth CONSTANT)
+ Q_PROPERTY(QString divemaster MEMBER divemaster CONSTANT)
+ Q_PROPERTY(QString buddy MEMBER buddy CONSTANT)
+ Q_PROPERTY(QString airTemp MEMBER airTemp CONSTANT)
+ Q_PROPERTY(QString waterTemp MEMBER waterTemp CONSTANT)
+ Q_PROPERTY(QString notes MEMBER notes CONSTANT)
+ Q_PROPERTY(QString tags MEMBER tags CONSTANT)
+ Q_PROPERTY(QString gas MEMBER gas CONSTANT)
+ Q_PROPERTY(QString sac MEMBER sac CONSTANT)
+ Q_PROPERTY(QString weightList MEMBER weightList CONSTANT)
+ Q_PROPERTY(QStringList weights MEMBER weights CONSTANT)
+ Q_PROPERTY(bool singleWeight MEMBER singleWeight CONSTANT)
+ Q_PROPERTY(QString suit MEMBER suit CONSTANT)
+ Q_PROPERTY(QStringList cylinderList READ cylinderList CONSTANT)
+ Q_PROPERTY(QStringList cylinders MEMBER cylinders CONSTANT)
+ Q_PROPERTY(int maxcns MEMBER maxcns CONSTANT)
+ Q_PROPERTY(int otu MEMBER otu CONSTANT)
+ Q_PROPERTY(QString sumWeight MEMBER sumWeight CONSTANT)
+ Q_PROPERTY(QStringList getCylinder MEMBER getCylinder CONSTANT)
+ Q_PROPERTY(QStringList startPressure MEMBER startPressure CONSTANT)
+ Q_PROPERTY(QStringList endPressure MEMBER endPressure CONSTANT)
+ Q_PROPERTY(QStringList firstGas MEMBER firstGas CONSTANT)
+public:
+ DiveObjectHelper(); // This is only to be used by Qt's metatype system!
+ DiveObjectHelper(const struct dive *dive);
+ int number;
+ int id;
+ int rating;
+ int visibility;
+ QString date() const;
+ timestamp_t timestamp;
+ QString time() const;
+ QString location;
+ QString gps;
+ QString gps_decimal;
+ QVariant dive_site;
+ QString duration;
+ bool noDive;
+ QString depth;
+ QString divemaster;
+ QString buddy;
+ QString airTemp;
+ QString waterTemp;
+ QString notes;
+ QString tags;
+ QString gas;
+ QString sac;
+ QString weightList;
+ QStringList weights;
+ bool singleWeight;
+ QString suit;
+ QStringList cylinderList() const;
+ QStringList cylinders;
+ int maxcns;
+ int otu;
+ QString sumWeight;
+ QStringList getCylinder;
+ QStringList startPressure;
+ QStringList endPressure;
+ QStringList firstGas;
+};
+
+// This is an extended version of DiveObjectHelper that also keeps track of cylinder data.
+// It is used by grantlee to display structured cylinder data.
+// Note: this grantlee feature is undocumented. If there turns out to be no users, we might
+// want to remove this class.
+class DiveObjectHelperGrantlee : public DiveObjectHelper {
+ Q_GADGET
+ Q_PROPERTY(QVector<CylinderObjectHelper> cylinderObjects MEMBER cylinderObjects CONSTANT)
+public:
+ DiveObjectHelperGrantlee();
+ DiveObjectHelperGrantlee(const struct dive *dive);
+ QVector<CylinderObjectHelper> cylinderObjects;
+};
+
+Q_DECLARE_METATYPE(DiveObjectHelper)
+Q_DECLARE_METATYPE(DiveObjectHelperGrantlee)
+
+#endif