Index: sources/gui/GuiGlobals.h =================================================================== diff -u -r7b7d5478285cfb78793a96d327e9f0a064d9d0d7 -r923377d29fe730c0e2209386479a61b1e8ee1097 --- sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 7b7d5478285cfb78793a96d327e9f0a064d9d0d7) +++ sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 923377d29fe730c0e2209386479a61b1e8ee1097) @@ -430,6 +430,8 @@ // Treatment End typedef GuiActions::Treatment_End_States GuiTreatmentEndStates; typedef GuiActions::Requested_Treatment_End_User_Actions GuiTreatmentEndCommands; + // Isolated UF + typedef GuiActions::UF_States GuiUfStates; // Treatment Stop typedef GuiActions::Treatment_Paused_States GuiTreatmentPausedStates; // Pre-Treatment SubMode Index: sources/gui/qml/components/ModalDialog.qml =================================================================== diff -u -r77ba0083b790f7c1c851c60ecaeaa4f2e7eff7a8 -r923377d29fe730c0e2209386479a61b1e8ee1097 --- sources/gui/qml/components/ModalDialog.qml (.../ModalDialog.qml) (revision 77ba0083b790f7c1c851c60ecaeaa4f2e7eff7a8) +++ sources/gui/qml/components/ModalDialog.qml (.../ModalDialog.qml) (revision 923377d29fe730c0e2209386479a61b1e8ee1097) @@ -50,6 +50,7 @@ closePolicy: Dialog.NoAutoClose Overlay.modal : Rectangle { id : _borderRect anchors.fill : parent + anchors.bottomMargin: _alarmBar.visible ? Variables.notificationHeight : 0 color : "#B3000000" Behavior on opacity { NumberAnimation { duration: 300} } Index: sources/gui/qml/components/NotificationBarSmall.qml =================================================================== diff -u -r77ba0083b790f7c1c851c60ecaeaa4f2e7eff7a8 -r923377d29fe730c0e2209386479a61b1e8ee1097 --- sources/gui/qml/components/NotificationBarSmall.qml (.../NotificationBarSmall.qml) (revision 77ba0083b790f7c1c851c60ecaeaa4f2e7eff7a8) +++ sources/gui/qml/components/NotificationBarSmall.qml (.../NotificationBarSmall.qml) (revision 923377d29fe730c0e2209386479a61b1e8ee1097) @@ -30,6 +30,7 @@ property bool imageAnimated : false property int imageDiameter : Variables.notificationIconDiameter property int imageTopMargin : 0 + property alias imageVisible : _image.visible property alias text : _text.text property alias textColor : _text.color Index: sources/gui/qml/globals/Variables.qml =================================================================== diff -u -r77ba0083b790f7c1c851c60ecaeaa4f2e7eff7a8 -r923377d29fe730c0e2209386479a61b1e8ee1097 --- sources/gui/qml/globals/Variables.qml (.../Variables.qml) (revision 77ba0083b790f7c1c851c60ecaeaa4f2e7eff7a8) +++ sources/gui/qml/globals/Variables.qml (.../Variables.qml) (revision 923377d29fe730c0e2209386479a61b1e8ee1097) @@ -24,6 +24,7 @@ */ QtObject { readonly property int keybardAnimationDuration : 200 + readonly property int defaultAnimationDuration : 250 readonly property int applicationWidth : 1920 //// ----- @LEAHIZED readonly property int applicationHeight : 1080 //// ----- @LEAHIZED @@ -35,7 +36,7 @@ readonly property int headerButtonsMargin : 35 readonly property int confirmButtonWidth : 155 readonly property int headerBarDateTimeWidth : 200 - readonly property int defaultMargin : 20 + readonly property int defaultMargin : 20 // NEVER CHANGE readonly property int contentHeight : 50 readonly property int mainMenuHeight : 80 //// ----- @LEAHIZED Index: sources/gui/qml/pages/treatment/TreatmentStack.qml =================================================================== diff -u -r77ba0083b790f7c1c851c60ecaeaa4f2e7eff7a8 -r923377d29fe730c0e2209386479a61b1e8ee1097 --- sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 77ba0083b790f7c1c851c60ecaeaa4f2e7eff7a8) +++ sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 923377d29fe730c0e2209386479a61b1e8ee1097) @@ -45,6 +45,9 @@ // ultrafiltration state information bar properties readonly property bool isUFPaused : vTDTreatmentStates.ufPaused readonly property bool isUFRunning : vTDTreatmentStates.ufRunning + readonly property bool isIsolatedUF : vTDTreatmentStates.txIsolatedUf + readonly property bool isTreatmentPaused : vTDTreatmentStates.txStop + readonly property string ufInfoImageSource : isUFPaused ? "qrc:/images/iPauseGray" : "" readonly property string ufInfoText : isUFPaused ? qsTr("Ultrafiltration Paused" ) : "" readonly property string ufInfoTextColor : isUFPaused ? "gray" : "" Index: sources/gui/qml/pages/treatment/sections/TreatmentFlows.qml =================================================================== diff -u -r77ba0083b790f7c1c851c60ecaeaa4f2e7eff7a8 -r923377d29fe730c0e2209386479a61b1e8ee1097 --- sources/gui/qml/pages/treatment/sections/TreatmentFlows.qml (.../TreatmentFlows.qml) (revision 77ba0083b790f7c1c851c60ecaeaa4f2e7eff7a8) +++ sources/gui/qml/pages/treatment/sections/TreatmentFlows.qml (.../TreatmentFlows.qml) (revision 923377d29fe730c0e2209386479a61b1e8ee1097) @@ -46,7 +46,8 @@ title : qsTr("Blood Flow") height : _row.cellHeight width : _row.cellWidth - value : Variables.notSetVariable(vTreatmentBloodFlow.bloodFlow_PresFlow) + value : Variables.notSetVariable(vTreatmentSetPoint.bloodFlow) === "_" ? Variables.notSetVariable(vTreatmentSetPoint.bloodFlow) : + Variables.notSetVariable(vTreatmentSetPoint.bloodFlow).toFixed(0) unitText : Variables.unitTextFlowRate buttonsEnabled : editEnabled @@ -59,10 +60,14 @@ title : qsTr("Dialysate Flow") height : _row.cellHeight width : _row.cellWidth - value : Variables.notSetVariable(vTreatmentBloodFlow.dialysateFlow_PresFlow) + value : vTreatmentSetPoint.dialysateFlow.toFixed(0) // Need to show 0 value unitText : Variables.unitTextFlowRate - buttonsEnabled : editEnabled // TODO - extraText : "OFF" // TODO + buttonsEnabled : editEnabled + extraText : vTreatmentSetPoint.dialysateFlow === 0 || + vTDTreatmentStates.txIsolatedUf ? qsTr("OFF") : + ! vDDGenDialysate.isDialGood ? qsTr("Bypass") : + "" + showButtons : ! vTDTreatmentStates.txIsolatedUf onIncrement : print(" increment dial flow") onDecrement : print(" decrement dial flow") @@ -73,9 +78,11 @@ title : qsTr("Dialysate Temp.") height : _row.cellHeight width : _row.cellWidth - value : Variables.notSetVariable(vTreatmentBloodFlow.bloodFlow_PresFlow) + value : Variables.notSetVariable(vTreatmentSetPoint.dialysateTemp) === "_" ? Variables.notSetVariable(vTreatmentSetPoint.dialysateTemp) : + Variables.notSetVariable(vTreatmentSetPoint.dialysateTemp).toFixed(1) unitText : Variables.unitTextTemperature - buttonsEnabled : editEnabled // TODO + buttonsEnabled : editEnabled + showButtons : ! vTDTreatmentStates.txIsolatedUf onIncrement : print(" increment dial temp") onDecrement : print(" decrement dial temp") @@ -86,7 +93,8 @@ title : qsTr("Dialysate Cond.") height : _row.cellHeight width : _row.cellWidth - value : Variables.notSetVariable(vTreatmentBloodFlow.bloodFlow_PresFlow) + value : Variables.notSetVariable(vDDConductivity.acidBicarbCondutivity2) ? Variables.notSetVariable(vDDConductivity.acidBicarbCondutivity2) : + Variables.notSetVariable(vDDConductivity.acidBicarbCondutivity2).toFixed(2) // D29 unitText : Variables.unitTextDialCond showButtons : false dropShadowEnabled : false Index: sources/gui/qml/pages/treatment/sections/TreatmentFlowsComponent.qml =================================================================== diff -u -r77ba0083b790f7c1c851c60ecaeaa4f2e7eff7a8 -r923377d29fe730c0e2209386479a61b1e8ee1097 --- sources/gui/qml/pages/treatment/sections/TreatmentFlowsComponent.qml (.../TreatmentFlowsComponent.qml) (revision 77ba0083b790f7c1c851c60ecaeaa4f2e7eff7a8) +++ sources/gui/qml/pages/treatment/sections/TreatmentFlowsComponent.qml (.../TreatmentFlowsComponent.qml) (revision 923377d29fe730c0e2209386479a61b1e8ee1097) @@ -16,10 +16,11 @@ property string value : "" property string unitText : "" property string extraText : "" + property alias value : _value.topText - property bool showButtons : true - property bool buttonsEnabled : true - property bool dropShadowEnabled : true + property bool showButtons : true + property bool buttonsEnabled : true + property bool dropShadowEnabled : true color : Colors.mainTreatmentLighterBlue radius : 5 @@ -54,6 +55,7 @@ anchors { top : _title.bottom + bottom : _root.bottom horizontalCenter : _root.horizontalCenter } @@ -71,6 +73,27 @@ bottomText : _root.unitText bottomTextFont.pixelSize: 22 bottomTextTopMargin : Variables.defaultMargin + + Text { id: _extraText + objectName: "extraText" + + anchors { + horizontalCenter: _value.horizontalCenter + top : parent.bottom + topMargin : Variables.defaultMargin * 4.5 + } + + font { + pixelSize : 28 + weight : Font.Bold + } + + text : _root.extraText + width : 40 + height : Variables.contentHeight + color : Colors.mainTreatmentOrange + horizontalAlignment : Text.AlignHCenter + } } Column { id: _column @@ -95,31 +118,11 @@ onClicked : _root.decrement() } } - } - Text { id: _extraText - objectName: "extraText" - - anchors { - left : _root.left - leftMargin : Variables.defaultMargin * 3 - bottom : _root.bottom - bottomMargin : 10 - } - - font { - pixelSize : 28 - weight : Font.Bold - } - - text : _root.extraText - width : 40 - height : Variables.contentHeight - color : "orange" - horizontalAlignment : Text.AlignHCenter + add: Transition { NumberAnimation { properties: "opacity"; from: 0; to: 1; duration: Variables.defaultAnimationDuration } } } - layer.enabled : _root.dropShadowEnabled + layer.enabled : _root.dropShadowEnabled && _root.showButtons layer.effect : DropShadow { id: _dropShadow horizontalOffset: 3 verticalOffset : 3 Index: sources/gui/qml/pages/treatment/sections/TreatmentPressures.qml =================================================================== diff -u -r77ba0083b790f7c1c851c60ecaeaa4f2e7eff7a8 -r923377d29fe730c0e2209386479a61b1e8ee1097 --- sources/gui/qml/pages/treatment/sections/TreatmentPressures.qml (.../TreatmentPressures.qml) (revision 77ba0083b790f7c1c851c60ecaeaa4f2e7eff7a8) +++ sources/gui/qml/pages/treatment/sections/TreatmentPressures.qml (.../TreatmentPressures.qml) (revision 923377d29fe730c0e2209386479a61b1e8ee1097) @@ -31,18 +31,18 @@ property int arterialMaximum : vTreatmentRanges.arterialPressureMonitorMax property int venousMinimum : vTreatmentRanges.venousPressureMonitorMin property int venousMaximum : vTreatmentRanges.venousPressureMonitorMax - property int tmpMinimum : 0//vTreatmentRanges.tmpPressureMonitorMin - property int tmpMaximum : 100//vTreatmentRanges.tmpPressureMonitorMax + property int tmpMinimum : vTreatmentRanges.TrancembrncPressureMonitorMin + property int tmpMaximum : vTreatmentRanges.TrancembrncPressureMonitorMax property int arterialLowerBound : vTreatmentPressureOcclusion.arterialMin property int arterialUpperBound : vTreatmentPressureOcclusion.arterialMax property int venousLowerBound : vTreatmentPressureOcclusion.venousMin property int venousUpperBound : vTreatmentPressureOcclusion.venousMax - property int tmpLowerBound : 20//vTreatmentPressureOcclusion.tmpPressureLimitLowerBound - property int tmpUpperBound : 80//vTreatmentPressureOcclusion.tmpPressureLimitUpperBound + property int tmpLowerBound : vTreatmentPressureOcclusion.tmpMin + property int tmpUpperBound : vTreatmentPressureOcclusion.tmpMax property int arterialPressure : vTreatmentPressureOcclusion.arterialPressure property int venousPressure : vTreatmentPressureOcclusion.venousPressure - property int tmpPressure : 65//vTreatmentPressureOcclusion.tmpPressure + property int tmpPressure : vTreatmentPressureOcclusion.tmpPressure property bool valueOutRangeNotify : true Index: sources/gui/qml/pages/treatment/sections/TreatmentSaline.qml =================================================================== diff -u -r77ba0083b790f7c1c851c60ecaeaa4f2e7eff7a8 -r923377d29fe730c0e2209386479a61b1e8ee1097 --- sources/gui/qml/pages/treatment/sections/TreatmentSaline.qml (.../TreatmentSaline.qml) (revision 77ba0083b790f7c1c851c60ecaeaa4f2e7eff7a8) +++ sources/gui/qml/pages/treatment/sections/TreatmentSaline.qml (.../TreatmentSaline.qml) (revision 923377d29fe730c0e2209386479a61b1e8ee1097) @@ -71,10 +71,10 @@ Item { id: _progressBarArea height : 30 - width : parent.width - Variables.defaultMargin + width : contentItem.width ProgressBar { id: _fluidProgressBar - width : _progressBarArea.width + 10 + width : _progressBarArea.width height : Variables.progressbarFluidHeight * 3 minText.visible : false maxText.visible : false Index: sources/gui/qml/pages/treatment/sections/TreatmentUltrafiltration.qml =================================================================== diff -u -r77ba0083b790f7c1c851c60ecaeaa4f2e7eff7a8 -r923377d29fe730c0e2209386479a61b1e8ee1097 --- sources/gui/qml/pages/treatment/sections/TreatmentUltrafiltration.qml (.../TreatmentUltrafiltration.qml) (revision 77ba0083b790f7c1c851c60ecaeaa4f2e7eff7a8) +++ sources/gui/qml/pages/treatment/sections/TreatmentUltrafiltration.qml (.../TreatmentUltrafiltration.qml) (revision 923377d29fe730c0e2209386479a61b1e8ee1097) @@ -33,10 +33,26 @@ readonly property real value : vTreatmentUltrafiltration.volumeRemoved readonly property int topTextFontSize : 25 readonly property int bottomTextFontSize : 60 + readonly property bool isUfCompleted : value >= maximum - property string ufButtonText : qsTr("Isolated UF in Progress") // TODO - property color ufButtonColor : "#C3F9FF" // TODO + property string ufButtonText : _root.isUfCompleted ? qsTr("Target Goal Achieved") : + isTreatmentPaused ? qsTr("Ultrafiltration Paused") : + vTDTreatmentStates.txDialysis ? "" : + isUFPaused ? qsTr("Isolated UF Paused") : + isUFRunning ? qsTr("Isolated UF in Progress") : + "" + property color ufButtonColor : _root.isUfCompleted ? Colors.mainTreatmentGreen : + isUFRunning ? Colors.mainTreatmentIsoBlue : + isTreatmentPaused || isUFPaused ? Colors.mainTreatmentOrange : + Colors.mainTreatmentOrange + + property string ufVolumeDescriptionText : isTreatmentPaused || + vTDTreatmentStates.txDialysis ? "" : + isUFRunning || + isUFPaused ? qsTr("Isolated UF") : + "" + header.title: qsTr("Ultrafiltration") + " (" + qsTr("UF") + ")" contentArea.anchors.topMargin: Variables.defaultMargin @@ -58,12 +74,12 @@ topTextFont.pixelSize : topTextFontSize topTextFont.weight : Font.Medium - bottomText : "1.00"// TODO + bottomText : vTreatmentUltrafiltration.setVolume.toFixed(Variables.ultrafiltrationPrecision) bottomTextFont.pixelSize: bottomTextFontSize bottomTextFont.weight : Font.Normal showCenterText : true leftAlign : true - centerText : "Isolated UF" // TODO + centerText : _root.ufVolumeDescriptionText unitText : Variables.unitVolume } @@ -75,7 +91,7 @@ topTextFont.pixelSize : topTextFontSize topTextFont.weight : Font.Medium - // bottomText : vTreatmentUltrafiltration.ultrafiltration_UfCurrentRate.toFixed(Variables.ultrafiltrationPrecision) + bottomText : vTreatmentUltrafiltration.targetRate.toFixed(Variables.ultrafiltrationPrecision) bottomTextFont.pixelSize: bottomTextFontSize bottomTextFont.weight : Font.Normal leftAlign : true @@ -148,28 +164,35 @@ } Rectangle { id: _isolatedUFRect - anchors { - top : header.bottom - topMargin : Variables.defaultMargin - right : parent.right - rightMargin : Variables.defaultMargin * 2 - } + anchors { + top : header.bottom + topMargin : Variables.defaultMargin + right : parent.right + rightMargin : Variables.defaultMargin * 2 + } - width : 250 - height : 60 - radius : height - color : Colors.backgroundMain + width : 250 + height : 60 + radius : height + color : Colors.backgroundMain + visible : _root.ufButtonText !== "" - Text { id: _isolatedUFText + NotificationBarSmall { id: _isolatedUFText anchors.centerIn: parent - text : _root.ufButtonText - color : _root.ufButtonColor - font { - weight : Font.DemiBold - pixelSize : 20 - } - } + height : 25 + color : "transparent" + + imageDiameter : 25 + imageVisible : ( isTreatmentPaused || isUFPaused ) && ! isUfCompleted + + imageSource : "qrc:/images/iPauseOrange" + text : _root.ufButtonText + textColor : _root.ufButtonColor + textfontSize : 20 + textfontWeight : Font.Medium + + } } // TODO Index: sources/view/td/data/treatment/VTDTreatmentStatesData.cpp =================================================================== diff -u -r43ae56f762e6f3e1416d39e3d16f9103fc597e41 -r923377d29fe730c0e2209386479a61b1e8ee1097 --- sources/view/td/data/treatment/VTDTreatmentStatesData.cpp (.../VTDTreatmentStatesData.cpp) (revision 43ae56f762e6f3e1416d39e3d16f9103fc597e41) +++ sources/view/td/data/treatment/VTDTreatmentStatesData.cpp (.../VTDTreatmentStatesData.cpp) (revision 923377d29fe730c0e2209386479a61b1e8ee1097) @@ -196,6 +196,19 @@ } txEnd ( mTreatmentEnd ); + // Isolated UF states + bool mIsolatedUF = vData.mSubMode == GuiTreatmentStates ::TREATMENT_ISO_UF_STATE ; + if ( mIsolatedUF ) { + ENUM_CHECK_O( GuiUfStates, vData.mIsolatedUFState ) { + ENUM_CHECK ( GuiUfStates, UF_START_STATE ) + ENUM_CHECK ( GuiUfStates, UF_PAUSED_STATE ) + ENUM_CHECK ( GuiUfStates, UF_RUNNING_STATE ) + ENUM_CHECK_C( GuiUfStates, NUM_OF_UF_STATES ) } + ENUM_READ ( GuiUfStates, UF_PAUSED_STATE , ufPaused ); + ENUM_READ ( GuiUfStates, UF_RUNNING_STATE , ufRunning ); + } + txIsolatedUf ( mIsolatedUF ); + // Treatment Stop states bool mTreatmentStop = vData.mSubMode == GuiTreatmentStates ::TREATMENT_PAUSED_STATE ; if ( mTreatmentStop ) { Index: sources/view/td/data/treatment/VTDTreatmentStatesData.h =================================================================== diff -u -r43ae56f762e6f3e1416d39e3d16f9103fc597e41 -r923377d29fe730c0e2209386479a61b1e8ee1097 --- sources/view/td/data/treatment/VTDTreatmentStatesData.h (.../VTDTreatmentStatesData.h) (revision 43ae56f762e6f3e1416d39e3d16f9103fc597e41) +++ sources/view/td/data/treatment/VTDTreatmentStatesData.h (.../VTDTreatmentStatesData.h) (revision 923377d29fe730c0e2209386479a61b1e8ee1097) @@ -65,6 +65,7 @@ PROPERTY( bool , txRinseback , false) ///< TREATMENT_RINSEBACK_STATE = 4 # Perform rinseback with saline. Dialyzer bypassed. Dialysate recirculating PROPERTY( bool , txRecirculate , false) ///< TREATMENT_RECIRC_STATE = 5 # Recirculate saline and dialysate while patient disconnected. Blood lines open and shunted. Dialyzer is bypassed PROPERTY( bool , txEnd , false) ///< TREATMENT_END_STATE = 6 # Dialysis has ended. Blood pump slowed. Dialyzer is bypassed. Dialysate is recirculated. User can rinseback + PROPERTY( bool , txIsolatedUf , false) ///< TREATMENT_ISO_UF_STATE = 7 # Dialysis Isolated UF // ---- Ultrafiltration states PROPERTY( bool , ufPaused , false) ///< UF_PAUSED_STATE = 1 # Paused state of the ultrafiltration state machine