Plot OC-pO2 graph for SCR dives

This commit allows plotting the OC-equivalent pO2 graph for PSCR
dives. This happens in both the cases where there is no external
O2-monitoring AND when there is external pO2 monitoring. The
calculations are only done for PSCR dives and is achieved as
follows:

1) Within plot-info create a pressure-t called OC_pO2 in
   profile.h and populate this variable with the open-circuit
   pO2 values in profile.c.
2) Create a new partialPressureGasItem ocpo2GasItem in
   profilewidget2.h and, in profilewidget2.cpp, initialise it
   to read the plot-info OC_pO2 values and enable its
   display by using the setVisible method. The
   diveplotdatamodel was also touched in order to achieve
   this.
3) Create a pref button that controls the display of OC-pO2 for SCR dives
4) Change the colour of the OC-pO2 grpah to orange
5) Change the connection of the crr_OC_pO2 signal to be appropriate
6) rename the OC_pO2 attribute to scr_OC-pO2

Signed-off-by: Willem Ferguson <willemferguson@zoology.up.ac.za>
This commit is contained in:
Willem Ferguson 2018-03-14 17:13:37 +02:00 committed by Lubomir I. Ivanov
parent e9fd4cb7dc
commit 81a812539c
14 changed files with 107 additions and 52 deletions

View file

@ -135,6 +135,7 @@ class TechnicalDetailsSettings : public QObject {
Q_PROPERTY(bool rulergraph READ rulerGraph WRITE setRulerGraph NOTIFY rulerGraphChanged)
Q_PROPERTY(bool show_ccr_setpoint READ showCCRSetpoint WRITE setShowCCRSetpoint NOTIFY showCCRSetpointChanged)
Q_PROPERTY(bool show_ccr_sensors READ showCCRSensors WRITE setShowCCRSensors NOTIFY showCCRSensorsChanged)
Q_PROPERTY(bool show_scr_ocpo2 READ showSCROCpO2 WRITE setShowSCROCpO2 NOTIFY showSCROCpO2Changed)
Q_PROPERTY(bool zoomed_plot READ zoomedPlot WRITE setZoomedPlot NOTIFY zoomedPlotChanged)
Q_PROPERTY(bool show_sac READ showSac WRITE setShowSac NOTIFY showSacChanged)
Q_PROPERTY(bool display_unused_tanks READ displayUnusedTanks WRITE setDisplayUnusedTanks NOTIFY displayUnusedTanksChanged)
@ -165,6 +166,7 @@ public:
bool rulerGraph() const;
bool showCCRSetpoint() const;
bool showCCRSensors() const;
bool showSCROCpO2() const;
bool zoomedPlot() const;
bool showSac() const;
bool displayUnusedTanks() const;
@ -193,6 +195,7 @@ public slots:
void setRulerGraph(bool value);
void setShowCCRSetpoint(bool value);
void setShowCCRSensors(bool value);
void setShowSCROCpO2(bool value);
void setZoomedPlot(bool value);
void setShowSac(bool value);
void setDisplayUnusedTanks(bool value);
@ -221,6 +224,7 @@ signals:
void rulerGraphChanged(bool value);
void showCCRSetpointChanged(bool value);
void showCCRSensorsChanged(bool value);
void showSCROCpO2Changed(bool value);
void zoomedPlotChanged(bool value);
void showSacChanged(bool value);
void displayUnusedTanksChanged(bool value);