subsurface/desktop-widgets/plannerSettings.ui
Stefan Fuchs 7f8c3592ce Minimum gas calculation - Calculations and UI parameters
Add minimum gas calculation to planner output.
Add the two UI parameters prefs.sacfactor and prefs.problemsolvingtime.
Connect UI signals and slots for recalculation of diveplan.

Disable minimum gas calculation if there was already a warning before.
If minimum gas result is larger then cylinder start pressure give warning message instead of result.

Add line break before pO2 warnings but only if warnings exist.

Signed-off-by: Joachim Ritter <jritter@bitsenke.de>
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-03-11 08:01:35 -08:00

834 lines
27 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>plannerSettingsWidget</class>
<widget class="QWidget" name="plannerSettingsWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1102</width>
<height>442</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="leftMargin">
<number>5</number>
</property>
<property name="topMargin">
<number>5</number>
</property>
<property name="rightMargin">
<number>5</number>
</property>
<property name="bottomMargin">
<number>5</number>
</property>
<item>
<widget class="QScrollArea" name="scrollArea">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1092</width>
<height>432</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QGroupBox" name="Rates">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Rates</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<property name="leftMargin">
<number>2</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<property name="spacing">
<number>2</number>
</property>
<item row="0" column="0">
<widget class="QGroupBox" name="Ascent">
<property name="title">
<string>Ascent</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<property name="leftMargin">
<number>12</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="ascBelow75">
<property name="text">
<string>below 75% avg. depth</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="ascRate75">
<property name="suffix">
<string>m/min</string>
</property>
<property name="minimum">
<number>1</number>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="asc75to50">
<property name="text">
<string>75% to 50% avg. depth</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSpinBox" name="ascRate50">
<property name="suffix">
<string>m/min</string>
</property>
<property name="minimum">
<number>1</number>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="asc50to6">
<property name="text">
<string>50% avg. depth to 6m</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="ascRateStops">
<property name="suffix">
<string>m/min</string>
</property>
<property name="minimum">
<number>1</number>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="asc6toSurf">
<property name="text">
<string>6m to surface</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="ascRateLast6m">
<property name="suffix">
<string>m/min</string>
</property>
<property name="minimum">
<number>1</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="0">
<widget class="QGroupBox" name="Descent">
<property name="title">
<string>Descent</string>
</property>
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="0">
<widget class="QLabel" name="descent">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>surface to the bottom</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="descRate">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="suffix">
<string>m/min</string>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="value">
<number>18</number>
</property>
</widget>
</item>
</layout>
<zorder>descRate</zorder>
<zorder>descent</zorder>
</widget>
</item>
<item row="2" column="0">
<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>
</item>
<item>
<widget class="QGroupBox" name="Planning">
<property name="title">
<string>Planning</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<property name="leftMargin">
<number>2</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<property name="spacing">
<number>2</number>
</property>
<item row="11" column="1">
<widget class="QRadioButton" name="vpmb_deco">
<property name="text">
<string>VPM-B deco</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QRadioButton" name="buehlmann_deco">
<property name="text">
<string>Bühlmann deco</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Reserve gas</string>
</property>
<property name="indent">
<number>26</number>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QSpinBox" name="reserve_gas">
<property name="suffix">
<string>bar</string>
</property>
<property name="prefix">
<string/>
</property>
<property name="minimum">
<number>10</number>
</property>
<property name="maximum">
<number>99</number>
</property>
<property name="value">
<number>40</number>
</property>
</widget>
</item>
<item row="9" column="2">
<widget class="QSpinBox" name="gfhigh">
<property name="suffix">
<string>%</string>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>150</number>
</property>
</widget>
</item>
<item row="17" column="1" colspan="2">
<widget class="QCheckBox" name="switch_at_req_stop">
<property name="toolTip">
<string>Postpone gas change if a stop is not required</string>
</property>
<property name="text">
<string>Only switch at required stops</string>
</property>
</widget>
</item>
<item row="3" column="1">
<spacer name="verticalSpacer_6">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="8" column="1">
<widget class="QLabel" name="label_15">
<property name="text">
<string>GF low</string>
</property>
<property name="indent">
<number>26</number>
</property>
</widget>
</item>
<item row="16" column="1" colspan="2">
<widget class="QCheckBox" name="backgasBreaks">
<property name="text">
<string>Plan backgas breaks</string>
</property>
</widget>
</item>
<item row="9" column="1">
<widget class="QLabel" name="label_16">
<property name="text">
<string>GF high</string>
</property>
<property name="indent">
<number>25</number>
</property>
</widget>
</item>
<item row="18" column="2">
<widget class="QSpinBox" name="min_switch_duration">
<property name="suffix">
<string>min</string>
</property>
<property name="prefix">
<string/>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>9</number>
</property>
<property name="value">
<number>1</number>
</property>
</widget>
</item>
<item row="15" column="1" colspan="2">
<widget class="QCheckBox" name="lastStop">
<property name="text">
<string>Last stop at 6m</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QRadioButton" name="recreational_deco">
<property name="toolTip">
<string>Maximize bottom time allowed by gas and no decompression limits</string>
</property>
<property name="text">
<string>Recreational mode</string>
</property>
</widget>
</item>
<item row="19" column="1">
<widget class="QComboBox" name="rebreathermode">
<property name="currentText">
<string/>
</property>
<property name="maxVisibleItems">
<number>6</number>
</property>
</widget>
</item>
<item row="8" column="2">
<widget class="QSpinBox" name="gflow">
<property name="suffix">
<string>%</string>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>150</number>
</property>
</widget>
</item>
<item row="14" column="1" colspan="2">
<widget class="QCheckBox" name="drop_stone_mode">
<property name="text">
<string>Drop to first depth</string>
</property>
</widget>
</item>
<item row="18" column="1">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Min. switch duration</string>
</property>
</widget>
</item>
<item row="20" column="1">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="1" alignment="Qt::AlignHCenter">
<widget class="QCheckBox" name="safetystop">
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="text">
<string>Safety stop</string>
</property>
<property name="tristate">
<bool>false</bool>
</property>
</widget>
</item>
<item row="10" column="1">
<spacer name="verticalSpacer_7">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="13" column="1">
<spacer name="verticalSpacer_5">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="12" column="1">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Conservatism level</string>
</property>
<property name="indent">
<number>25</number>
</property>
</widget>
</item>
<item row="12" column="2">
<widget class="QSpinBox" name="vpmb_conservatism">
<property name="maximum">
<number>4</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="Gas">
<property name="title">
<string>Gas options</string>
</property>
<layout class="QGridLayout" name="gridLayout_5">
<property name="leftMargin">
<number>2</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<property name="spacing">
<number>2</number>
</property>
<item row="1" column="1">
<widget class="QDoubleSpinBox" name="decoStopSAC">
<property name="suffix">
<string>/min</string>
</property>
<property name="decimals">
<number>0</number>
</property>
<property name="maximum">
<double>99.000000000000000</double>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="decosac">
<property name="text">
<string>Deco SAC</string>
</property>
</widget>
</item>
<item row="8" column="0">
<spacer name="verticalSpacer_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="7" column="0">
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="4" column="1">
<widget class="QDoubleSpinBox" name="bottompo2">
<property name="suffix">
<string>bar</string>
</property>
<property name="maximum">
<double>2.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.400000000000000</double>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QDoubleSpinBox" name="bottomSAC">
<property name="suffix">
<string>/min</string>
</property>
<property name="decimals">
<number>0</number>
</property>
<property name="maximum">
<double>99.000000000000000</double>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QDoubleSpinBox" name="decopo2">
<property name="suffix">
<string>bar</string>
</property>
<property name="maximum">
<double>2.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.600000000000000</double>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QSpinBox" name="bestmixEND">
<property name="toolTip">
<string>Used to calculate best mix. Select best mix depth in 'Available gases' table by entering gas depth, followed by &quot;B&quot; (best trimix mix) or &quot;BN&quot; (best nitrox mix)</string>
</property>
<property name="suffix">
<string>m</string>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>999</number>
</property>
<property name="value">
<number>30</number>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="bottomsac">
<property name="text">
<string>Bottom SAC</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="bottompO2">
<property name="text">
<string>Bottom pO₂</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="bestEND">
<property name="text">
<string>Best mix END</string>
</property>
</widget>
</item>
<item row="8" column="0" colspan="2">
<widget class="QGroupBox" name="Notes">
<property name="title">
<string>Notes</string>
</property>
<layout class="QGridLayout" name="gridLayout_6">
<property name="leftMargin">
<number>2</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<property name="spacing">
<number>2</number>
</property>
<item row="0" column="0">
<widget class="QCheckBox" name="display_runtime">
<property name="toolTip">
<string>In dive plan, show runtime (absolute time) of stops</string>
</property>
<property name="text">
<string>Display runtime</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="display_duration">
<property name="enabled">
<bool>true</bool>
</property>
<property name="toolTip">
<string>In dive plan, show duration (relative time) of stops</string>
</property>
<property name="text">
<string>Display segment duration</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="display_transitions">
<property name="toolTip">
<string>In diveplan, list transitions or treat them as implicit</string>
</property>
<property name="text">
<string>Display transitions in deco</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QCheckBox" name="verbatim_plan">
<property name="text">
<string>Verbatim dive plan</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="decopO2">
<property name="text">
<string>Deco pO₂</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="sacFactor">
<property name="text">
<string>SAC factor</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QDoubleSpinBox" name="sacfactor">
<property name="toolTip">
<string>Used to calculate minimum gas. Consider two divers with possibly increased SAC after OoG event.</string>
</property>
<property name="decimals">
<number>1</number>
</property>
<property name="minimum">
<double>2.000000000000000</double>
</property>
<property name="maximum">
<double>10.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>4.000000000000000</double>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="problemSolvingTime">
<property name="text">
<string>Problem solving time</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="problemsolvingtime">
<property name="toolTip">
<string>Used to calculate minimum gas. Additional time at max. depth after OoG event.</string>
</property>
<property name="suffix">
<string>min</string>
</property>
<property name="prefix">
<string/>
</property>
<property name="maximum">
<number>10</number>
</property>
<property name="value">
<number>4</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<tabstops>
<tabstop>scrollArea</tabstop>
<tabstop>ascRate75</tabstop>
<tabstop>ascRate50</tabstop>
<tabstop>ascRateStops</tabstop>
<tabstop>ascRateLast6m</tabstop>
<tabstop>descRate</tabstop>
<tabstop>recreational_deco</tabstop>
<tabstop>reserve_gas</tabstop>
<tabstop>safetystop</tabstop>
<tabstop>buehlmann_deco</tabstop>
<tabstop>gflow</tabstop>
<tabstop>gfhigh</tabstop>
<tabstop>vpmb_deco</tabstop>
<tabstop>vpmb_conservatism</tabstop>
<tabstop>drop_stone_mode</tabstop>
<tabstop>lastStop</tabstop>
<tabstop>backgasBreaks</tabstop>
<tabstop>switch_at_req_stop</tabstop>
<tabstop>min_switch_duration</tabstop>
<tabstop>rebreathermode</tabstop>
<tabstop>bottomSAC</tabstop>
<tabstop>decoStopSAC</tabstop>
<tabstop>sacfactor</tabstop>
<tabstop>problemsolvingtime</tabstop>
<tabstop>bottompo2</tabstop>
<tabstop>decopo2</tabstop>
<tabstop>bestmixEND</tabstop>
<tabstop>display_runtime</tabstop>
<tabstop>display_duration</tabstop>
<tabstop>display_transitions</tabstop>
<tabstop>verbatim_plan</tabstop>
</tabstops>
<resources/>
<connections/>
</ui>