subsurface/desktop-widgets/preferences/preferences_graph.ui
Michael Keller 2d8e343221 Planner: Improve Gas Handling in CCR Mode.
This has become a bit of a catch-all overhaul of a large portion of the
planner - I started out wanting to improve the CCR mode, but then as I
started pulling all the other threads that needed addressing started to
come with it.

Improve how the gas selection is handled when planning dives in CCR
mode, by making the type (OC / CCR) of segments dependent on the gas use
type that was set for the selected gas.
Add a preference to allow the user to chose to use OC gases as diluent,
in a similar fashion to the original implementation.
Hide gases that cannot be used in the currently selected dive mode in
all drop downs.
Include usage type in gas names if this is needed.
Hide columns and disable elements in the 'Dive planner points' table if
they can they can not be edited in the curently selected dive mode.
Visually identify gases and usage types that are not appropriate for the
currently selected dive mode.
Move the 'Dive mode' selection to the top of the planner view, to
accommodate the fact that this is a property of the dive and not a
planner setting.
Show a warning instead of the dive plan if the plan contains gases that
are not usable in the selected dive mode.
Fix the data entry for the setpoint in the 'Dive planner points' table.
Fix problems with enabling / disabling planner settings when switching
between dive modes.
Refactor some names to make them more appropriate for their current
usage.

One point that is still open is to hide gas usage graphs in the planner
profile if the gas isn't used for OC, as there is no way to meaningfully
interpolate such usage.

Signed-off-by: Michael Keller <github@ike.ch>
2024-08-26 12:36:31 +12:00

410 lines
12 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PreferencesGraph</class>
<widget class="QWidget" name="PreferencesGraph">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>655</width>
<height>634</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QGroupBox" name="groupBox_4">
<property name="title">
<string>Gas pressure display setup</string>
</property>
<layout class="QGridLayout" name="gridLayout_1">
<item row="0" column="0">
<widget class="QLabel" name="label_12">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>Threshold for pO₂ (minimum, maximum)</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QDoubleSpinBox" name="po2ThresholdMin">
<property name="enabled">
<bool>true</bool>
</property>
<property name="suffix">
<string>bar</string>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QDoubleSpinBox" name="po2ThresholdMax">
<property name="enabled">
<bool>true</bool>
</property>
<property name="suffix">
<string>bar</string>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_13">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>Threshold for pN₂ (maximum only)</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QDoubleSpinBox" name="pn2Threshold">
<property name="enabled">
<bool>true</bool>
</property>
<property name="suffix">
<string>bar</string>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_17">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>Threshold for pHe (maximum only)</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QDoubleSpinBox" name="pheThreshold">
<property name="enabled">
<bool>true</bool>
</property>
<property name="suffix">
<string>bar</string>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_18">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>pO₂ in calculating MOD (maximum only )</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QDoubleSpinBox" name="maxpo2">
<property name="enabled">
<bool>true</bool>
</property>
<property name="suffix">
<string>bar</string>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_5">
<property name="title">
<string>Rebreather setup</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="label_26">
<property name="text">
<string>CCR options:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_27">
<property name="text">
<string>Dive planner default setpoint</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QDoubleSpinBox" name="defaultSetpoint">
<property name="suffix">
<string>bar</string>
</property>
<property name="decimals">
<number>2</number>
</property>
<property name="maximum">
<double>10.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
<item row="1" column="1" colspan="2">
<widget class="QCheckBox" name="show_ccr_sensors">
<property name="text">
<string>Show O₂ sensor values when viewing pO₂</string>
</property>
</widget>
</item>
<item row="2" column="1" colspan="2">
<widget class="QCheckBox" name="show_ccr_setpoint">
<property name="text">
<string>Show CCR setpoints when viewing pO₂</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="pSCR">
<property name="text">
<string>pSCR options:</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="MetabolicRate">
<property name="text">
<string>pSCR metabolic rate O₂</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QDoubleSpinBox" name="psro2rate">
<property name="suffix">
<string>/min</string>
</property>
<property name="decimals">
<number>3</number>
</property>
</widget>
</item>
<item row="3" column="3">
<widget class="QLabel" name="label_28">
<property name="text">
<string>Dilution ratio</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="3" column="4">
<widget class="QSpinBox" name="pscrfactor">
<property name="suffix">
<string/>
</property>
<property name="prefix">
<string>1:</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QCheckBox" name="show_scr_ocpo2">
<property name="text">
<string>Show equivalent OC pO₂ with pSCR pO₂</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_6">
<property name="title">
<string>Planner setup</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
<widget class="QCheckBox" name="show_icd">
<property name="text">
<string>Show warnings for isobaric counterdiffusion</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="allowOcGasAsDiluent">
<property name="text">
<string>Allow open circuit gas to be used as diluent for CCR</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_7">
<property name="title">
<string>Ceiling display setup</string>
</property>
<layout class="QGridLayout" name="gridLayout_4">
<item row="3" column="3">
<widget class="QLabel" name="label_GFhigh">
<property name="text">
<string>GFHigh</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QRadioButton" name="buehlmann">
<property name="text">
<string>B&amp;ühlmann</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_22">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>Algorithm for calculated ceiling:</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QSpinBox" name="gflow">
<property name="suffix">
<string>%</string>
</property>
<property name="minimum">
<number>10</number>
</property>
<property name="maximum">
<number>150</number>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_VPMB">
<property name="text">
<string>Conservatism level</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QSpinBox" name="vpmb_conservatism">
<property name="prefix">
<string>+</string>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>4</number>
</property>
</widget>
</item>
<item row="0" column="0" colspan="2">
<widget class="QCheckBox" name="red_ceiling">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>Draw dive computer reported ceiling red</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QRadioButton" name="vpmb">
<property name="text">
<string>&amp;VPM-B</string>
</property>
</widget>
</item>
<item row="3" column="4">
<widget class="QSpinBox" name="gfhigh">
<property name="suffix">
<string>%</string>
</property>
<property name="minimum">
<number>40</number>
</property>
<property name="maximum">
<number>150</number>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_GFlow">
<property name="text">
<string>GFLow</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<tabstops>
<tabstop>po2ThresholdMin</tabstop>
<tabstop>po2ThresholdMax</tabstop>
<tabstop>pn2Threshold</tabstop>
<tabstop>pheThreshold</tabstop>
<tabstop>maxpo2</tabstop>
<tabstop>defaultSetpoint</tabstop>
<tabstop>show_ccr_sensors</tabstop>
<tabstop>show_ccr_setpoint</tabstop>
<tabstop>psro2rate</tabstop>
<tabstop>pscrfactor</tabstop>
<tabstop>show_scr_ocpo2</tabstop>
<tabstop>show_icd</tabstop>
<tabstop>red_ceiling</tabstop>
<tabstop>vpmb</tabstop>
<tabstop>vpmb_conservatism</tabstop>
<tabstop>buehlmann</tabstop>
<tabstop>gflow</tabstop>
<tabstop>gfhigh</tabstop>
</tabstops>
<resources/>
<connections/>
</ui>