Index: denali.pro =================================================================== diff -u -r58014dae52ee6357e88b9b03bcad457ddcb432e8 -r2d37388a2b6651ea4002d6720e933315e0ba7fa3 --- denali.pro (.../denali.pro) (revision 58014dae52ee6357e88b9b03bcad457ddcb432e8) +++ denali.pro (.../denali.pro) (revision 2d37388a2b6651ea4002d6720e933315e0ba7fa3) @@ -97,6 +97,7 @@ sources/model/hd/data/MTreatmentSalineData.h \ sources/model/hd/data/MTreatmentHeparinData.h \ sources/model/hd/data/MTreatmentRinsebackData.h \ + sources/model/hd/data/MTreatmentBloodPrimeData.h \ sources/model/hd/data/MPrimingData.h \ \ # ---------- Models - DG - Data sources/model/dg/data/MDGDrainPumpData.h \ @@ -156,6 +157,7 @@ sources/view/hd/data/VTreatmentSalineData.h \ sources/view/hd/data/VTreatmentHeparinData.h \ sources/view/hd/data/VTreatmentRinsebackData.h \ + sources/view/hd/data/VTreatmentBloodPrimeData.h \ sources/view/hd/data/VHDTreatmentStatesData.h \ \ # ---------- Views - DG - Data sources/view/dg/data/VDGDrainPumpData.h \ @@ -228,6 +230,7 @@ sources/model/hd/data/MTreatmentSalineData.cpp \ sources/model/hd/data/MTreatmentHeparinData.cpp \ sources/model/hd/data/MTreatmentRinsebackData.cpp \ + sources/model/hd/data/MTreatmentBloodPrimeData.cpp \ sources/model/hd/data/MPrimingData.cpp \ \ # ---------- Models - DG - Data sources/model/dg/data/MDGDrainPumpData.cpp \ @@ -285,6 +288,7 @@ sources/view/hd/data/VTreatmentSalineData.cpp \ sources/view/hd/data/VTreatmentHeparinData.cpp \ sources/view/hd/data/VTreatmentRinsebackData.cpp \ + sources/view/hd/data/VTreatmentBloodPrimeData.cpp \ sources/view/hd/data/VHDTreatmentStatesData.cpp \ \ # ---------- Views - DG - Data sources/view/dg/data/VDGDrainPumpData.cpp \ Index: denali.pro.user =================================================================== diff -u -rfd25d67f37410037f22be9c6e958b100e3790de9 -r2d37388a2b6651ea4002d6720e933315e0ba7fa3 --- denali.pro.user (.../denali.pro.user) (revision fd25d67f37410037f22be9c6e958b100e3790de9) +++ denali.pro.user (.../denali.pro.user) (revision 2d37388a2b6651ea4002d6720e933315e0ba7fa3) @@ -1,6 +1,6 @@ - + EnvironmentId Index: denali.qrc =================================================================== diff -u -rfd25d67f37410037f22be9c6e958b100e3790de9 -r2d37388a2b6651ea4002d6720e933315e0ba7fa3 --- denali.qrc (.../denali.qrc) (revision fd25d67f37410037f22be9c6e958b100e3790de9) +++ denali.qrc (.../denali.qrc) (revision 2d37388a2b6651ea4002d6720e933315e0ba7fa3) @@ -145,6 +145,7 @@ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentPressuresLimits.qml + sources/gui/qml/pages/postTreatment/PostTreatmentBloodPrime.qml sources/gui/qml/pages/postTreatment/PostTreatmentRinseback.qml sources/gui/qml/pages/postTreatment/PostTreatmentRecirculate.qml sources/gui/qml/pages/postTreatment/PostTreatmentComplete.qml Index: sources/canbus/MessageGlobals.h =================================================================== diff -u -rfd25d67f37410037f22be9c6e958b100e3790de9 -r2d37388a2b6651ea4002d6720e933315e0ba7fa3 --- sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision fd25d67f37410037f22be9c6e958b100e3790de9) +++ sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 2d37388a2b6651ea4002d6720e933315e0ba7fa3) @@ -57,6 +57,7 @@ {Gui::GuiActionType::ID_Saline , 3 * 4 }, // 3 parameters each 4bytes {Gui::GuiActionType::ID_Heparin , 1 * 4 }, // 1 parameters each 4bytes {Gui::GuiActionType::ID_Rinseback , 3 * 4 }, // 3 parameters each 4bytes + {Gui::GuiActionType::ID_BloodPrime , 2 * 4 }, // 2 parameters each 4bytes // ---- {Gui::GuiActionType::ID_HDOperationModeData , 1 * 4 }, // 1 parameter each 4bytes Index: sources/canbus/MessageInterpreter.cpp =================================================================== diff -u -r58014dae52ee6357e88b9b03bcad457ddcb432e8 -r2d37388a2b6651ea4002d6720e933315e0ba7fa3 --- sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 58014dae52ee6357e88b9b03bcad457ddcb432e8) +++ sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 2d37388a2b6651ea4002d6720e933315e0ba7fa3) @@ -324,6 +324,7 @@ case Gui::GuiActionType::ID_Saline : ok = notify(vMessage, vData, Gui::GuiActionType::ID_Saline ); break; case Gui::GuiActionType::ID_Heparin : ok = notify(vMessage, vData, Gui::GuiActionType::ID_Heparin ); break; case Gui::GuiActionType::ID_Rinseback : ok = notify(vMessage, vData, Gui::GuiActionType::ID_Rinseback ); break; + case Gui::GuiActionType::ID_BloodPrime : ok = notify(vMessage, vData, Gui::GuiActionType::ID_BloodPrime ); break; // ----- Events case Gui::GuiActionType::ID_HDOperationModeData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_HDOperationModeData ); break; Index: sources/gui/GuiGlobals.cpp =================================================================== diff -u -r58014dae52ee6357e88b9b03bcad457ddcb432e8 -r2d37388a2b6651ea4002d6720e933315e0ba7fa3 --- sources/gui/GuiGlobals.cpp (.../GuiGlobals.cpp) (revision 58014dae52ee6357e88b9b03bcad457ddcb432e8) +++ sources/gui/GuiGlobals.cpp (.../GuiGlobals.cpp) (revision 2d37388a2b6651ea4002d6720e933315e0ba7fa3) @@ -39,6 +39,7 @@ #include "VTreatmentSalineData.h" #include "VTreatmentHeparinData.h" #include "VTreatmentRinsebackData.h" +#include "VTreatmentBloodPrimeData.h" #include "VHDTreatmentStatesData.h" #include "VDGDrainPumpData.h" Index: sources/gui/GuiGlobals.h =================================================================== diff -u -r58014dae52ee6357e88b9b03bcad457ddcb432e8 -r2d37388a2b6651ea4002d6720e933315e0ba7fa3 --- sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 58014dae52ee6357e88b9b03bcad457ddcb432e8) +++ sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 2d37388a2b6651ea4002d6720e933315e0ba7fa3) @@ -89,6 +89,7 @@ ID_Saline = 0x2F00, // 47 ID_Heparin = 0x4D00, // 77 ID_Rinseback = 0x5600, // 86 + ID_BloodPrime = 0x5900, // 89 // Alarm Messages ID_AlarmStatus = 0x0200, Index: sources/gui/qml/pages/postTreatment/PostTreatmentBloodPrime.qml =================================================================== diff -u --- sources/gui/qml/pages/postTreatment/PostTreatmentBloodPrime.qml (revision 0) +++ sources/gui/qml/pages/postTreatment/PostTreatmentBloodPrime.qml (revision 2d37388a2b6651ea4002d6720e933315e0ba7fa3) @@ -0,0 +1,71 @@ +/*! + * + * 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 PostTreatmentBloodPrime.qml + * \author (last) Behrouz NematiPour + * \date (last) 09-Feb-2021 + * \author (original) Behrouz NematiPour + * \date (original) 29-Jan-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" + +/*! + * \brief the post/pre treatment Blood Prime screen + */ +ScreenItem { id: _root + objectName: "_PostTreatmentBloodPrime" + + property alias reasonText : _notification.text + + Text { id: _title + anchors { + top: parent.top + topMargin: 65 + horizontalCenter: parent.horizontalCenter + } + color: "white" + text: qsTr("Blood Priming") + font.pixelSize: Fonts.fontPixelTitle + } + + ProgressCircle { id: _circle + diameter: 335 + anchors.centerIn: parent + minimum : 0 + maximum : vTreatmentBloodPrime.target + value : vTreatmentBloodPrime.current + + Text { id: _textVolume + anchors.centerIn: parent + color: "white" + text: vTreatmentBloodPrime.current.toFixed(0) + " " + qsTr(Variables.unitTextFluid) + font.pixelSize: 76 + font.weight: Font.ExtraLight + + } + } + + NotificationBar { id: _notification + iconVisible: false + } + + onVisibleChanged: { + _notification.text = "" + if (visible) { + _mainMenu .hidden = true + _treatmentMenu.hidden = true + } + } +} Index: sources/gui/qml/pages/postTreatment/PostTreatmentRinseback.qml =================================================================== diff -u -rfd25d67f37410037f22be9c6e958b100e3790de9 -r2d37388a2b6651ea4002d6720e933315e0ba7fa3 --- sources/gui/qml/pages/postTreatment/PostTreatmentRinseback.qml (.../PostTreatmentRinseback.qml) (revision fd25d67f37410037f22be9c6e958b100e3790de9) +++ sources/gui/qml/pages/postTreatment/PostTreatmentRinseback.qml (.../PostTreatmentRinseback.qml) (revision 2d37388a2b6651ea4002d6720e933315e0ba7fa3) @@ -48,6 +48,7 @@ } ImageText { id: _imageEnd + visible: ! vHDTreatmentStates.rbAdditional anchors { right : _root.right top : _root.top @@ -66,7 +67,9 @@ anchors { horizontalCenter: parent.horizontalCenter top : parent.top - topMargin : 170 + topMargin : vHDTreatmentStates.rbAdditional ? + _root.height/2 - height/2 : // move the progress circle in the center of the screen + 170 } minimum : 0 @@ -76,7 +79,7 @@ Text { id: _textVolume anchors.centerIn: parent color: "white" - text: vTreatmentRinseback.target.toFixed(0) + " " + qsTr(Variables.unitTextFluid) + text: vTreatmentRinseback.current.toFixed(0) + " " + qsTr(Variables.unitTextFluid) font.pixelSize: 76 font.weight: Font.ExtraLight @@ -124,7 +127,7 @@ } ImageText { id: _imagePause - visible : vHDTreatmentStates.rbRun // not sure if it's possible || vHDTreatmentStates.rbRun_Additional + visible : vHDTreatmentStates.rbRun // not sure if it's possible || vHDTreatmentStates.rbAdditional anchors.bottom : _buttonRow.bottom diameter : Variables.rinsebackIconDiameterResumePause source : "qrc:/images/iPauseLightBlue" Index: sources/gui/qml/pages/treatment/TreatmentStack.qml =================================================================== diff -u -rfd25d67f37410037f22be9c6e958b100e3790de9 -r2d37388a2b6651ea4002d6720e933315e0ba7fa3 --- sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision fd25d67f37410037f22be9c6e958b100e3790de9) +++ sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 2d37388a2b6651ea4002d6720e933315e0ba7fa3) @@ -29,6 +29,7 @@ import VTreatmentRinseback 0.1 import VTreatmentAdjustmentRinseback 0.1 import VTreatmentAdjustmentRecirculate 0.1 +import VTreatmentBloodPrime 0.1 // Qml imports import "qrc:/globals" @@ -58,6 +59,7 @@ VTreatmentAdjustmentUltrafiltrationConfirm { id: vTreatmentAdjustmentUltrafiltrationConfirm } VTreatmentAdjustmentPressuresLimits { id: vTreatmentAdjustmentPressuresLimits } VTreatmentAdjustmentHeparin { id: vTreatmentAdjustmentHeparin } + VTreatmentBloodPrime { id: vTreatmentBloodPrime } VTreatmentRinseback { id: vTreatmentRinseback } VTreatmentAdjustmentRinseback { id: vTreatmentAdjustmentRinseback } VTreatmentAdjustmentRecirculate { id: vTreatmentAdjustmentRecirculate } @@ -229,6 +231,7 @@ } } + PostTreatmentBloodPrime { id: _postTreatmentBloodPrime } PostTreatmentRinseback { id: _postTreatmentRinseback onResumeClicked : vTreatmentAdjustmentRinseback .doResume () onPauseClicked : vTreatmentAdjustmentRinseback .doPause () @@ -367,14 +370,20 @@ // 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 ) + } + } + onTxDialysisRunningChanged: { - if ( vHDTreatmentStates.txDialysisRunning ) { + if ( vtxDialysisRunning ) { back( _treatmentStart ) } } onTxDialysisEndChanged: { - if ( vHDTreatmentStates.txDialysisEnd ) { + if ( vtxDialysisEnd ) { // if Tx completed // -> Rinseback // -> End / Disconnect @@ -385,13 +394,11 @@ } onTxStopChanged: { - if ( vHDTreatmentStates.txStop ) { - back( _postTreatmentComplete ) - } + // only will be used to update the in-treatment screen } onTxRinsebackChanged: { - if ( vHDTreatmentStates.txRinseback ) { + 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. @@ -400,13 +407,13 @@ } onRbStopChanged: { - if ( vHDTreatmentStates.rbStop ) { + if ( vrbStop ) { back( _postTreatmentRinsebackComplete ) } } onRbAdditionalChanged: { - if ( vHDTreatmentStates.rbAdditional ) { + 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. @@ -415,7 +422,7 @@ } onTxRecirculateChanged: { - if ( vHDTreatmentStates.txRecirculate ) { + 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 Index: sources/model/MModel.h =================================================================== diff -u -r58014dae52ee6357e88b9b03bcad457ddcb432e8 -r2d37388a2b6651ea4002d6720e933315e0ba7fa3 --- sources/model/MModel.h (.../MModel.h) (revision 58014dae52ee6357e88b9b03bcad457ddcb432e8) +++ sources/model/MModel.h (.../MModel.h) (revision 2d37388a2b6651ea4002d6720e933315e0ba7fa3) @@ -32,6 +32,7 @@ #include "MTreatmentSalineData.h" #include "MTreatmentHeparinData.h" #include "MTreatmentRinsebackData.h" +#include "MTreatmentBloodPrimeData.h" #include "MDGDrainPumpData.h" #include "MDGHeatersData.h" @@ -196,6 +197,7 @@ REGISTER_METATYPE( TreatmentSalineData ) \ REGISTER_METATYPE( TreatmentHeparinData ) \ REGISTER_METATYPE( TreatmentRinsebackData ) \ + REGISTER_METATYPE( TreatmentBloodPrimeData ) \ REGISTER_METATYPE( HDOperationModeData ) \ \ REGISTER_METATYPE( AlarmStatusData ) \ @@ -284,6 +286,7 @@ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentSalineData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentHeparinData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentRinsebackData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentBloodPrimeData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, HDOperationModeData ) \ \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AlarmStatusData ) \ @@ -376,6 +379,7 @@ ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentSalineData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentHeparinData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentRinsebackData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentBloodPrimeData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( HDOperationModeData ) \ \ ACTION_RECEIVE_BRIDGE_DEFINITION( AlarmStatusData ) \ @@ -500,6 +504,7 @@ ACTION_RECEIVE_SIGNAL( TreatmentSalineData ) \ ACTION_RECEIVE_SIGNAL( TreatmentHeparinData ) \ ACTION_RECEIVE_SIGNAL( TreatmentRinsebackData ) \ + ACTION_RECEIVE_SIGNAL( TreatmentBloodPrimeData ) \ ACTION_RECEIVE_SIGNAL( HDOperationModeData ) \ \ ACTION_RECEIVE_SIGNAL( AlarmStatusData ) \ Index: sources/model/hd/data/MTreatmentBloodPrimeData.cpp =================================================================== diff -u --- sources/model/hd/data/MTreatmentBloodPrimeData.cpp (revision 0) +++ sources/model/hd/data/MTreatmentBloodPrimeData.cpp (revision 2d37388a2b6651ea4002d6720e933315e0ba7fa3) @@ -0,0 +1,45 @@ +/*! + * + * 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 MTreatmentBloodPrimeData.cpp + * \author (last) Behrouz NematiPour + * \date (last) 09-Feb-2021 + * \author (original) Behrouz NematiPour + * \date (original) 07-Feb-2021 + * + */ +#include "MTreatmentBloodPrimeData.h" + +using namespace Model; + +QVariantList MTreatmentBloodPrime::parameters() const { + return { + _data.mTarget .value, + _data.mCurrent.value, + }; +} + +bool MTreatmentBloodPrime::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mTarget )) + if (GetValue(vByteArray, index, _data.mCurrent)) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +/*! + * \brief MTreatmentBloodPrime::data + * \details Provides model's Data from the received messages data values + * \return Data + */ +MTreatmentBloodPrime::Data MTreatmentBloodPrime::data() const { + Data data; + data.mTarget = _data.mTarget .value; + data.mCurrent = _data.mCurrent.value; + return data; +} Index: sources/model/hd/data/MTreatmentBloodPrimeData.h =================================================================== diff -u --- sources/model/hd/data/MTreatmentBloodPrimeData.h (revision 0) +++ sources/model/hd/data/MTreatmentBloodPrimeData.h (revision 2d37388a2b6651ea4002d6720e933315e0ba7fa3) @@ -0,0 +1,83 @@ +/*! + * + * 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 MTreatmentBloodPrimeData.h + * \author (last) Behrouz NematiPour + * \date (last) 09-Feb-2021 + * \author (original) Behrouz NematiPour + * \date (original) 07-Feb-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTreatmentBloodPrime class + * \details The treatment BloodPrime bolus data model + * + * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: | + * |0x5900| 0x020 | 6 | 1 Hz | N | HD | UI | Blood Prime Progress Data | + * + * | Payload || + * | || + * | #1:(F32) | \ref Data::mTarget | + * | #2:(F32) | \ref Data::mCurrent | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Datum | + * | unitText | HD | + * | infoText | BloodPrimeData | + * + */ +class MTreatmentBloodPrime : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::F32 mTarget ; + Types::F32 mCurrent; + } _data; + +public: + + Type_Enum typeText() const override { return Type_Enum::eDatum ; } + Unit_Enum unitText() const override { return Unit_Enum::eHD ; } + QString infoText() const override { return QString("BloodPrimeData") ; } + + struct Data { + float mTarget = 0; ///< Target volume of BloodPrime delivery + float mCurrent = 0; ///< Current volume of BloodPrime delivery + }; + +public: + MTreatmentBloodPrime () { } + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; +} + +typedef Model::MTreatmentBloodPrime::Data TreatmentBloodPrimeData; Index: sources/view/VView.h =================================================================== diff -u -r58014dae52ee6357e88b9b03bcad457ddcb432e8 -r2d37388a2b6651ea4002d6720e933315e0ba7fa3 --- sources/view/VView.h (.../VView.h) (revision 58014dae52ee6357e88b9b03bcad457ddcb432e8) +++ sources/view/VView.h (.../VView.h) (revision 2d37388a2b6651ea4002d6720e933315e0ba7fa3) @@ -114,6 +114,7 @@ REGISTER_TYPE( VTreatmentSaline ) \ REGISTER_TYPE( VTreatmentHeparin ) \ REGISTER_TYPE( VTreatmentRinseback ) \ + REGISTER_TYPE( VTreatmentBloodPrime ) \ REGISTER_TYPE( VHDOperationMode ) \ REGISTER_TYPE( VHDTreatmentStates ) \ \ Index: sources/view/hd/data/VHDTreatmentStatesData.cpp =================================================================== diff -u -rfd25d67f37410037f22be9c6e958b100e3790de9 -r2d37388a2b6651ea4002d6720e933315e0ba7fa3 --- sources/view/hd/data/VHDTreatmentStatesData.cpp (.../VHDTreatmentStatesData.cpp) (revision fd25d67f37410037f22be9c6e958b100e3790de9) +++ sources/view/hd/data/VHDTreatmentStatesData.cpp (.../VHDTreatmentStatesData.cpp) (revision 2d37388a2b6651ea4002d6720e933315e0ba7fa3) @@ -75,6 +75,7 @@ // Treatment states // Treatment states - Basics txStart ( vData.mSubMode == GuiTreatmentStates ::TREATMENT_START_STATE ); + txBloodPrime ( vData.mSubMode == GuiTreatmentStates ::TREATMENT_BLOOD_PRIME_STATE ); txStop ( vData.mSubMode == GuiTreatmentStates ::TREATMENT_STOP_STATE ); txEnd ( vData.mSubMode == GuiTreatmentStates ::TREATMENT_END_STATE ); Index: sources/view/hd/data/VHDTreatmentStatesData.h =================================================================== diff -u -rfd25d67f37410037f22be9c6e958b100e3790de9 -r2d37388a2b6651ea4002d6720e933315e0ba7fa3 --- sources/view/hd/data/VHDTreatmentStatesData.h (.../VHDTreatmentStatesData.h) (revision fd25d67f37410037f22be9c6e958b100e3790de9) +++ sources/view/hd/data/VHDTreatmentStatesData.h (.../VHDTreatmentStatesData.h) (revision 2d37388a2b6651ea4002d6720e933315e0ba7fa3) @@ -85,6 +85,7 @@ // coco begin validated: Manually tested // not used yet since the Treatment Start/stop/end has not been implemented yet. PROPERTY( bool , txStart , false) ///< TREATMENT_START_STATE Start treatment, prime blood side with gradual ramp for 1 min. while Dialyzer is bypassed. No dialysis or UF taking place + PROPERTY( bool , txBloodPrime , false) ///< TREATMENT_BLOOD_PRIME_STATE Prime blood-side of dialyzer with gradual ramp for 1 min. while dialyzer is bypassed. No dialysis or UF taking place. No treatment time. PROPERTY( bool , txStop , false) ///< TREATMENT_STOP_STATE Treatment stopped. All pumps off. Dialyzer bypassed PROPERTY( bool , txEnd , false) ///< TREATMENT_END_STATE Treatment has ended. All pumps off. Dialyzer is bypassed. Blood lines are closed. User to disconnect // coco end Index: sources/view/hd/data/VTreatmentBloodPrimeData.cpp =================================================================== diff -u --- sources/view/hd/data/VTreatmentBloodPrimeData.cpp (revision 0) +++ sources/view/hd/data/VTreatmentBloodPrimeData.cpp (revision 2d37388a2b6651ea4002d6720e933315e0ba7fa3) @@ -0,0 +1,26 @@ +/*! + * + * 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 VTreatmentBloodPrimeData.cpp + * \author (last) Behrouz NematiPour + * \date (last) 09-Feb-2021 + * \author (original) Behrouz NematiPour + * \date (original) 20-Nov-2020 + * + */ +#include "VTreatmentBloodPrimeData.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTreatmentBloodPrime, TreatmentBloodPrimeData) + +void VTreatmentBloodPrime::onActionReceive(const TreatmentBloodPrimeData &vData) +{ + target (vData.mTarget ); + current(vData.mCurrent); +} Index: sources/view/hd/data/VTreatmentBloodPrimeData.h =================================================================== diff -u --- sources/view/hd/data/VTreatmentBloodPrimeData.h (revision 0) +++ sources/view/hd/data/VTreatmentBloodPrimeData.h (revision 2d37388a2b6651ea4002d6720e933315e0ba7fa3) @@ -0,0 +1,44 @@ +/*! + * + * 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 VTreatmentBloodPrimeData.h + * \author (last) Behrouz NematiPour + * \date (last) 09-Feb-2021 + * \author (original) Behrouz NematiPour + * \date (original) 20-Nov-2020 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : don't remove +#include "MModel.h" +#include "VView.h" + +// namespace +namespace View { + +/*! + * \brief The VTreatmentBloodPrime class + * \details View for Model's data representation. + * + * \sa Model::MTreatmentBloodPrime + * + */ +class VTreatmentBloodPrime : public QObject +{ + Q_OBJECT + + PROPERTY( float , target , 0) + PROPERTY( float , current , 0) + + VIEW_DEC(VTreatmentBloodPrime, TreatmentBloodPrimeData) +}; +}