Index: denali.pro =================================================================== diff -u -r03de7d132838c54a23862809357c42102b6dab99 -r524fee2471717bf627eae41c6a599c9b5f4fbe55 --- denali.pro (.../denali.pro) (revision 03de7d132838c54a23862809357c42102b6dab99) +++ denali.pro (.../denali.pro) (revision 524fee2471717bf627eae41c6a599c9b5f4fbe55) @@ -38,6 +38,8 @@ HEADERS += \ common/AlarmDefs.h \ + common/DGDefs.h \ + common/HDDefs.h \ common/MsgDefs.h \ sources/main.h \ sources/maintimer.h \ @@ -74,6 +76,7 @@ sources/view/vtreatmentadjustmentultrafiltration.h \ sources/view/vtreatmentpressureocclusion.h \ sources/view/vtreatmentranges.h \ + sources/view/vtreatmentultrafiltrationconfirm.h \ sources/view/vtreatmentultrafiltrationstate.h \ sources/view/vview.h \ sources/view/vpoweroff.h \ @@ -131,6 +134,7 @@ sources/view/vtreatmentultrafiltration.cpp \ sources/view/vtreatmenttime.cpp \ sources/view/valarmstatus.cpp \ + sources/view/vtreatmentultrafiltrationconfirm.cpp \ sources/view/vtreatmentultrafiltrationstate.cpp \ sources/storage/filehandler.cpp \ sources/storage/logger.cpp \ Index: denali.pro.user =================================================================== diff -u -r03de7d132838c54a23862809357c42102b6dab99 -r524fee2471717bf627eae41c6a599c9b5f4fbe55 --- denali.pro.user (.../denali.pro.user) (revision 03de7d132838c54a23862809357c42102b6dab99) +++ denali.pro.user (.../denali.pro.user) (revision 524fee2471717bf627eae41c6a599c9b5f4fbe55) @@ -1,6 +1,6 @@ - + EnvironmentId Index: sources/applicationcontroller.cpp =================================================================== diff -u -r03de7d132838c54a23862809357c42102b6dab99 -r524fee2471717bf627eae41c6a599c9b5f4fbe55 --- sources/applicationcontroller.cpp (.../applicationcontroller.cpp) (revision 03de7d132838c54a23862809357c42102b6dab99) +++ sources/applicationcontroller.cpp (.../applicationcontroller.cpp) (revision 524fee2471717bf627eae41c6a599c9b5f4fbe55) @@ -111,18 +111,17 @@ connect(&_Logger , SIGNAL(didExport()), this , SLOT( onExport())); - connect(&_GuiController , SIGNAL(didAdjustment(const AdjustBloodDialysateRequestData &)), - this , SLOT( onAdjustment(const AdjustBloodDialysateRequestData &))); + connect(&_GuiController , SIGNAL(didAdjustment(const AdjustBloodDialysateRequestData &)), + this , SLOT( onAdjustment(const AdjustBloodDialysateRequestData &))); + connect(&_GuiController , SIGNAL(didAdjustment(const AdjustDurationRequestData &)), + this , SLOT( onAdjustment(const AdjustDurationRequestData &))); + connect(&_GuiController , SIGNAL(didAdjustment(const AdjustUltrafiltrationStateRequestData &)), + this , SLOT( onAdjustment(const AdjustUltrafiltrationStateRequestData &))); + connect(&_GuiController , SIGNAL(didAdjustment(const AdjustUltrafiltrationRequestData &)), + this , SLOT( onAdjustment(const AdjustUltrafiltrationRequestData &))); + connect(&_GuiController , SIGNAL(didAdjustment(const AdjustUltrafiltrationConfirmRequestData &)), + this , SLOT( onAdjustment(const AdjustUltrafiltrationConfirmRequestData &))); - connect(&_GuiController , SIGNAL(didAdjustment(const AdjustDurationRequestData &)), - this , SLOT( onAdjustment(const AdjustDurationRequestData &))); - - connect(&_GuiController , SIGNAL(didAdjustment(const AdjustUltrafiltrationRequestData &)), - this , SLOT( onAdjustment(const AdjustUltrafiltrationRequestData &))); - - connect(&_GuiController , SIGNAL(didAdjustment(const AdjustUltrafiltrationStateRequestData &)), - this , SLOT( onAdjustment(const AdjustUltrafiltrationStateRequestData &))); - ACTION_RECEIVE_MODEL_BRIDGE_CONNECTIONS(_MessageDispatcher) } @@ -258,54 +257,6 @@ // coco end /*! - * \brief ApplicationController::onAdjustment - * \details This method transmits the Blood/Dialysate Adjustment Denali message. - * \param vData - Data model contains Blood Flow Rate - and Dialysate Flow Rate - * \return void - */ -void ApplicationController::onAdjustment(const AdjustBloodDialysateRequestData &vData) -{ - QVariantList mData; - mData += vData.bloodFlow; - mData += vData.dialysateFlow; - onActionTransmit(GuiActionType::AdjustBloodDialysateReq, mData); -} - -/*! - * \brief ApplicationController::onAdjustment - * \details This method transmits the treatment duration Adjustment Denali message. - * \param vData - Data model contains treatment duration adjustment value in minuts - * \return void - */ -void ApplicationController::onAdjustment(const AdjustDurationRequestData &vData) -{ - QVariantList mData; - mData += vData.duratoin; - onActionTransmit(GuiActionType::AdjustDurationReq, mData); -} - -/*! - * \brief ApplicationController::onAdjustment - * \details This method transmits the Ultrafiltration Adjustment Denali message. - * \param vData - Data model contains treatment ultrafiltration adjustment volume - * \return void - */ -void ApplicationController::onAdjustment(const AdjustUltrafiltrationRequestData &vData) -{ - QVariantList mData; - mData += vData.volume; - onActionTransmit(GuiActionType::AdjustUltrafiltrationReq, mData); -} - -void ApplicationController::onAdjustment(const AdjustUltrafiltrationStateRequestData &vDate) -{ - QVariantList mData; - mData += vDate.requestedState; - onActionTransmit(GuiActionType::UltrafiltrationState, mData); -} - -/*! * \brief ApplicationController::keepAlive * \details This is the message which has to be send over the CANBUS * as an monitor for other nodes on the bus to notify UI is alive Index: sources/applicationcontroller.h =================================================================== diff -u -r03de7d132838c54a23862809357c42102b6dab99 -r524fee2471717bf627eae41c6a599c9b5f4fbe55 --- sources/applicationcontroller.h (.../applicationcontroller.h) (revision 03de7d132838c54a23862809357c42102b6dab99) +++ sources/applicationcontroller.h (.../applicationcontroller.h) (revision 524fee2471717bf627eae41c6a599c9b5f4fbe55) @@ -78,10 +78,11 @@ void onExportLog (); void onExport (); - void onAdjustment(const AdjustBloodDialysateRequestData &vData); - void onAdjustment(const AdjustDurationRequestData &vData); - void onAdjustment(const AdjustUltrafiltrationRequestData &vData); - void onAdjustment(const AdjustUltrafiltrationStateRequestData &vData); + void onAdjustment(const AdjustBloodDialysateRequestData &vData) { emit didAdjustment(vData); } + void onAdjustment(const AdjustDurationRequestData &vData) { emit didAdjustment(vData); } + void onAdjustment(const AdjustUltrafiltrationStateRequestData &vData) { emit didAdjustment(vData); } + void onAdjustment(const AdjustUltrafiltrationRequestData &vData) { emit didAdjustment(vData); } + void onAdjustment(const AdjustUltrafiltrationConfirmRequestData &vData) { emit didAdjustment(vData); } ACTION_RECEIVE_MODEL_BRIDGE_DEFINITIONS @@ -95,7 +96,10 @@ void didExport (); - //void didAdjustBloodDialysateFlows(quint32 vBloodFlow, quint32 vDialysateFlow); - //void didAdjustDuration(quint32 vDuration); + void didAdjustment(const AdjustBloodDialysateRequestData &vData); + void didAdjustment(const AdjustDurationRequestData &vData); + void didAdjustment(const AdjustUltrafiltrationStateRequestData &vData); + void didAdjustment(const AdjustUltrafiltrationRequestData &vData); + void didAdjustment(const AdjustUltrafiltrationConfirmRequestData &vData); }; Index: sources/canbus/messagedispatcher.cpp =================================================================== diff -u -reb19475a6bf4ed7f6a16bc07eefc7813496620ef -r524fee2471717bf627eae41c6a599c9b5f4fbe55 --- sources/canbus/messagedispatcher.cpp (.../messagedispatcher.cpp) (revision eb19475a6bf4ed7f6a16bc07eefc7813496620ef) +++ sources/canbus/messagedispatcher.cpp (.../messagedispatcher.cpp) (revision 524fee2471717bf627eae41c6a599c9b5f4fbe55) @@ -102,6 +102,17 @@ connect(&_MessageAcknowModel , SIGNAL(didFailedTransmit( Sequence )), this , SLOT( onFailedTransmit( Sequence ))); + connect(&_ApplicationController, SIGNAL(didAdjustment(const AdjustBloodDialysateRequestData &)), + this , SLOT( onAdjustment(const AdjustBloodDialysateRequestData &))); + connect(&_ApplicationController, SIGNAL(didAdjustment(const AdjustDurationRequestData &)), + this , SLOT( onAdjustment(const AdjustDurationRequestData &))); + connect(&_ApplicationController, SIGNAL(didAdjustment(const AdjustUltrafiltrationStateRequestData &)), + this , SLOT( onAdjustment(const AdjustUltrafiltrationStateRequestData &))); + connect(&_ApplicationController, SIGNAL(didAdjustment(const AdjustUltrafiltrationRequestData &)), + this , SLOT( onAdjustment(const AdjustUltrafiltrationRequestData &))); + connect(&_ApplicationController, SIGNAL(didAdjustment(const AdjustUltrafiltrationConfirmRequestData &)), + this , SLOT( onAdjustment(const AdjustUltrafiltrationConfirmRequestData &))); + // From HD -> Message interpreter ACTION_RECEIVE_INTERPRETER_CONNECTIONS } @@ -214,6 +225,75 @@ } /*! + * \brief MessageDispatcher::onAdjustment + * \details This method transmits the Blood/Dialysate Adjustment Denali message. + * \param vData - Data model contains Blood Flow Rate + and Dialysate Flow Rate + * \return void + */ +void MessageDispatcher::onAdjustment(const AdjustBloodDialysateRequestData &vData) +{ + QVariantList mData; + mData += vData.bloodFlow; + mData += vData.dialysateFlow; + onActionTransmit(GuiActionType::AdjustBloodDialysateReq, mData); +} + +/*! + * \brief MessageDispatcher::onAdjustment + * \details This method transmits the treatment duration Adjustment Denali message. + * \param vData - Data model contains treatment duration adjustment value in minuts + * \return void + */ +void MessageDispatcher::onAdjustment(const AdjustDurationRequestData &vData) +{ + QVariantList mData; + mData += vData.duratoin; + onActionTransmit(GuiActionType::AdjustDurationReq, mData); +} + +/*! + * \brief MessageDispatcher::onAdjustment + * \details This method transmits the Ultrafiltration State Adjustment Denali message. + * \param vData - Data model contains treatment ultrafiltration state adjustment + * \return void + */ +void MessageDispatcher::onAdjustment(const AdjustUltrafiltrationStateRequestData &vData) +{ + QVariantList mData; + mData += vData.requestedState; + actionTransmit(GuiActionType::UltrafiltrationState, mData); +} + +/*! + * \brief MessageDispatcher::onAdjustment + * \details This method transmits the Ultrafiltration Adjustment Denali message. + * \param vData - Data model contains treatment ultrafiltration adjustment volume + * \return void + */ +void MessageDispatcher::onAdjustment(const AdjustUltrafiltrationRequestData &vData) +{ + QVariantList mData; + mData += vData.volume; + onActionTransmit(GuiActionType::AdjustUltrafiltrationReq, mData); +} + +/*! + * \brief MessageDispatcher::onAdjustment + * \details This method transmits the Ultrafiltration Adjustment User Selected Option Denali message. + * \param vData - Data model contains treatment ultrafiltration adjustment volume and user selected option. + * \return void + */ +void MessageDispatcher::onAdjustment(const AdjustUltrafiltrationConfirmRequestData &vData) +{ + QVariantList mData; + mData += vData.volume; + mData += vData.option; + onActionTransmit(GuiActionType::AdjustUltrafiltrationConfirmReq, mData); +} + + +/*! * \brief MessageDispatcher::actionTransmit * \details This method is called by slot MessageDispatcher::onActionTransmit * which emits didFrameTransmit on successful interpretation of the requested message Index: sources/canbus/messagedispatcher.h =================================================================== diff -u -rb789046c096cfdddb39adcd3d5be1e129769aac6 -r524fee2471717bf627eae41c6a599c9b5f4fbe55 --- sources/canbus/messagedispatcher.h (.../messagedispatcher.h) (revision b789046c096cfdddb39adcd3d5be1e129769aac6) +++ sources/canbus/messagedispatcher.h (.../messagedispatcher.h) (revision 524fee2471717bf627eae41c6a599c9b5f4fbe55) @@ -106,6 +106,7 @@ GuiActionType::AdjustDurationReq , GuiActionType::AdjustUltrafiltrationReq, GuiActionType::UltrafiltrationState , + GuiActionType::AdjustUltrafiltrationConfirmReq, }; // Singleton @@ -182,6 +183,12 @@ */ void didFrameTransmit (Can_Id vCan_Id, const QByteArray &vPayload); + void didAdjustment(const AdjustBloodDialysateRequestData &vData); + void didAdjustment(const AdjustDurationRequestData &vData); + void didAdjustment(const AdjustUltrafiltrationStateRequestData &vData); + void didAdjustment(const AdjustUltrafiltrationRequestData &vData); + void didAdjustment(const AdjustUltrafiltrationConfirmRequestData &vData); + private slots: // A Frame has been received from CanInterface void onFrameReceive (Can_Id vCan_Id, const QByteArray &vPayload); @@ -193,6 +200,13 @@ // An Action has been requested to be transmitted. void onActionTransmit (GuiActionType vActionId, const QVariantList &vData); + + void onAdjustment(const AdjustBloodDialysateRequestData &vData); + void onAdjustment(const AdjustDurationRequestData &vData); + void onAdjustment(const AdjustUltrafiltrationStateRequestData &vData); + void onAdjustment(const AdjustUltrafiltrationRequestData &vData); + void onAdjustment(const AdjustUltrafiltrationConfirmRequestData &vData); + ACTION_RECEIVE_MODEL_BRIDGE_DEFINITIONS }; Index: sources/canbus/messageglobals.h =================================================================== diff -u -r03de7d132838c54a23862809357c42102b6dab99 -r524fee2471717bf627eae41c6a599c9b5f4fbe55 --- sources/canbus/messageglobals.h (.../messageglobals.h) (revision 03de7d132838c54a23862809357c42102b6dab99) +++ sources/canbus/messageglobals.h (.../messageglobals.h) (revision 524fee2471717bf627eae41c6a599c9b5f4fbe55) @@ -74,6 +74,8 @@ {Gui::GuiActionType::UltrafiltrationState , 1 * 4 }, // 1 parameters each 4bytes // ---- + {Gui::GuiActionType::AdjustUltrafiltrationConfirmReq , 2 * 4 }, // 2 parameters each 4bytes + // ---- {Gui::GuiActionType::String , 255 }, {Gui::GuiActionType::Acknow , 0 }, {Gui::GuiActionType::AcknowGeneric , 1 }, Index: sources/canbus/messageinterpreter.cpp =================================================================== diff -u -r03de7d132838c54a23862809357c42102b6dab99 -r524fee2471717bf627eae41c6a599c9b5f4fbe55 --- sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision 03de7d132838c54a23862809357c42102b6dab99) +++ sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision 524fee2471717bf627eae41c6a599c9b5f4fbe55) @@ -115,14 +115,19 @@ } break; + case Gui::GuiActionType::UltrafiltrationState: + if (count) { + vPayload = Format::fromVariant(vData); + } + break; + case Gui::GuiActionType::AdjustUltrafiltrationReq: if (count) { - qDebug() << vPayload; vPayload = Format::fromVariant(vData); } break; - case Gui::GuiActionType::UltrafiltrationState: + case Gui::GuiActionType::AdjustUltrafiltrationConfirmReq: if (count) { vPayload = Format::fromVariant(vData); } Index: sources/gui/guicontroller.h =================================================================== diff -u -r03de7d132838c54a23862809357c42102b6dab99 -r524fee2471717bf627eae41c6a599c9b5f4fbe55 --- sources/gui/guicontroller.h (.../guicontroller.h) (revision 03de7d132838c54a23862809357c42102b6dab99) +++ sources/gui/guicontroller.h (.../guicontroller.h) (revision 524fee2471717bf627eae41c6a599c9b5f4fbe55) @@ -80,20 +80,17 @@ void didExportLog(); void didExport (); -//// ----- Adjust Blood/Dialysate Flows -public slots: void doAdjustment(const AdjustBloodDialysateRequestData &vData) { emit didAdjustment(vData); } -signals: void didAdjustment(const AdjustBloodDialysateRequestData &vData); -//// ----- Adjust Duration -public slots: void doAdjustment(const AdjustDurationRequestData &vData) { emit didAdjustment(vData);} -signals: void didAdjustment(const AdjustDurationRequestData &vData); -//// ----- Adjust Duration -public slots: void doAdjustment(const AdjustUltrafiltrationRequestData &vData) { emit didAdjustment(vData);} -signals: void didAdjustment(const AdjustUltrafiltrationRequestData &vData); +public slots: void doAdjustment(const AdjustBloodDialysateRequestData &vData) { emit didAdjustment(vData); } +signals: void didAdjustment(const AdjustBloodDialysateRequestData &vData); +public slots: void doAdjustment(const AdjustDurationRequestData &vData) { emit didAdjustment(vData);} +signals: void didAdjustment(const AdjustDurationRequestData &vData); +public slots: void doAdjustment(const AdjustUltrafiltrationStateRequestData &vData) { emit didAdjustment(vData);} +signals: void didAdjustment(const AdjustUltrafiltrationStateRequestData &vData); +public slots: void doAdjustment(const AdjustUltrafiltrationRequestData &vData) { emit didAdjustment(vData);} +signals: void didAdjustment(const AdjustUltrafiltrationRequestData &vData); +public slots: void doAdjustment(const AdjustUltrafiltrationConfirmRequestData &vData) { emit didAdjustment(vData);} +signals: void didAdjustment(const AdjustUltrafiltrationConfirmRequestData &vData); -//// ----- Ultrafiltration State Modification -public slots: void doAdjustment(const AdjustUltrafiltrationStateRequestData &vData) { emit didAdjustment(vData);} -signals: void didAdjustment(const AdjustUltrafiltrationStateRequestData &vData); - }; } Index: sources/gui/guiglobals.cpp =================================================================== diff -u -ra159e12630645a9a35fb0a5585cc7b639cfe6aa6 -r524fee2471717bf627eae41c6a599c9b5f4fbe55 --- sources/gui/guiglobals.cpp (.../guiglobals.cpp) (revision a159e12630645a9a35fb0a5585cc7b639cfe6aa6) +++ sources/gui/guiglobals.cpp (.../guiglobals.cpp) (revision 524fee2471717bf627eae41c6a599c9b5f4fbe55) @@ -37,7 +37,9 @@ #include "vtreatmentadjustmentduration.h" #include "vtreatmentadjustmentflows.h" #include "vtreatmentadjustmentultrafiltration.h" +#include "vtreatmentultrafiltrationconfirm.h" + namespace Gui { QQuickView *_viewer = nullptr; Index: sources/gui/guiglobals.h =================================================================== diff -u -r03de7d132838c54a23862809357c42102b6dab99 -r524fee2471717bf627eae41c6a599c9b5f4fbe55 --- sources/gui/guiglobals.h (.../guiglobals.h) (revision 03de7d132838c54a23862809357c42102b6dab99) +++ sources/gui/guiglobals.h (.../guiglobals.h) (revision 524fee2471717bf627eae41c6a599c9b5f4fbe55) @@ -60,6 +60,9 @@ AdjustUltrafiltrationReq= 0x1100, // 17 AdjustUltrafiltrationRsp= 0x1300, // 19 + AdjustUltrafiltrationConfirmReq = 0x1500, // 21 + AdjustUltrafiltrationConfirmRsp = 0x2E00, // 46 + AdjustDurationReq = 0x1600, // 22 AdjustDurationRsp = 0x1B00, // 27 Index: sources/gui/qml/components/TouchRect.qml =================================================================== diff -u -r670f257c9b88d3e5506eccaad111bec914102a72 -r524fee2471717bf627eae41c6a599c9b5f4fbe55 --- sources/gui/qml/components/TouchRect.qml (.../TouchRect.qml) (revision 670f257c9b88d3e5506eccaad111bec914102a72) +++ sources/gui/qml/components/TouchRect.qml (.../TouchRect.qml) (revision 524fee2471717bf627eae41c6a599c9b5f4fbe55) @@ -78,7 +78,7 @@ } Text { id: _text anchors.centerIn: parent - color: Colors.textMain + color: textColor font.pixelSize: Fonts.fontPixelButton } MouseArea { id: _mouseArea Index: sources/gui/qml/components/UltrafiltrationButton.qml =================================================================== diff -u -r03de7d132838c54a23862809357c42102b6dab99 -r524fee2471717bf627eae41c6a599c9b5f4fbe55 --- sources/gui/qml/components/UltrafiltrationButton.qml (.../UltrafiltrationButton.qml) (revision 03de7d132838c54a23862809357c42102b6dab99) +++ sources/gui/qml/components/UltrafiltrationButton.qml (.../UltrafiltrationButton.qml) (revision 524fee2471717bf627eae41c6a599c9b5f4fbe55) @@ -63,6 +63,7 @@ } Text { id: _title + visible: !disabled text: _root.title.arg(isIncrease ? "Increase" : "Decrease") font.pixelSize: 35 font.weight: Font.DemiBold @@ -76,6 +77,7 @@ } Text { id: _description + visible: !disabled text: _root.description.arg(isIncrease ? "increases" : "decreases") font.pixelSize: 26 color: disabled ? Colors.textDisableButton : textColor @@ -88,7 +90,7 @@ } ImageWave { id: _diffImageWave - visible : buttonType === UltrafiltrationButton.ButtonType.UltrafiltrationRate + visible : !disabled && buttonType === UltrafiltrationButton.ButtonType.UltrafiltrationRate isIncrease : _root.isIncrease anchors { right : _root.right @@ -98,7 +100,7 @@ } ImageClock { id: _diffImageClock - visible : buttonType === UltrafiltrationButton.ButtonType.TreatmentDuration + visible : !disabled && buttonType === UltrafiltrationButton.ButtonType.TreatmentDuration isIncrease : _root.isIncrease anchors { right : _root.right Index: sources/gui/qml/globals/Colors.qml =================================================================== diff -u -ra09afcb23e479527eb2263474003b63955cd0e99 -r524fee2471717bf627eae41c6a599c9b5f4fbe55 --- sources/gui/qml/globals/Colors.qml (.../Colors.qml) (revision a09afcb23e479527eb2263474003b63955cd0e99) +++ sources/gui/qml/globals/Colors.qml (.../Colors.qml) (revision 524fee2471717bf627eae41c6a599c9b5f4fbe55) @@ -45,7 +45,7 @@ readonly property color rangeMarkerShort : "#9fb6d1" readonly property color textMain : "#FCFCFC" - readonly property color textButton : "#E8E8E8" + readonly property color textButton : "#FCFCFC" //"#E8E8E8" readonly property color textDisableButton : "#607A91" readonly property color textTickMark : "#438FEB" Index: sources/gui/qml/main.qml =================================================================== diff -u -ra159e12630645a9a35fb0a5585cc7b639cfe6aa6 -r524fee2471717bf627eae41c6a599c9b5f4fbe55 --- sources/gui/qml/main.qml (.../main.qml) (revision a159e12630645a9a35fb0a5585cc7b639cfe6aa6) +++ sources/gui/qml/main.qml (.../main.qml) (revision 524fee2471717bf627eae41c6a599c9b5f4fbe55) @@ -33,6 +33,7 @@ import VTreatmentAdjustmentDuration 0.1; import VTreatmentAdjustmentFlows 0.1; import VTreatmentAdjustmentUltrafiltration 0.1; +import VTreatmentUltrafiltrationConfirm 0.1; // Qml imports @@ -72,6 +73,7 @@ VTreatmentAdjustmentFlows { id: vTreatmentAdjustmentFlows } VTreatmentUltrafiltrationState { id: vTreatmentUltrafiltrationState } VTreatmentAdjustmentUltrafiltration { id: vTreatmentAdjustmentUltrafiltration } + VTreatmentUltrafiltrationConfirm { id: vTreatmentUltrafiltrationConfirm } VTreatmentBloodFlow { id: vTreatmentBloodFlow } VTreatmentDialysateFlow { id: vTreatmentDialysateFlow } Index: sources/gui/qml/pages/treatment/TreatmentStack.qml =================================================================== diff -u -r0bcf15697b32bd20e8f9c2cd780b2eef739a4ee8 -r524fee2471717bf627eae41c6a599c9b5f4fbe55 --- sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 0bcf15697b32bd20e8f9c2cd780b2eef739a4ee8) +++ sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 524fee2471717bf627eae41c6a599c9b5f4fbe55) @@ -123,10 +123,12 @@ close() _treatmentAdjustmentUltrafiltrationEdit.open() } - onConfirmClicked : { - // Navigate to Ultrafiltration confirm dialog - close() + onConfirmRateClicked : { + vTreatmentUltrafiltrationConfirm.doOptionRate(vVolume) } + onConfirmDurationClicked : { + vTreatmentUltrafiltrationConfirm.doOptionDuration(vVolume) + } } // manage the Pause Resume response Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationConfirm.qml =================================================================== diff -u -r0bcf15697b32bd20e8f9c2cd780b2eef739a4ee8 -r524fee2471717bf627eae41c6a599c9b5f4fbe55 --- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationConfirm.qml (.../TreatmentAdjustmentUltrafiltrationConfirm.qml) (revision 0bcf15697b32bd20e8f9c2cd780b2eef739a4ee8) +++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationConfirm.qml (.../TreatmentAdjustmentUltrafiltrationConfirm.qml) (revision 524fee2471717bf627eae41c6a599c9b5f4fbe55) @@ -38,6 +38,9 @@ property string ultrafiltrationRateUnit : qsTr("mL/min") property string treatmentDurationUnit : qsTr("min") + signal confirmRateClicked (int vVolume) + signal confirmDurationClicked(int vVolume) + closeVisible : false confirmVisible : false backVisible : true @@ -73,7 +76,17 @@ font.weight: Font.DemiBold font.pixelSize: Fonts.fontPixelUltrafiltrationAdjustmentConfirmButton } - onClicked: confirmClicked() + onClicked: { + if (_rateAdjustmentButton.selected) { + confirmRateClicked(ultrafiltrationVolume) + return + } + if (_durationAdjustmentButton.selected) { + confirmDurationClicked(ultrafiltrationVolume) + return + } + confirmClicked() + } } Row { Index: sources/gui/qml/pages/treatment/sections/TreatmentUltrafiltration.qml =================================================================== diff -u -ra09afcb23e479527eb2263474003b63955cd0e99 -r524fee2471717bf627eae41c6a599c9b5f4fbe55 --- sources/gui/qml/pages/treatment/sections/TreatmentUltrafiltration.qml (.../TreatmentUltrafiltration.qml) (revision a09afcb23e479527eb2263474003b63955cd0e99) +++ sources/gui/qml/pages/treatment/sections/TreatmentUltrafiltration.qml (.../TreatmentUltrafiltration.qml) (revision 524fee2471717bf627eae41c6a599c9b5f4fbe55) @@ -33,7 +33,7 @@ height : 200 isTouchable : true - title : qsTr("ULTRAFILTRATION VOLUME") + " " + qsTr("(mL)") + title : qsTr("ULTRAFILTRATION VOLUME") + " " + qsTr("(L)") notification { imageSource: "qrc:/images/iPauseGray" text : vTreatmentUltrafiltrationState.isPaused ? qsTr("Ultrafiltration Paused") : "" Index: sources/model/mmodel.h =================================================================== diff -u -r03de7d132838c54a23862809357c42102b6dab99 -r524fee2471717bf627eae41c6a599c9b5f4fbe55 --- sources/model/mmodel.h (.../mmodel.h) (revision 03de7d132838c54a23862809357c42102b6dab99) +++ sources/model/mmodel.h (.../mmodel.h) (revision 524fee2471717bf627eae41c6a599c9b5f4fbe55) @@ -114,6 +114,8 @@ */ namespace Model { +#include "HDDefs.h" + class MAdjustBloodDialysateReq { public: quint32 bloodFlow = 0; @@ -139,14 +141,24 @@ float volume = 0; }; +class MAdjustUltrafiltrationConfirmReq { +public: + enum Options : quint32 { + eDuration = UF_Adjustments::UF_ADJ_TREATMENT_TIME, + eRate = UF_Adjustments::UF_ADJ_UF_RATE, + }; + float volume = 0; + Options option = eDuration; +}; + } +typedef Model:: MAdjustBloodDialysateReq AdjustBloodDialysateRequestData; +typedef Model:: MAdjustDurationReq AdjustDurationRequestData; +typedef Model:: MAdjustUltrafiltrationStateReq AdjustUltrafiltrationStateRequestData; +typedef Model:: MAdjustUltrafiltrationReq AdjustUltrafiltrationRequestData; +typedef Model::MAdjustUltrafiltrationConfirmReq AdjustUltrafiltrationConfirmRequestData; -typedef Model:: MAdjustBloodDialysateReq AdjustBloodDialysateRequestData; -typedef Model:: MAdjustDurationReq AdjustDurationRequestData; -typedef Model::MAdjustUltrafiltrationStateReq AdjustUltrafiltrationStateRequestData; -typedef Model:: MAdjustUltrafiltrationReq AdjustUltrafiltrationRequestData; - //--------------------------------------------------------------------------------// //-------- Please add the model type to the lists below to register them ---------// //--------------------------------------------------------------------------------// @@ -167,7 +179,8 @@ REGISTER_METATYPE( AdjustUltrafiltrationStateRequestData ) \ REGISTER_METATYPE( AdjustBloodDialysateRequestData ) \ REGISTER_METATYPE( AdjustDurationRequestData ) \ - REGISTER_METATYPE( AdjustUltrafiltrationRequestData ) + REGISTER_METATYPE( AdjustUltrafiltrationRequestData ) \ + REGISTER_METATYPE( AdjustUltrafiltrationConfirmRequestData ) //--------------------------------------------------------------------------------// #define ACTION_RECEIVE_MODEL_BRIDGE_CONNECTIONS(vSOURCE) \ Index: sources/view/vtreatmentultrafiltrationconfirm.cpp =================================================================== diff -u --- sources/view/vtreatmentultrafiltrationconfirm.cpp (revision 0) +++ sources/view/vtreatmentultrafiltrationconfirm.cpp (revision 524fee2471717bf627eae41c6a599c9b5f4fbe55) @@ -0,0 +1,55 @@ +/*! + * + * 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 vtreatmentultrafiltrationconfirm.cpp + * \date 6/1/2020 + * \author Behrouz NematiPour + * + */ +#include "vtreatmentultrafiltrationconfirm.h" + +// Project +#include "guicontroller.h" + +VIEW_DEF_CLASS_ADJUSTMENT(VTreatmentUltrafiltrationConfirm, AdjustUltrafiltrationConfirmResponseData) + +void VTreatmentUltrafiltrationConfirm::initConnections() { + + //ACTION_RECEIVE_BRIDGE_CONNECTION(Gui::_GuiController, AdjustUltrafiltrationConfirmResponseData); + + connect(this , SIGNAL(didAdjustment(const AdjustUltrafiltrationConfirmRequestData &)), + &_GuiController, SLOT( doAdjustment(const AdjustUltrafiltrationConfirmRequestData &))); +} + +//void VTreatmentUltrafiltrationConfirm::onActionReceive(const AdjustUltrafiltrationConfirmResponseData &vData) +//{ +// adjustment_Accepted ( vData.mAccepted ); +// if (adjustment_Accepted()) { +// // the response doesn't have the state so the requested state which has been accepted is used. +// optionRate ( _data.requestedState == AdjustUltrafiltrationConfirmRequestData::eRate ); +// optionDuration ( _data.requestedState == AdjustUltrafiltrationConfirmRequestData::eDuration ); +// } +// +// // *** has to be the last to let the information to be set and then emit the signal *** +// // *** otherwise will use the previous values before being set. *** +// adjustment ( true ); +//} + +void View::VTreatmentUltrafiltrationConfirm::doOptionRate(float vVolume) +{ + _data.volume = vVolume; + _data.option = AdjustUltrafiltrationConfirmRequestData::eRate; + emit didAdjustment(_data); +} + +void View::VTreatmentUltrafiltrationConfirm::doOptionDuration(float vVolume) +{ + _data.volume = vVolume; + _data.option = AdjustUltrafiltrationConfirmRequestData::eDuration; + emit didAdjustment(_data); +} Index: sources/view/vtreatmentultrafiltrationconfirm.h =================================================================== diff -u --- sources/view/vtreatmentultrafiltrationconfirm.h (revision 0) +++ sources/view/vtreatmentultrafiltrationconfirm.h (revision 524fee2471717bf627eae41c6a599c9b5f4fbe55) @@ -0,0 +1,54 @@ +/*! + * + * 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 vtreatmentultrafiltrationconfirm.h + * \date 6/1/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +#include + +// Project +#include "vtreatmentadjustmentsresponse.h" + +namespace View { + +class VTreatmentUltrafiltrationConfirm : public VTreatmentAdjustmentsResponse +{ + Q_OBJECT + + // friends + friend class ::tst_views; + + AdjustUltrafiltrationConfirmRequestData _data; + + // coco begin validated: + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + // has been manually tested that it works perfectly fine + TRIGGER( bool , adjustment , 0) + // coco end + + PROPERTY( bool , optionRate , false) + PROPERTY( bool , optionDuration , false) + + + //VIEW_DEC_CLASS_ADJUSTMENT(VTreatmentUltrafiltrationConfirm, AdjustUltrafiltrationConfirmResponseData) + VIEW_DEC_CLASS(VTreatmentUltrafiltrationConfirm) + +public slots: + void doOptionRate (float vVolume); + void doOptionDuration(float vVolume); + +signals: + void didAdjustment(const AdjustUltrafiltrationConfirmRequestData &vData); +}; + +} Index: sources/view/vview.h =================================================================== diff -u -ra159e12630645a9a35fb0a5585cc7b639cfe6aa6 -r524fee2471717bf627eae41c6a599c9b5f4fbe55 --- sources/view/vview.h (.../vview.h) (revision a159e12630645a9a35fb0a5585cc7b639cfe6aa6) +++ sources/view/vview.h (.../vview.h) (revision 524fee2471717bf627eae41c6a599c9b5f4fbe55) @@ -102,6 +102,9 @@ REGISTER_TYPE( VPowerOff ) \ REGISTER_TYPE( VTreatmentAdjustmentDuration ) \ REGISTER_TYPE( VTreatmentAdjustmentFlows ) \ - REGISTER_TYPE( VTreatmentAdjustmentUltrafiltration ) + REGISTER_TYPE( VTreatmentAdjustmentUltrafiltration ) \ + REGISTER_TYPE( VTreatmentUltrafiltrationConfirm ) + + //--------------------------------------------------------------------------------//