summaryrefslogtreecommitdiffstats
path: root/desktop-widgets/diveplanner.h
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2015-11-02 19:54:34 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-11-02 19:54:34 -0800
commit8ea7f404574c2ee571d2dde6bb6be3791e962150 (patch)
tree6a050178bfc71bf10558968f2a3bc0a12d8c525f /desktop-widgets/diveplanner.h
parentb273c1b0ca7bfe933e7c83742f1610f6bbe3f4d3 (diff)
parentdf7818a9b8495285b4d9812e5d6d50d6f9c08813 (diff)
downloadsubsurface-8ea7f404574c2ee571d2dde6bb6be3791e962150.tar.gz
Merge branch 'cmakeAndPreferences'
Diffstat (limited to 'desktop-widgets/diveplanner.h')
-rw-r--r--desktop-widgets/diveplanner.h104
1 files changed, 104 insertions, 0 deletions
diff --git a/desktop-widgets/diveplanner.h b/desktop-widgets/diveplanner.h
new file mode 100644
index 000000000..b2e03a97b
--- /dev/null
+++ b/desktop-widgets/diveplanner.h
@@ -0,0 +1,104 @@
+#ifndef DIVEPLANNER_H
+#define DIVEPLANNER_H
+
+#include <QGraphicsPathItem>
+#include <QAbstractTableModel>
+#include <QAbstractButton>
+#include <QDateTime>
+#include <QSignalMapper>
+
+#include "dive.h"
+
+class QListView;
+class QModelIndex;
+class DivePlannerPointsModel;
+
+class DiveHandler : public QObject, public QGraphicsEllipseItem {
+ Q_OBJECT
+public:
+ DiveHandler();
+
+protected:
+ void contextMenuEvent(QGraphicsSceneContextMenuEvent *event);
+ void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
+ void mousePressEvent(QGraphicsSceneMouseEvent *event);
+ void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
+signals:
+ void moved();
+ void clicked();
+ void released();
+private:
+ int parentIndex();
+public
+slots:
+ void selfRemove();
+ void changeGas();
+private:
+ QTime t;
+};
+
+#include "ui_diveplanner.h"
+
+class DivePlannerWidget : public QWidget {
+ Q_OBJECT
+public:
+ explicit DivePlannerWidget(QWidget *parent = 0, Qt::WindowFlags f = 0);
+ void setReplanButton(bool replan);
+public
+slots:
+ void setupStartTime(QDateTime startTime);
+ void settingsChanged();
+ void atmPressureChanged(const int pressure);
+ void heightChanged(const int height);
+ void salinityChanged(const double salinity);
+ void printDecoPlan();
+
+private:
+ Ui::DivePlanner ui;
+ QAbstractButton *replanButton;
+};
+
+#include "ui_plannerSettings.h"
+
+class PlannerSettingsWidget : public QWidget {
+ Q_OBJECT
+public:
+ explicit PlannerSettingsWidget(QWidget *parent = 0, Qt::WindowFlags f = 0);
+ virtual ~PlannerSettingsWidget();
+public
+slots:
+ void settingsChanged();
+ void atmPressureChanged(const QString &pressure);
+ void bottomSacChanged(const double bottomSac);
+ void decoSacChanged(const double decosac);
+ void printDecoPlan();
+ void setAscRate75(int rate);
+ void setAscRate50(int rate);
+ void setAscRateStops(int rate);
+ void setAscRateLast6m(int rate);
+ void setDescRate(int rate);
+ void setBottomPo2(double po2);
+ void setDecoPo2(double po2);
+ void setBackgasBreaks(bool dobreaks);
+ void disableDecoElements(int mode);
+
+private:
+ Ui::plannerSettingsWidget ui;
+ void updateUnitsUI();
+ QSignalMapper *modeMapper;
+};
+
+#include "ui_plannerDetails.h"
+
+class PlannerDetails : public QWidget {
+ Q_OBJECT
+public:
+ explicit PlannerDetails(QWidget *parent = 0);
+ QPushButton *printPlan() const { return ui.printPlan; }
+ QTextEdit *divePlanOutput() const { return ui.divePlanOutput; }
+
+private:
+ Ui::plannerDetails ui;
+};
+
+#endif // DIVEPLANNER_H