mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
19baae449d
Don't access the global current_dc, but pass it to the sensor and tank-use delegates, when the current dive or dive computer changes. The same pattern is already realized for the tank and weight models. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
90 lines
2 KiB
C++
90 lines
2 KiB
C++
// SPDX-License-Identifier: GPL-2.0
|
|
#ifndef DIVEPLANNER_H
|
|
#define DIVEPLANNER_H
|
|
|
|
#include <QAbstractTableModel>
|
|
#include <QAbstractButton>
|
|
#include <QDateTime>
|
|
|
|
class QListView;
|
|
class QModelIndex;
|
|
class DivePlannerPointsModel;
|
|
struct dive;
|
|
|
|
#include "ui_diveplanner.h"
|
|
|
|
class DivePlannerWidget : public QWidget {
|
|
Q_OBJECT
|
|
public:
|
|
explicit DivePlannerWidget(QWidget *parent = 0);
|
|
void setReplanButton(bool replan);
|
|
public
|
|
slots:
|
|
void setupStartTime(QDateTime startTime);
|
|
void settingsChanged();
|
|
void atmPressureChanged(const int pressure);
|
|
void heightChanged(const int height);
|
|
void waterTypeChanged(const int index);
|
|
void customSalinityChanged(double density);
|
|
void setSurfacePressure(int surface_pressure);
|
|
void setSalinity(int salinity);
|
|
private:
|
|
Ui::DivePlanner ui;
|
|
QAbstractButton *replanButton;
|
|
void waterTypeUpdateTexts();
|
|
};
|
|
|
|
#include "ui_plannerSettings.h"
|
|
|
|
class PlannerSettingsWidget : public QWidget {
|
|
Q_OBJECT
|
|
public:
|
|
explicit PlannerSettingsWidget(QWidget *parent = 0);
|
|
~PlannerSettingsWidget();
|
|
public
|
|
slots:
|
|
void settingsChanged();
|
|
void setBackgasBreaks(bool dobreaks);
|
|
void disableDecoElements(int mode);
|
|
void disableBackgasBreaks(bool enabled);
|
|
void setDiveMode(int mode);
|
|
void setBailoutVisibility(int mode);
|
|
|
|
private:
|
|
Ui::plannerSettingsWidget ui;
|
|
void updateUnitsUI();
|
|
};
|
|
|
|
#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; }
|
|
public
|
|
slots:
|
|
void setPlanNotes(QString plan);
|
|
|
|
private:
|
|
Ui::plannerDetails ui;
|
|
};
|
|
|
|
// The planner widgets make up three quadrants
|
|
class PlannerWidgets : public QObject {
|
|
Q_OBJECT
|
|
public:
|
|
PlannerWidgets();
|
|
void planDive(dive *currentDive);
|
|
void replanDive(int currentDC);
|
|
public
|
|
slots:
|
|
void printDecoPlan();
|
|
public:
|
|
DivePlannerWidget plannerWidget;
|
|
PlannerSettingsWidget plannerSettingsWidget;
|
|
PlannerDetails plannerDetails;
|
|
};
|
|
|
|
#endif // DIVEPLANNER_H
|