Index: denali.pro.user =================================================================== diff -u -r2d37388a2b6651ea4002d6720e933315e0ba7fa3 -r28a383251ad37c669202c0a717ff90b8fc21a442 --- denali.pro.user (.../denali.pro.user) (revision 2d37388a2b6651ea4002d6720e933315e0ba7fa3) +++ denali.pro.user (.../denali.pro.user) (revision 28a383251ad37c669202c0a717ff90b8fc21a442) @@ -1,6 +1,6 @@ - + EnvironmentId Index: denali.qrc =================================================================== diff -u -r2d37388a2b6651ea4002d6720e933315e0ba7fa3 -r28a383251ad37c669202c0a717ff90b8fc21a442 --- denali.qrc (.../denali.qrc) (revision 2d37388a2b6651ea4002d6720e933315e0ba7fa3) +++ denali.qrc (.../denali.qrc) (revision 28a383251ad37c669202c0a717ff90b8fc21a442) @@ -150,5 +150,8 @@ sources/gui/qml/pages/postTreatment/PostTreatmentRecirculate.qml sources/gui/qml/pages/postTreatment/PostTreatmentComplete.qml sources/gui/qml/pages/postTreatment/PostTreatmentRinsebackComplete.qml + sources/gui/qml/pages/postTreatment/PostTreatmentRinsebackInit.qml + sources/gui/qml/pages/postTreatment/PostTreatmentAdditional.qml + sources/gui/qml/pages/postTreatment/PostTreatmentReconnect.qml Index: sources/gui/qml/main.qml =================================================================== diff -u -r7710fea4486a639caaa3c510add0eac0bcd4ddcc -r28a383251ad37c669202c0a717ff90b8fc21a442 --- sources/gui/qml/main.qml (.../main.qml) (revision 7710fea4486a639caaa3c510add0eac0bcd4ddcc) +++ sources/gui/qml/main.qml (.../main.qml) (revision 28a383251ad37c669202c0a717ff90b8fc21a442) @@ -50,6 +50,19 @@ import VTreatmentEnd 0.1 import VTreatmentAdjustmentUltrafiltrationInit 0.1 +import VTreatmentRanges 0.1 +import VTreatmentAdjustmentSaline 0.1 +import VHDTreatmentStates 0.1 +import VTreatmentAdjustmentUltrafiltrationState 0.1 +import VTreatmentAdjustmentUltrafiltrationEdit 0.1 +import VTreatmentAdjustmentUltrafiltrationConfirm 0.1 +import VTreatmentAdjustmentPressuresLimits 0.1 +import VTreatmentAdjustmentHeparin 0.1 +import VTreatmentRinseback 0.1 +import VTreatmentAdjustmentRinseback 0.1 +import VTreatmentAdjustmentRecirculate 0.1 +import VTreatmentBloodPrime 0.1 + // Qml imports import "qrc:/globals" import "qrc:/pages" @@ -109,6 +122,20 @@ VTreatmentEnd { id: vTreatmentEnd } VTreatmentAdjustmentUltrafiltrationInit { id: vTreatmentAdjustmentUltrafiltrationInit } + VHDTreatmentStates { id: vHDTreatmentStates } + + VTreatmentRanges { id: vTreatmentRanges } + VTreatmentAdjustmentSaline { id: vTreatmentAdjustmentSaline } + VTreatmentAdjustmentUltrafiltrationState { id: vTreatmentAdjustmentUltrafiltrationState } + VTreatmentAdjustmentUltrafiltrationEdit { id: vTreatmentAdjustmentUltrafiltrationEdit } + VTreatmentAdjustmentUltrafiltrationConfirm { id: vTreatmentAdjustmentUltrafiltrationConfirm } + VTreatmentAdjustmentPressuresLimits { id: vTreatmentAdjustmentPressuresLimits } + VTreatmentAdjustmentHeparin { id: vTreatmentAdjustmentHeparin } + VTreatmentBloodPrime { id: vTreatmentBloodPrime } + VTreatmentRinseback { id: vTreatmentRinseback } + VTreatmentAdjustmentRinseback { id: vTreatmentAdjustmentRinseback } + VTreatmentAdjustmentRecirculate { id: vTreatmentAdjustmentRecirculate } + // ----- Follow the below Z order ----- // 1 - Screens // 1 - 1 Index: sources/gui/qml/pages/postTreatment/PostTreatmentAdditional.qml =================================================================== diff -u --- sources/gui/qml/pages/postTreatment/PostTreatmentAdditional.qml (revision 0) +++ sources/gui/qml/pages/postTreatment/PostTreatmentAdditional.qml (revision 28a383251ad37c669202c0a717ff90b8fc21a442) @@ -0,0 +1,69 @@ +/*! + * + * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. + * \copyright + * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN + * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. + * + * \file PostTreatmentAdditional.qml + * \author (last) Behrouz NematiPour + * \date (last) 09-Feb-2021 + * \author (original) Behrouz NematiPour + * \date (original) 09-Feb-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" + +/*! + * \brief the post treatment additional rinseback screen + */ +ScreenItem { id: _root + objectName: "_PostTreatmentAdditional" + + Text { id: _title + anchors { + top: parent.top + topMargin: 65 + horizontalCenter: parent.horizontalCenter + } + color: "white" + text: qsTr("Additional Rinseback") + font.pixelSize: Fonts.fontPixelTitle + } + + ProgressCircle { id: _circle + diameter: 335 + anchors.centerIn: parent + + minimum : 0 + maximum : vTreatmentRinseback.target + value : vTreatmentRinseback.current + + Text { id: _textVolume + anchors.centerIn: parent + color: "white" + text: vTreatmentRinseback.current.toFixed(0) + " " + qsTr(Variables.unitTextFluid) + font.pixelSize: 76 + font.weight: Font.ExtraLight + + } + + Text { id: _labelRate + anchors { + top: parent.bottom + topMargin: 20 + horizontalCenter: parent.horizontalCenter + } + color: "white" + text: vTreatmentRinseback.rate.toFixed(0) + " " + qsTr(Variables.unitTextFlowRate) + font.pixelSize: 23 + } + } +} Index: sources/gui/qml/pages/postTreatment/PostTreatmentRecirculate.qml =================================================================== diff -u -rfd25d67f37410037f22be9c6e958b100e3790de9 -r28a383251ad37c669202c0a717ff90b8fc21a442 --- sources/gui/qml/pages/postTreatment/PostTreatmentRecirculate.qml (.../PostTreatmentRecirculate.qml) (revision fd25d67f37410037f22be9c6e958b100e3790de9) +++ sources/gui/qml/pages/postTreatment/PostTreatmentRecirculate.qml (.../PostTreatmentRecirculate.qml) (revision 28a383251ad37c669202c0a717ff90b8fc21a442) @@ -7,7 +7,7 @@ * * \file PostTreatmentRecirculate.qml * \author (last) Behrouz NematiPour - * \date (last) 30-Jan-2021 + * \date (last) 09-Feb-2021 * \author (original) Behrouz NematiPour * \date (original) 30-Jan-2021 * @@ -29,9 +29,14 @@ property alias reasonText : _notification.text - signal resumeClicked() - signal endClicked () + signal reconnectClicked () + signal treatmentEndClicked () + QtObject { id: _private + property int sectionSpace : 30 + property int sectionWidth : _root.width * 2/3 - sectionSpace * 1.5 + property int sectionHeight: _root.width * 1/3 - sectionSpace * 1.5 + } Text { id: _title anchors { top: parent.top @@ -43,9 +48,25 @@ font.pixelSize: Fonts.fontPixelTitle } + Rectangle { + color : Colors.backgroundDialog + width : _private.sectionWidth + height : _private.sectionHeight + border.width: 2 + border.color: Colors.borderDisableButton + radius: 10 + anchors.centerIn: parent + Text { id: _visualAID + anchors.centerIn: parent + color: Colors.white + text: qsTr("Visual AID\nplaceholder") + font.pixelSize: Fonts.fontPixelButton + } + } + Row { id: _buttonGroup property int buttonsWidth : 300 - spacing: 50 + spacing: 75 anchors { bottom : parent.bottom @@ -55,22 +76,19 @@ bottomMargin : spacing } - TouchRect { id : _resumeTouchRect + TouchRect { id : _backTreatmentTouchRect visible : true - button.onPressed: resumeClicked() - text.text : qsTr("RESUME") + text.text : qsTr("RECONNECT") width : _buttonGroup.buttonsWidth - borderColor : Colors.white - onClicked : resumeClicked() + color : borderColor + onClicked : reconnectClicked() } - TouchRect { id : _endTouchRect + TouchRect { id : _endTreatmentTouchRect visible : true - button.onPressed: endClicked() - text.text : qsTr("END") + text.text : qsTr("END TREATMENT") width : _buttonGroup.buttonsWidth - borderColor : Colors.white - onClicked : endClicked() + onClicked : treatmentEndClicked() } } Index: sources/gui/qml/pages/postTreatment/PostTreatmentReconnect.qml =================================================================== diff -u --- sources/gui/qml/pages/postTreatment/PostTreatmentReconnect.qml (revision 0) +++ sources/gui/qml/pages/postTreatment/PostTreatmentReconnect.qml (revision 28a383251ad37c669202c0a717ff90b8fc21a442) @@ -0,0 +1,154 @@ +/*! + * + * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. + * \copyright + * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN + * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. + * + * \file PostTreatmentReconnect.qml + * \author (last) Behrouz NematiPour + * \date (last) 09-Feb-2021 + * \author (original) Behrouz NematiPour + * \date (original) 09-Feb-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" + +/*! + * \brief the post treatment recirculate reconnect screen + */ +ScreenItem { id: _root + objectName: "_PostTreatmentReconnect" + + property alias reasonText : _notification.text + + signal recirculateBackClicked () + signal confirmClicked () + + QtObject { id: _private + property int sectionSpace : 30 + property int sectionWidth : _root.width * 2/3 - sectionSpace * 1.5 + property int sectionHeight: _root.width * 1/3 - sectionSpace * 1.5 + } + Text { id: _title + anchors { + top: parent.top + topMargin: 65 + horizontalCenter: parent.horizontalCenter + } + color: Colors.white + text: qsTr("Reconnect") + font.pixelSize: Fonts.fontPixelTitle + } + + TimeText { id: timeout + anchors { + horizontalCenter: parent.horizontalCenter + top : _title.bottom + topMargin : 15 + } + textPixelSize : 30 + textWeight : Font.Normal + secondsVisible : false + } + + Rectangle { + color : Colors.backgroundDialog + width : _private.sectionWidth + height : _private.sectionHeight + border.width: 2 + border.color: Colors.borderDisableButton + radius: 10 + anchors { + verticalCenter: parent.verticalCenter + left: parent.left + leftMargin: _private.sectionSpace + } + Column { + spacing : 10 + anchors.fill: parent + anchors.margins: _private.sectionSpace + Text { id: _titleSteps + anchors.left: parent.left + color: Colors.white + text: qsTr("Please Follow The Steps") + font.pixelSize: Fonts.fontPixelButton + } + + Text { id: _steps + anchors.left: parent.left + anchors.leftMargin: _private.sectionSpace + color: Colors.white + text: qsTr("First Step\nSecond Step\nThird Step\n") + font.pixelSize: Fonts.fontPixelButton + } + } + } + + Rectangle { + color : Colors.backgroundDialog + width : _private.sectionHeight + height : _private.sectionHeight + border.width: 2 + border.color: Colors.borderDisableButton + radius: 10 + anchors { + verticalCenter: parent.verticalCenter + right: parent.right + rightMargin: _private.sectionSpace + } + Text { id: _visualAID + anchors.centerIn: parent + color: Colors.white + text: qsTr("Visual AID\nplaceholder") + font.pixelSize: Fonts.fontPixelButton + } + } + + Row { id: _buttonGroup + property int buttonsWidth : 300 + spacing: 75 + + anchors { + bottom : parent.bottom + horizontalCenter: parent.horizontalCenter + rightMargin : spacing + leftMargin : spacing + bottomMargin : spacing + } + + TouchRect { id : _backTreatmentTouchRect + visible : true // true if only treatment is not already complete + text.text : qsTr("BACK TO RECIRCULATE") + width : _buttonGroup.buttonsWidth + onClicked : recirculateBackClicked() + } + + TouchRect { id : _endTreatmentTouchRect + visible : true // true if only treatment is not already complete + text.text : qsTr("CONFIRM") + width : _buttonGroup.buttonsWidth + color : borderColor + onClicked : confirmClicked() + } + } + + NotificationBar { id: _notification + iconVisible: false + } + + onVisibleChanged: { + _notification.text = "" + if (visible) { + _mainMenu .hidden = true + _treatmentMenu.hidden = true + } + } +} Index: sources/gui/qml/pages/postTreatment/PostTreatmentRinsebackComplete.qml =================================================================== diff -u -rfd25d67f37410037f22be9c6e958b100e3790de9 -r28a383251ad37c669202c0a717ff90b8fc21a442 --- sources/gui/qml/pages/postTreatment/PostTreatmentRinsebackComplete.qml (.../PostTreatmentRinsebackComplete.qml) (revision fd25d67f37410037f22be9c6e958b100e3790de9) +++ sources/gui/qml/pages/postTreatment/PostTreatmentRinsebackComplete.qml (.../PostTreatmentRinsebackComplete.qml) (revision 28a383251ad37c669202c0a717ff90b8fc21a442) @@ -7,7 +7,7 @@ * * \file PostTreatmentRinsebackComplete.qml * \author (last) Behrouz NematiPour - * \date (last) 03-Feb-2021 + * \date (last) 09-Feb-2021 * \author (original) Behrouz NematiPour * \date (original) 03-Feb-2021 * @@ -30,9 +30,14 @@ property alias reasonText : _notification.text signal additionalClicked () - signal recirculateClicked () - signal endClicked () + signal confirmClicked () + signal treatmentEndClicked () + QtObject { id: _private + property int sectionSpace : 30 + property int sectionWidth : _root.width * 2/3 - sectionSpace * 1.5 + property int sectionHeight: _root.width * 1/3 - sectionSpace * 1.5 + } Text { id: _title anchors { top: parent.top @@ -44,9 +49,62 @@ font.pixelSize: Fonts.fontPixelTitle } + Rectangle { + color : Colors.backgroundDialog + width : _private.sectionWidth + height : _private.sectionHeight + border.width: 2 + border.color: Colors.borderDisableButton + radius: 10 + anchors { + verticalCenter: parent.verticalCenter + left: parent.left + leftMargin: _private.sectionSpace + } + Column { + spacing : 10 + anchors.fill: parent + anchors.margins: _private.sectionSpace + Text { id: _titleSteps + anchors.left: parent.left + color: Colors.white + text: qsTr("Please Disconnet") + font.pixelSize: Fonts.fontPixelButton + } + + Text { id: _steps + anchors.left: parent.left + anchors.leftMargin: _private.sectionSpace + color: Colors.white + text: qsTr("First Step\nSecond Step\nThird Step\n") + font.pixelSize: Fonts.fontPixelButton + } + } + } + + Rectangle { + color : Colors.backgroundDialog + width : _private.sectionHeight + height : _private.sectionHeight + border.width: 2 + border.color: Colors.borderDisableButton + radius: 10 + anchors { + verticalCenter: parent.verticalCenter + right: parent.right + rightMargin: _private.sectionSpace + } + Text { id: _visualAID + anchors.centerIn: parent + color: Colors.white + text: qsTr("Visual AID\nplaceholder") + font.pixelSize: Fonts.fontPixelButton + } + } + Row { id: _buttonGroup property int buttonsWidth : 300 - spacing: 50 + spacing: 75 anchors { bottom : parent.bottom @@ -56,28 +114,26 @@ bottomMargin : spacing } - TouchRect { id : _additionalTouchRect + TouchRect { id : _backTreatmentTouchRect visible : true text.text : qsTr("ADDITIONAL") width : _buttonGroup.buttonsWidth - borderColor : Colors.white onClicked : additionalClicked() } - TouchRect { id : _recirculateTouchRect + TouchRect { id : _beginRinsebackTouchRect visible : true - text.text : qsTr("RECIRCULATE") + text.text : qsTr("CONFIRM") width : _buttonGroup.buttonsWidth - borderColor : Colors.white - onClicked : recirculateClicked() + color : borderColor + onClicked : confirmClicked() } - TouchRect { id : _disposablesTouchRect - visible : true // true if only treatment is not already complete - text.text : qsTr("END") + TouchRect { id : _endTreatmentTouchRect + visible : true // TODO: true if only treatment is not already complete + text.text : qsTr("END TREATMENT") width : _buttonGroup.buttonsWidth - borderColor : Colors.white - onClicked : endClicked() + onClicked : treatmentEndClicked() } } Index: sources/gui/qml/pages/postTreatment/PostTreatmentRinsebackInit.qml =================================================================== diff -u --- sources/gui/qml/pages/postTreatment/PostTreatmentRinsebackInit.qml (revision 0) +++ sources/gui/qml/pages/postTreatment/PostTreatmentRinsebackInit.qml (revision 28a383251ad37c669202c0a717ff90b8fc21a442) @@ -0,0 +1,164 @@ +/*! + * + * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. + * \copyright + * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN + * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. + * + * \file PostTreatmentRinsebackInit.qml + * \author (last) Behrouz NematiPour + * \date (last) 09-Feb-2021 + * \author (original) Behrouz NematiPour + * \date (original) 09-Feb-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" + +/*! + * \brief the post treatment rinseback setup screen + */ +ScreenItem { id: _root + objectName: "_PostTreatmentRinsebackInit" + + property alias reasonText : _notification.text + + signal treatmentBackClicked () + signal startClicked () + signal treatmentEndClicked () + + QtObject { id: _private + property int sectionSpace : 30 + property int sectionWidth : _root.width * 2/3 - sectionSpace * 1.5 + property int sectionHeight: _root.width * 1/3 - sectionSpace * 1.5 + } + Text { id: _title + anchors { + top: parent.top + topMargin: 65 + horizontalCenter: parent.horizontalCenter + } + color: Colors.white + text: qsTr("Rinseback Setup") + font.pixelSize: Fonts.fontPixelTitle + } + + TimeText { id: timeout + anchors { + horizontalCenter: parent.horizontalCenter + top : _title.bottom + topMargin : 15 + } + textPixelSize : 30 + textWeight : Font.Normal + // the TimeText component works with hour and minute mainly + // so changing the seconds to minuts was easier than changing the component + secondsVisible : false + } + + Rectangle { + color : Colors.backgroundDialog + width : _private.sectionWidth + height : _private.sectionHeight + border.width: 2 + border.color: Colors.borderDisableButton + radius: 10 + anchors { + verticalCenter: parent.verticalCenter + left: parent.left + leftMargin: _private.sectionSpace + } + Column { + spacing : 10 + anchors.fill: parent + anchors.margins: _private.sectionSpace + Text { id: _titleSteps + anchors.left: parent.left + color: Colors.white + text: qsTr("Please Follow The Steps") + font.pixelSize: Fonts.fontPixelButton + } + + Text { id: _steps + anchors.left: parent.left + anchors.leftMargin: _private.sectionSpace + color: Colors.white + text: qsTr("First Step\nSecond Step\nThird Step\n") + font.pixelSize: Fonts.fontPixelButton + } + } + } + + Rectangle { + color : Colors.backgroundDialog + width : _private.sectionHeight + height : _private.sectionHeight + border.width: 2 + border.color: Colors.borderDisableButton + radius: 10 + anchors { + verticalCenter: parent.verticalCenter + right: parent.right + rightMargin: _private.sectionSpace + } + Text { id: _visualAID + anchors.centerIn: parent + color: Colors.white + text: qsTr("Visual AID\nplaceholder") + font.pixelSize: Fonts.fontPixelButton + } + } + + Row { id: _buttonGroup + property int buttonsWidth : 300 + spacing: 75 + + anchors { + bottom : parent.bottom + horizontalCenter: parent.horizontalCenter + rightMargin : spacing + leftMargin : spacing + bottomMargin : spacing + } + + TouchRect { id : _backTreatmentTouchRect + visible : true // true if only treatment is not already complete + text.text : qsTr("BACK TO TREATMENT") + width : _buttonGroup.buttonsWidth + onClicked : treatmentBackClicked() + } + + TouchRect { id : _beginRinsebackTouchRect + visible : true + text.text : qsTr("BEGIN RINSEBACK") + width : _buttonGroup.buttonsWidth + color : borderColor + onClicked : startClicked() + } + + TouchRect { id : _endTreatmentTouchRect + visible : true // true if only treatment is not already complete + text.text : qsTr("END TREATMENT") + width : _buttonGroup.buttonsWidth + onClicked : treatmentEndClicked() + } + } + + NotificationBar { id: _notification + iconVisible: false + } + + onVisibleChanged: { + _notification.text = "" + if (visible) { + _mainMenu .hidden = true + _treatmentMenu.hidden = true + } + } +} Index: sources/gui/qml/pages/treatment/TreatmentStack.qml =================================================================== diff -u -r2d37388a2b6651ea4002d6720e933315e0ba7fa3 -r28a383251ad37c669202c0a717ff90b8fc21a442 --- sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 2d37388a2b6651ea4002d6720e933315e0ba7fa3) +++ sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 28a383251ad37c669202c0a717ff90b8fc21a442) @@ -6,31 +6,16 @@ * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * \file TreatmentStack.qml - * \author (last) Behrouz NematiPour - * \date (last) 16-Oct-2020 - * \author (original) Behrouz NematiPour - * \date (original) 27-Jan-2020 + * \author (last) Behrouz NematiPour + * \date (last) 09-Feb-2021 + * \author (original) Behrouz NematiPour + * \date (original) 27-Jan-2020 * */ // Qt import QtQuick 2.12 -// Project -import Gui.Actions 0.1 -import VTreatmentRanges 0.1 -import VTreatmentAdjustmentSaline 0.1 -import VHDTreatmentStates 0.1 -import VTreatmentAdjustmentUltrafiltrationState 0.1 -import VTreatmentAdjustmentUltrafiltrationEdit 0.1 -import VTreatmentAdjustmentUltrafiltrationConfirm 0.1 -import VTreatmentAdjustmentPressuresLimits 0.1 -import VTreatmentAdjustmentHeparin 0.1 -import VTreatmentRinseback 0.1 -import VTreatmentAdjustmentRinseback 0.1 -import VTreatmentAdjustmentRecirculate 0.1 -import VTreatmentBloodPrime 0.1 - // Qml imports import "qrc:/globals" import "qrc:/components" @@ -49,21 +34,6 @@ stackView.initialItem : _treatmentHome - // Views - VHDTreatmentStates { id: vHDTreatmentStates } - - VTreatmentRanges { id: vTreatmentRanges } - VTreatmentAdjustmentSaline { id: vTreatmentAdjustmentSaline } - VTreatmentAdjustmentUltrafiltrationState { id: vTreatmentAdjustmentUltrafiltrationState } - VTreatmentAdjustmentUltrafiltrationEdit { id: vTreatmentAdjustmentUltrafiltrationEdit } - VTreatmentAdjustmentUltrafiltrationConfirm { id: vTreatmentAdjustmentUltrafiltrationConfirm } - VTreatmentAdjustmentPressuresLimits { id: vTreatmentAdjustmentPressuresLimits } - VTreatmentAdjustmentHeparin { id: vTreatmentAdjustmentHeparin } - VTreatmentBloodPrime { id: vTreatmentBloodPrime } - VTreatmentRinseback { id: vTreatmentRinseback } - VTreatmentAdjustmentRinseback { id: vTreatmentAdjustmentRinseback } - VTreatmentAdjustmentRecirculate { id: vTreatmentAdjustmentRecirculate } - // ultrafiltration state information bar properties readonly property bool isUFPaused : vHDTreatmentStates.ufPaused readonly property bool isUFOff : vHDTreatmentStates.ufOff @@ -231,26 +201,38 @@ } } + // Blood Prime PostTreatmentBloodPrime { id: _postTreatmentBloodPrime } + // Rinseback + PostTreatmentRinsebackInit { id: _postTreatmentRinsebackInit + onStartClicked : vTreatmentAdjustmentRinseback.doStart () //82.0 + onTreatmentEndClicked : vTreatmentAdjustmentRinseback.doTreatmentEnd () //82.8 + onTreatmentBackClicked : vTreatmentAdjustmentRinseback.doTreatmentBack () //82.9 + } PostTreatmentRinseback { id: _postTreatmentRinseback - onResumeClicked : vTreatmentAdjustmentRinseback .doResume () - onPauseClicked : vTreatmentAdjustmentRinseback .doPause () - onAccelerateClicked : vTreatmentAdjustmentRinseback .doIncrement () - onDeccelerateClicked : vTreatmentAdjustmentRinseback .doDecrement () - onEndClicked : vTreatmentAdjustmentRinseback .doEnd () + onAccelerateClicked : vTreatmentAdjustmentRinseback.doIncrement () //82.1 + onDeccelerateClicked : vTreatmentAdjustmentRinseback.doDecrement () //82.2 + onPauseClicked : vTreatmentAdjustmentRinseback.doPause () //82.3 + onResumeClicked : vTreatmentAdjustmentRinseback.doResume () //82.4 + onEndClicked : vTreatmentAdjustmentRinseback.doEnd () //82.5 } - PostTreatmentRinsebackComplete { id: _postTreatmentRinsebackComplete - onAdditionalClicked : vTreatmentAdjustmentRinseback .doAdditional () - onEndClicked : vTreatmentAdjustmentRinseback .doTreatmentEnd () - onRecirculateClicked :{ /*?*/ } + onAdditionalClicked : vTreatmentAdjustmentRinseback.doAdditional () //82.6 + onTreatmentEndClicked : vTreatmentAdjustmentRinseback.doConfirm () //82.7 + onConfirmClicked : vTreatmentAdjustmentRinseback.doTreatmentEnd () //82.8 } - + PostTreatmentAdditional { id: _postTreatmentAdditional } + // Recirculate PostTreatmentRecirculate { id: _postTreatmentRecirculate - onResumeClicked : { /*?*/ } - onEndClicked : vTreatmentAdjustmentRecirculate .doTreatmentEnd () + onReconnectClicked : vTreatmentAdjustmentRecirculate.doReconnect () //84.0 + onTreatmentEndClicked : vTreatmentAdjustmentRecirculate.doTreatmentEnd() //84.3 } + PostTreatmentReconnect { id: _postTreatmentReconnect + onConfirmClicked : vTreatmentAdjustmentRecirculate.doConfirm () //84.1 + onRecirculateBackClicked : vTreatmentAdjustmentRecirculate.doResume () //84.2 + } + // Treatment Complete PostTreatmentComplete { id: _postTreatmentComplete } // ---------- Manages Responses ---------- @@ -370,64 +352,26 @@ // and is more optimized and will never leave screen empty // also with what ever order they have been push with the reverse/correct animation will be poped or pushed. Connections { target: vHDTreatmentStates - onTxBloodPrimeChanged: { - if ( vtxBloodPrime ) { - back( _postTreatmentBloodPrime ) - } - } + // Blood Prime + onTxBloodPrimeChanged : { if ( vtxBloodPrime ) { back( _postTreatmentBloodPrime )}} - onTxDialysisRunningChanged: { - if ( vtxDialysisRunning ) { - back( _treatmentStart ) - } - } + // in-Treatmet + onTxDialysisRunningChanged : { if ( vtxDialysisRunning ) { back( _treatmentStart )}} + onTxStopChanged : { /* only will be used to update the in-treatment screen */ } + onTxDialysisEndChanged : { if ( vtxDialysisEnd ) { back( _postTreatmentComplete )}} - onTxDialysisEndChanged: { - if ( vtxDialysisEnd ) { - // if Tx completed - // -> Rinseback - // -> End / Disconnect - // if Tx Stopped - // -> - back( _postTreatmentComplete ) - } - } + // shall push the rinseback stack which we don't have it yet. + // Rinseback + onTxRinsebackChanged : { if ( vtxRinseback ) { back( _postTreatmentRinsebackInit )}} + onRbInitChanged : { if ( vrbInit ) { back( _postTreatmentRinsebackInit )}} + onRbRunChanged : { if ( vrbRun ) { back( _postTreatmentRinseback )}} + onRbPausedChanged : { if ( vrbPaused ) { back( _postTreatmentRinseback )}} + onRbStopChanged : { if ( vrbStop ) { back( _postTreatmentRinsebackComplete )}} + onRbAdditionalChanged : { if ( vrbAdditional ) { back( _postTreatmentAdditional )}} - onTxStopChanged: { - // only will be used to update the in-treatment screen - } - - onTxRinsebackChanged: { - if ( vtxRinseback ) { - // it may be navigated from complete or stop alarm dialog, - // which in the later case it can't be replaced with main treatment - // since user is able to go back to main treament if it's not timed out. - back( _postTreatmentRinseback ) - } - } - - onRbStopChanged: { - if ( vrbStop ) { - back( _postTreatmentRinsebackComplete ) - } - } - - onRbAdditionalChanged: { - if ( vrbAdditional ) { - // it may be navigated from complete or stop alarm dialog, - // which in the later case it can't be replaced with main treatment - // since user is able to go back to main treament if it's not timed out. - back( _postTreatmentRinseback ) - } - } - - onTxRecirculateChanged: { - if ( vtxRecirculate ) { - // application state by design is navigating always from Rinseback to recirculate - // so always it is rinseback on top which has to be replaced by recirculate - // also we never go back to rinseback from recirculate and will go back to blood priming - back( _postTreatmentRecirculate ) - } - } + // Recirculate + onTxRecirculateChanged : { if ( vtxRecirculate ) { back( _postTreatmentRecirculate )}} + onRcStartedChanged : { if ( vrcStarted ) { back( _postTreatmentRecirculate )}} + onRcStoppedChanged : { if ( vrcStopped ) { back( _postTreatmentReconnect )}} } } Index: sources/view/hd/adjustment/VTreatmentAdjustmentRecirculate.cpp =================================================================== diff -u -rfd25d67f37410037f22be9c6e958b100e3790de9 -r28a383251ad37c669202c0a717ff90b8fc21a442 --- sources/view/hd/adjustment/VTreatmentAdjustmentRecirculate.cpp (.../VTreatmentAdjustmentRecirculate.cpp) (revision fd25d67f37410037f22be9c6e958b100e3790de9) +++ sources/view/hd/adjustment/VTreatmentAdjustmentRecirculate.cpp (.../VTreatmentAdjustmentRecirculate.cpp) (revision 28a383251ad37c669202c0a717ff90b8fc21a442) @@ -53,10 +53,10 @@ } /*! - * \brief View::VTreatmentAdjustmentRecirculate::doReconnectConfirm + * \brief View::VTreatmentAdjustmentRecirculate::doConfirm * \details User confirms patient connected, lines un-shunted to return to treatment */ -void View::VTreatmentAdjustmentRecirculate::doReconnectConfirm() { +void View::VTreatmentAdjustmentRecirculate::doConfirm() { doAdjustment( GuiRecirculateCommands::REQUESTED_USER_ACTION_TX_RECIRC_CONFIRM_RECONNECT ); } Index: sources/view/hd/adjustment/VTreatmentAdjustmentRecirculate.h =================================================================== diff -u -rfd25d67f37410037f22be9c6e958b100e3790de9 -r28a383251ad37c669202c0a717ff90b8fc21a442 --- sources/view/hd/adjustment/VTreatmentAdjustmentRecirculate.h (.../VTreatmentAdjustmentRecirculate.h) (revision fd25d67f37410037f22be9c6e958b100e3790de9) +++ sources/view/hd/adjustment/VTreatmentAdjustmentRecirculate.h (.../VTreatmentAdjustmentRecirculate.h) (revision 28a383251ad37c669202c0a717ff90b8fc21a442) @@ -52,10 +52,10 @@ void doAdjustment(const GuiRecirculateCommands &vRequestedState); public slots: - void doReconnect (); - void doReconnectConfirm (); - void doResume (); - void doTreatmentEnd (); + void doReconnect (); + void doConfirm (); + void doResume (); + void doTreatmentEnd (); signals: /*! Index: sources/view/hd/adjustment/VTreatmentAdjustmentRinseback.h =================================================================== diff -u -rfd25d67f37410037f22be9c6e958b100e3790de9 -r28a383251ad37c669202c0a717ff90b8fc21a442 --- sources/view/hd/adjustment/VTreatmentAdjustmentRinseback.h (.../VTreatmentAdjustmentRinseback.h) (revision fd25d67f37410037f22be9c6e958b100e3790de9) +++ sources/view/hd/adjustment/VTreatmentAdjustmentRinseback.h (.../VTreatmentAdjustmentRinseback.h) (revision 28a383251ad37c669202c0a717ff90b8fc21a442) @@ -59,7 +59,7 @@ void doResume () { adjustment( GuiRinsebackCommands::REQUESTED_USER_ACTION_RINSEBACK_RESUME ); } void doEnd () { adjustment( GuiRinsebackCommands::REQUESTED_USER_ACTION_RINSEBACK_END ); } void doAdditional () { adjustment( GuiRinsebackCommands::REQUESTED_USER_ACTION_RINSEBACK_ADDITIONAL ); } - void doDisconnected () { adjustment( GuiRinsebackCommands::REQUESTED_USER_ACTION_RINSEBACK_CONFIRM_DISCONNECT ); } + void doConfirm () { adjustment( GuiRinsebackCommands::REQUESTED_USER_ACTION_RINSEBACK_CONFIRM_DISCONNECT ); } void doTreatmentEnd () { adjustment( GuiRinsebackCommands::REQUESTED_USER_ACTION_RINSEBACK_END_TREATMENT ); } void doTreatmentBack() { adjustment( GuiRinsebackCommands::REQUESTED_USER_ACTION_RINSEBACK_BACK_TO_TREATMENT ); } Index: sources/view/hd/data/VHDTreatmentStatesData.cpp =================================================================== diff -u -r2d37388a2b6651ea4002d6720e933315e0ba7fa3 -r28a383251ad37c669202c0a717ff90b8fc21a442 --- sources/view/hd/data/VHDTreatmentStatesData.cpp (.../VHDTreatmentStatesData.cpp) (revision 2d37388a2b6651ea4002d6720e933315e0ba7fa3) +++ sources/view/hd/data/VHDTreatmentStatesData.cpp (.../VHDTreatmentStatesData.cpp) (revision 28a383251ad37c669202c0a717ff90b8fc21a442) @@ -86,7 +86,7 @@ // NOTE: For Rinseback and Recirculate // 1 - it seems we may never need the txRinseback // since in the Rinseback state parameter of the Treatment State the first state of each has the same meaning - // it may only be used to know when those parameter has valid values to update the properties. + // it may only be used to know when those parameters have valid values to update the properties. // Kept for now because cannot be sure that it will change later or not. // 2 - if there could be a way to export enums to qml and qml can raise an error if an incorrect enum used, // then it would is absolutely preferred to use enum instead of properties @@ -95,23 +95,24 @@ // in Qt user/developer can literally type GuiActions.abcdefg and qml will never complain and only if compared with the state will return false. // Treatment states - Rinse back - txRinseback ( vData.mSubMode == GuiTreatmentStates ::TREATMENT_RINSEBACK_STATE ); // Rinseback states - if ( _txRinseback ) { - rbSInit ( vData.mRinsebackState == GuiRinsebackStates ::RINSEBACK_STOP_INIT_STATE ); + bool mRinseback = vData.mSubMode == GuiTreatmentStates ::TREATMENT_RINSEBACK_STATE ; + if ( mRinseback ) { + rbInit ( vData.mRinsebackState == GuiRinsebackStates ::RINSEBACK_STOP_INIT_STATE ); rbRun ( vData.mRinsebackState == GuiRinsebackStates ::RINSEBACK_RUN_STATE ); rbPaused ( vData.mRinsebackState == GuiRinsebackStates ::RINSEBACK_PAUSED_STATE ); rbStop ( vData.mRinsebackState == GuiRinsebackStates ::RINSEBACK_STOP_STATE ); rbAdditional ( vData.mRinsebackState == GuiRinsebackStates ::RINSEBACK_RUN_ADDITIONAL_STATE ); } - // NOTE: refer to the note above - // Treatment states - Recirculate - txRecirculate ( vData.mSubMode == GuiTreatmentStates ::TREATMENT_RECIRC_STATE ); + txRinseback ( mRinseback ); // it's the main rinseback even so moved last to have all the sub-rinseback-states updated prior to. + // Recirculate states - if ( _txRecirculate ) { + bool mRecirculate = vData.mSubMode == GuiTreatmentStates ::TREATMENT_RECIRC_STATE ; + if ( mRecirculate ) { rcStarted ( vData.mRecirculateState == GuiRecirculateStates ::TREATMENT_RECIRC_RECIRC_STATE ); rcStopped ( vData.mRecirculateState == GuiRecirculateStates ::TREATMENT_RECIRC_STOPPED_STATE ); } + txRecirculate ( mRecirculate ); // it's the main recirculate even so moved last to have all the sub-recirculate-states updated prior to. } /*! Index: sources/view/hd/data/VHDTreatmentStatesData.h =================================================================== diff -u -r2d37388a2b6651ea4002d6720e933315e0ba7fa3 -r28a383251ad37c669202c0a717ff90b8fc21a442 --- sources/view/hd/data/VHDTreatmentStatesData.h (.../VHDTreatmentStatesData.h) (revision 2d37388a2b6651ea4002d6720e933315e0ba7fa3) +++ sources/view/hd/data/VHDTreatmentStatesData.h (.../VHDTreatmentStatesData.h) (revision 28a383251ad37c669202c0a717ff90b8fc21a442) @@ -100,7 +100,7 @@ PROPERTY( bool , txRinseback , false) ///< TREATMENT_RINSEBACK_STATE Perform rinseback with saline. Dialyzer bypassed. Dialysate recirculating // Rinseback States - PROPERTY( bool , rbSInit , false) ///< Start state (stopped) of the rinseback sub-mode state machine + PROPERTY( bool , rbInit , false) ///< Start state (stopped) of the rinseback sub-mode state machine PROPERTY( bool , rbRun , false) ///< Rinseback running state of the rinseback sub-mode state machine PROPERTY( bool , rbPaused , false) ///< Rinseback paused state of the rinseback sub-mode state machine PROPERTY( bool , rbStop , false) ///< Rinseback stopped (done) state of the rinseback sub-mode state machine