Index: sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml =================================================================== diff -u -re6f122cd598d085faa3b1e295317d793a1dd9fcb -r4a2b83dcb56555861d2c741a8e8894e5b07e24bf --- sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml (.../PreTreatmentStack.qml) (revision e6f122cd598d085faa3b1e295317d793a1dd9fcb) +++ sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml (.../PreTreatmentStack.qml) (revision 4a2b83dcb56555861d2c741a8e8894e5b07e24bf) @@ -45,10 +45,10 @@ property var stepNames : [] // step name parallel list property var stepKeys : [] // step enum parallel list property int stackStepIndex : 0 + readonly property bool isInstall : stepKeys[_root.stackStepIndex] === PreTreatmentStack.Step.Installation readonly property bool isCreateRx : stepKeys[_root.stackStepIndex] === PreTreatmentStack.Step.CreateRx - readonly property bool isDialysteUf : stepKeys[_root.stackStepIndex] === PreTreatmentStack.Step.DialysateUF - // testing defeature... update later + // TODO testing defeature... update later property bool enableWaterSample : true onVisibleChanged: { @@ -97,7 +97,7 @@ values.push(qsTr("Rx")) keys.push(PreTreatmentStack.Step.DialysateUF) - values.push(qsTr("Dialysate/UF")) + values.push(qsTr("UF/Dialysate")) keys.push(PreTreatmentStack.Step.Connect) values.push(qsTr("Connect")) @@ -117,7 +117,9 @@ page ( _pretreatmentInstallation ) break case PreTreatmentStack.Step.Installation: - vPreTreatmentAdjustmentDisposablesConfirm.doConfirm() + if ( vSettings.advancedMode ) { vPreTreatmentAdjustmentDisposablesConfirm.doConfirm() } + else { _pretreatmentInstallation.continueClicked() } + break case PreTreatmentStack.Step.SelfTests: page ( _pretreatmentSaline ) @@ -126,21 +128,28 @@ page ( _pretreatmentPrime ) break case PreTreatmentStack.Step.Prime: + if ( _pretreatmentPrime.timeCircleProgressValue === 0 ) { vPreTreatmentAdjustmentDisposablesPrime.doPrime(); } + if ( ! _pretreatmentPrime.isComplete) { _pretreatmentPrime.incrementTest(); return; } // TODO update later only for testing + if ( enableWaterSample ) { page ( _pretreatmentWaterSample ) } else { page ( _pretreatmentCreate ) } break case PreTreatmentStack.Step.WaterSample: - page ( _pretreatmentCreate ) + vPreTreatmentAdjustmentWaterSample.doResult( _pretreatmentWaterSample.result ) + page ( _pretreatmentCreate ) // TODO remove when i do messaging break case PreTreatmentStack.Step.CreateRx: _pretreatmentCreate.confirmButtonClicked() if ( vTreatmentCreate.parametersValidated ) { page ( _pretreatmentDialysateUf ) } break case PreTreatmentStack.Step.DialysateUF: - page ( _pretreatmentConnect ) + vPreTreatmentAdjustmentUltrafiltrationInit.doAdjustment(_pretreatmentDialysateUf.ufVolume) + page ( _pretreatmentConnect ) // TODO remove when i do messaging break case PreTreatmentStack.Step.Connect: - // TODO Some FW request to enter Treatment mode + vPreTreatmentAdjustmentStartTreatment.doStart() + // TODO Keep for now until we figure out if this isnt going to be used anymore +// vPreTreatmentAdjustmentPatientConnectionConfirm.doConfirm() break default: break @@ -155,30 +164,8 @@ break case PreTreatmentStack.Step.Installation: if ( vSettings.advancedMode ) { vPreTreatmentAdjustmentInitTreatment.doCancel() } - else { page ( _pretreatmentConcentrates ) } + else { _pretreatmentInstallation.backClicked() } break - case PreTreatmentStack.Step.SelfTests: - page ( _pretreatmentInstallation ) - break - case PreTreatmentStack.Step.Saline: - page ( _pretreatmentSelfTests ) - break - case PreTreatmentStack.Step.Prime: - page ( _pretreatmentSaline ) - break - case PreTreatmentStack.Step.WaterSample: - page ( _pretreatmentPrime ) - break - case PreTreatmentStack.Step.CreateRx: - if ( enableWaterSample ) { page ( _pretreatmentWaterSample ) } - else { page ( _pretreatmentPrime ) } - break - case PreTreatmentStack.Step.DialysateUF: - // 🙅‍♂️ No going back - break - case PreTreatmentStack.Step.Connect: - page ( _pretreatmentDialysateUf ) - break default: break } @@ -187,19 +174,45 @@ // handle text for the confirm button on any pretreatment page function confirmButtonText() { switch ( stepKeys[_root.stackStepIndex] ) { - case PreTreatmentStack.Step.Concentrates: - return qsTr("Next") case PreTreatmentStack.Step.Installation: - return qsTr("Auto-Load") + return _pretreatmentInstallation.confirmButtonText() case PreTreatmentStack.Step.CreateRx: return vTreatmentCreate.parametersValidated - ? qsTr("CONFIRM") - : qsTr("VALIDATE") + ? qsTr("Confirm") + : qsTr("Validate") + case PreTreatmentStack.Step.Connect: + return qsTr("Start") default: return qsTr("Next") } } + function backEnabled() { + switch ( stepKeys[_root.stackStepIndex] ) { + case PreTreatmentStack.Step.Concentrates: + return true + case PreTreatmentStack.Step.Installation: + return _pretreatmentInstallation.backEnabled() + default: + return false // majority of pages back is disabled + } + } + + function confirmEnabled() { + switch ( stepKeys[_root.stackStepIndex] ) { + case PreTreatmentStack.Step.SelfTests: + return _pretreatmentSelfTests.isComplete + case PreTreatmentStack.Step.Prime: + return _pretreatmentPrime.isComplete + case PreTreatmentStack.Step.WaterSample: + return _pretreatmentWaterSample.confirmEnabled + case PreTreatmentStack.Step.CreateRx: + return _pretreatmentCreate.confirmReady() + default: + return true + } + } + // Header StepNavigationTitleBar { id: _titleBar stepIndex : _root.stackStepIndex @@ -212,10 +225,14 @@ } confirmText.text: confirmButtonText() confirmVisible : true - confirmEnabled : _root.isCreateRx ? _pretreatmentCreate.confirmReady() : true - backVisible : _root.isCreateRx ? ! vTreatmentCreate.parametersValidated : ! _root.isDialysteUf + confirmEnabled : _root.confirmEnabled() + backVisible : true + backEnabled : _root.backEnabled() width : _root.width stepNames : _root.stepNames + subStepIndex : isInstall ? _pretreatmentInstallation.subStepIndex + 1 : 0 + subStepsLength : isInstall ? PreTreatmentInstallStack.Step.SubStepCount : 0 + onBackClicked : _root.backClicked() onConfirmClicked: _root.confirmClicked() } @@ -226,71 +243,112 @@ onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.Concentrates); updateModel() } } - PreTreatmentBase { id: _pretreatmentInstallation - instructionBased : true - onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.Installation); updateModel() } + PreTreatmentInstallStack { id: _pretreatmentInstallation + onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.Installation); initStack() } } - PreTreatmentBase { id: _pretreatmentSelfTests - onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.SelfTests); } + PreTreatmentSelfTests{ id: _pretreatmentSelfTests + onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.SelfTests); resetTest() } } PreTreatmentBase { id: _pretreatmentSaline - onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.Saline); } + instructionBased : true + onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.Saline); updateModel() } } - PreTreatmentBase { id: _pretreatmentPrime - onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.Prime); } + PreTreatmentPrime { id: _pretreatmentPrime + onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.Prime); resetTest() } } - PreTreatmentBase { id: _pretreatmentWaterSample + PreTreatmentWaterSample { id: _pretreatmentWaterSample onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.WaterSample); } } PreTreatmentCreate { id: _pretreatmentCreate - onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.CreateRx) } + onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.CreateRx) } } - PreTreatmentBase { id: _pretreatmentDialysateUf - onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.DialysateUF); } + PreTreatmentUltrafiltration { id: _pretreatmentDialysateUf + onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.DialysateUF); } } PreTreatmentBase { id: _pretreatmentConnect - onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.Connect); } + instructionBased : true + onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.Connect); updateModel() } } // Slots - Connections { target: vPreTreatmentAdjustmentDisposablesConfirm - function onAdjustmentTriggered ( vValue ) { - if ( vPreTreatmentAdjustmentDisposablesConfirm.adjustment_Accepted ) { - _pretreatmentInstallation.informationText = "" - page ( _pretreatmentSelfTests ) + Connections { target: vTDOpMode + function onPreTreatmentChanged( vValue ) { if ( vSettings.advancedMode ) { page ( _pretreatmentInstallation , vValue )} + else { page ( _pretreatmentConcentrates , vValue )} + } + } + + // Installation + Connections { target: _pretreatmentInstallation + function onGoToNextStep () { page ( _pretreatmentSelfTests )} + function onGoToPreviousStep () { page ( _pretreatmentConcentrates )} + } + + // priming + Connections { target: vPreTreatmentAdjustmentDisposablesPrime + function onAdjustmentTriggered ( vValue ) { + if ( vPreTreatmentAdjustmentDisposablesPrime.adjustment_Accepted ) { + _pretreatmentPrime.reasonText = "" } else { - _pretreatmentInstallation.informationText = vPreTreatmentAdjustmentDisposablesConfirm.text() + _pretreatmentPrime.reasonText = vPreTreatmentAdjustmentDisposablesPrime.text() } } } - Connections { target: vTDOpMode - function onPreTreatmentChanged( vValue ) { if ( vSettings.advancedMode ) { page ( _pretreatmentInstallation , vValue )} - else { page ( _pretreatmentConcentrates , vValue )} + // water sample + Connections { target: vPreTreatmentAdjustmentWaterSample + function onAdjustmentTriggered ( vValue ) { + if ( vPreTreatmentAdjustmentWaterSample.adjustment_Accepted ) { + _pretreatmentWaterSample.reasonText = "" + page ( _pretreatmentCreate ) + } else { + _pretreatmentWaterSample.reasonText = vPreTreatmentAdjustmentWaterSample.text() + } } } - // TODO in pre treatment story --- Clean up in pre treatment story -// PreTreatmentWaterSampleStack{ id: _preTreatmentWaterSampleStack ;objectName: "_preTreatmentWaterSampleStack" } -// PreTreatmentConsumablesStack{ id: _preTreatmentConsumablesStack ;objectName: "_preTreatmentConsumablesStack" } -// PreTreatmentPrimeStack { id: _pretreatmentPrimeStack ;objectName: "_pretreatmentPrimeStack" } -// PreTreatmentConnectionStack { id: _pretreatmentConnectionStack ;objectName: "_pretreatmentConnectionStack " } + // Ultrafiltration + Connections { target: vPreTreatmentAdjustmentUltrafiltrationInit + function onAdjustmentTriggered ( vValue ) { + // the maximum ultrafiltration volume has to be set/revert regardless + vTreatmentUltrafiltration.maximum = vPreTreatmentAdjustmentUltrafiltrationInit.volume -// Connections { target: vPreTreatmentStates -// function onWaterSampleChanged ( vValue ) { page( _preTreatmentWaterSampleStack , vValue )} -// function onSelfTestConsumablesChanged ( vValue ) { page( _preTreatmentConsumablesStack , vValue )} -// function onSelfTestNoCartridgeChanged ( vValue ) { page( _preTreatmentDisposablesStack , vValue )} -// function onInstallationChanged ( vValue ) { page( _preTreatmentDisposablesStack , vValue )} // DEBUG: Experimental : console.debug("vinstallation " -// function onSelfTestDryChanged ( vValue ) { page( _pretreatmentPrimeStack , vValue )} -// function onPrimeChanged ( vValue ) { page( _pretreatmentPrimeStack , vValue )} // DEBUG: Experimental : console.debug("vprime " -// function onRecirculateChanged ( vValue ) { page( _pretreatmentPrimeStack , vValue )} // DEBUG: Experimental : console.debug("vrecirculate " -// function onPatientConnectionChanged ( vValue ) { page( _pretreatmentConnectionStack , vValue )} + // but only if it has been accepted it will navigate + if ( vPreTreatmentAdjustmentUltrafiltrationInit.adjustment_Accepted ) { + page( _pretreatmentConnect ) + } + else { + _pretreatmentDialysateUf.reasonText = vPreTreatmentAdjustmentUltrafiltrationInit.text() + } + } + } + + // connect -- TODO Keep for now until we figure out if this isnt going to be used anymore +// Connections { target: vPreTreatmentAdjustmentPatientConnectionConfirm +// function onAdjustmentTriggered ( vValue ) { +// if ( vPreTreatmentAdjustmentPatientConnectionConfirm.adjustment_Accepted ) { +// page( _preTreatmentStartTreatment ) +// _pretreatmentConnect.informationText = "" +// } else { +// _pretreatmentConnect.informationText = vPreTreatmentAdjustmentPatientConnectionConfirm.text() +// } +// } // } + + // start treatment + Connections { target: vPreTreatmentAdjustmentStartTreatment + function onAdjustmentTriggered ( vValue ) { + if ( vPreTreatmentAdjustmentStartTreatment.adjustment_Accepted ) { + _pretreatmentConnect.reasonText = "" + } else { + _pretreatmentConnect.reasonText = vPreTreatmentAdjustmentStartTreatment.text() + } + } + } }