Index: denali.pro.user =================================================================== diff -u -r526137b088b43e51868cb241ce70b3cf52febae8 -r22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb --- denali.pro.user (.../denali.pro.user) (revision 526137b088b43e51868cb241ce70b3cf52febae8) +++ denali.pro.user (.../denali.pro.user) (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) @@ -1,6 +1,6 @@ - + EnvironmentId Index: denali.qrc =================================================================== diff -u -r526137b088b43e51868cb241ce70b3cf52febae8 -r22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb --- denali.qrc (.../denali.qrc) (revision 526137b088b43e51868cb241ce70b3cf52febae8) +++ denali.qrc (.../denali.qrc) (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) @@ -107,6 +107,7 @@ sources/gui/qml/compounds/PressureRangeSlider.qml sources/gui/qml/compounds/PreTreatmentTitleBar.qml sources/gui/qml/compounds/InstructionView.qml + sources/gui/qml/compounds/CheckListView.qml qtquickcontrols2.conf @@ -145,10 +146,21 @@ sources/gui/qml/pages/pretreatment/consumables/PreTreatmentConsumablesStack.qml sources/gui/qml/pages/pretreatment/consumables/PreTreatmentConsumablesSelfTest.qml + sources/gui/qml/pages/pretreatment/consumables/PreTreatmentConsumablesInstallation.qml + + sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesSelfTest.qml + sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesCartridgeInstallation.qml + sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesCartridgeConnection.qml + sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesHeparinSyringe.qml + sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesSalineBag.qml + sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesStack.qml + + sources/gui/qml/pages/pretreatment/prime/PreTreatmentPrimeStack.qml + sources/gui/qml/pages/pretreatment/prime/PreTreatmentDrySelfTest.qml + sources/gui/qml/pages/pretreatment/prime/PreTreatmentDisposablesPrime.qml sources/gui/qml/pages/pretreatment/prime/PreTreatmentUltrafiltration.qml - sources/gui/qml/pages/pretreatment/prime/PreTreatmentPrime.qml sources/gui/qml/pages/treatment/sections/TreatmentFlows.qml Fisheye: Tag 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb refers to a dead (removed) revision in file `sources/gui/qml/components/CheckListItem.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb refers to a dead (removed) revision in file `sources/gui/qml/components/PrimingTimer.qml'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/gui/qml/components/WaitDone.qml =================================================================== diff -u -rc0c63c4b149dafea2b02e4cd31f223e392ff7818 -r22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb --- sources/gui/qml/components/WaitDone.qml (.../WaitDone.qml) (revision c0c63c4b149dafea2b02e4cd31f223e392ff7818) +++ sources/gui/qml/components/WaitDone.qml (.../WaitDone.qml) (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) @@ -35,14 +35,14 @@ opacity : ! _root.done ? 1 : 0 source : "qrc:/images/iBusy" - NumberAnimation on rotation { + RotationAnimator on rotation { running : ! _root.done from : 0 to : 360 loops : Animation.Infinite duration: 7200 } - Behavior on opacity { NumberAnimation { duration: 1200 } } + Behavior on opacity { OpacityAnimator { duration: 1200 } } MouseArea { id: _mousearea anchors.fill: parent onClicked: done = true @@ -55,6 +55,6 @@ width : _root.diameter + 15 height : _root.diameter + 15 source : "qrc:/images/iBusyDone" - Behavior on opacity { NumberAnimation{ duration: 1200 } } + Behavior on opacity { OpacityAnimator { duration: 1200 } } } } Index: sources/gui/qml/compounds/CheckListView.qml =================================================================== diff -u --- sources/gui/qml/compounds/CheckListView.qml (revision 0) +++ sources/gui/qml/compounds/CheckListView.qml (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) @@ -0,0 +1,105 @@ +/*! + * + * 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 CheckListView.qml + * \author (last) Behrouz NematiPour + * \date (last) 15-Mar-2021 + * \author (original) Behrouz NematiPour + * \date (original) 15-Mar-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" + +/*! + * \brief The Check list view is a dynamic check list items which gets list of strings as model + * \details and dynamically creates list of items which can be later set as started/done to have + * busy circile or check mark as done. + */ +Item { id: _root + + property var stepNames : [] + property int completeMargin : 50 + property alias completeVisible : _completeText.visible + property int delegateWidth : 350 + property int delegateHeight : 60 + + function resetModel() { + if ( visible ) { + for (let i = 0; i < _listView.count; i++) { + let model = _listView.itemAt(i) + model.stepStart = false + model.stepDone = false + } + } + } + function setModel(vIndex, vEntered) { + let model = _listView.itemAt(vIndex) + if ( vEntered ) model.stepStart = true + else model.stepDone = true + } + + width : _root.delegateWidth + height : _root.delegateHeight * _listView.count + + Column { + anchors.centerIn: _root + Repeater { id: _listView + + model : _root.stepNames + delegate: Item { id: _delegate + property bool stepStart : false + property bool stepDone : false + + property int linePad: 15 + width : _root.delegateWidth + height : _root.delegateHeight + Text { id: _stepText + verticalAlignment: Text.AlignVCenter + text : modelData + anchors.fill: parent + color : Colors.textMain + font.pixelSize: Fonts.fontPixelStateListText + } + Line { + length : _delegate.width + 2 * linePad + thickness : 2 + anchors { + bottom : _delegate.bottom + left : _delegate.left + leftMargin : -linePad + } + } + WaitDone { id: _waitDone + anchors.verticalCenter: _delegate.verticalCenter + anchors.right: _delegate.right + diameter: _delegate.height * 0.5 + visible : _delegate.stepStart + done : _delegate.stepDone + } + } + } + } + + Text { id: _completeText + visible: false + anchors { + top : _root.bottom + topMargin : _root.completeMargin + horizontalCenter: _root.horizontalCenter + } + text : qsTr("Self Test Complete!") + color : Colors.textMain + font.pixelSize: Fonts.fontPixelNotification + } +} Index: sources/gui/qml/compounds/InstructionView.qml =================================================================== diff -u -r526137b088b43e51868cb241ce70b3cf52febae8 -r22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb --- sources/gui/qml/compounds/InstructionView.qml (.../InstructionView.qml) (revision 526137b088b43e51868cb241ce70b3cf52febae8) +++ sources/gui/qml/compounds/InstructionView.qml (.../InstructionView.qml) (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) @@ -30,6 +30,10 @@ property var stepNames : [] property var stepImages : [] + readonly property int currentStepIndex: _swipeview.currentIndex + readonly property int firstStep : _swipeview.currentIndex == 0 + readonly property int lastStep : _swipeview.currentIndex == _swipeview.count - 1 + readonly property int frameGap : 47 readonly property int chevronWidth : 25 readonly property int chevronHeight : 35 @@ -110,7 +114,7 @@ } Image { id: _leftImage - visible : _swipeview.currentIndex != 0 + visible : ! _root.firstStep width : _root.chevronWidth height : _root.chevronHeight source : "qrc:/images/iArrowLeft" @@ -120,7 +124,7 @@ anchors.margins : _root.chevronMargin } Image { id: _rightImage - visible : _swipeview.currentIndex != _swipeview.count - 1 + visible : ! _root.lastStep width : _root.chevronWidth height : _root.chevronHeight source : "qrc:/images/iArrowRight" @@ -131,26 +135,24 @@ } MouseArea { id: _mouseAreaLeft + enabled : ! _root.firstStep width : _root.frameGap anchors.left : _root.left anchors.top : _root.top anchors.bottom : _root.bottom onClicked : { - console.debug("leftClicked") - if (_swipeview.currentIndex > 0) - _swipeview.currentIndex-- + _swipeview.currentIndex-- _root.leftClicked } } MouseArea {id: _mouseAreaRight + enabled : ! _root.lastStep width : _root.frameGap anchors.right : _root.right anchors.top : _root.top anchors.bottom : _root.bottom onClicked : { - console.debug("rightClicked") - if (_swipeview.currentIndex < _swipeview.count-1) - _swipeview.currentIndex++ + _swipeview.currentIndex++ _root.rightClicked } } Index: sources/gui/qml/globals/Fonts.qml =================================================================== diff -u -r526137b088b43e51868cb241ce70b3cf52febae8 -r22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb --- sources/gui/qml/globals/Fonts.qml (.../Fonts.qml) (revision 526137b088b43e51868cb241ce70b3cf52febae8) +++ sources/gui/qml/globals/Fonts.qml (.../Fonts.qml) (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) @@ -39,7 +39,7 @@ readonly property int fontPixelRangeMarker : 16 readonly property int fontPixelRangeRectText : 14 - readonly property int fontPixelStepCurrent : 20 + readonly property int fontPixelStepCurrent : 18 readonly property int fontPixelStepNormal : 14 readonly property int fontPixelPresseuresText : 22 @@ -60,6 +60,9 @@ readonly property int fontPixelDurationCurTime : 89 readonly property int fontPixelDurationAdjTime : 28 + readonly property int fontPixelStateListText : 20 + readonly property int fontPixelSmallCirclProgressTime : 22 + readonly property int fontPixelUltrafiltrationAdjustmentButton : 26 readonly property int fontPixelUltrafiltrationAdjustmentButtonL : 30 readonly property int fontPixelUltrafiltrationAdjustmentPauseButton : fontPixelUltrafiltrationAdjustmentButton @@ -71,7 +74,6 @@ readonly property int fontPixelRinsebackAdjustmentButton : 26 - readonly property int fontPixelPriming : 20 readonly property int fontPixelCreateTreatment : 30 readonly property int fontPixelCreateTreatmentTable : 24 } Index: sources/gui/qml/globals/Variables.qml =================================================================== diff -u -r25e7d601d795c1622dd4c6e437b3dce91a676e83 -r22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb --- sources/gui/qml/globals/Variables.qml (.../Variables.qml) (revision 25e7d601d795c1622dd4c6e437b3dce91a676e83) +++ sources/gui/qml/globals/Variables.qml (.../Variables.qml) (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) @@ -75,6 +75,9 @@ readonly property int progressbarRectHeight : 50 readonly property int progressbarRectWidth : 620 + readonly property int progressCircleSmallDiameter : 100 + readonly property int opacityAnimationDuration : 1200 + readonly property int sliderTextMargin : 20 readonly property int treatmentSpacing : 60 Index: sources/gui/qml/pages/pretreatment/PreTreatmentMainStack.qml =================================================================== diff -u -rc0c63c4b149dafea2b02e4cd31f223e392ff7818 -r22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb --- sources/gui/qml/pages/pretreatment/PreTreatmentMainStack.qml (.../PreTreatmentMainStack.qml) (revision c0c63c4b149dafea2b02e4cd31f223e392ff7818) +++ sources/gui/qml/pages/pretreatment/PreTreatmentMainStack.qml (.../PreTreatmentMainStack.qml) (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) @@ -20,8 +20,9 @@ // Qml imports import "qrc:/globals" import "qrc:/components" -import "qrc:/pages/pretreatment/sample" +import "qrc:/pages/pretreatment/sample" // Water Sample import "qrc:/pages/pretreatment/consumables" +import "qrc:/pages/pretreatment/disposables" // No Cartridge SelfTest import "qrc:/pages/pretreatment/prime" /*! * \brief the pre treatment prime stack screen @@ -33,11 +34,8 @@ PreTreatmentSampleStack { id: _preTreatmentSampleStack } PreTreatmentConsumablesStack{ id: _preTreatmentConsumablesStack } - PreTreatmentPrime { id: _pretreatmentPrime - header.stepIndex: 4 - title.text: qsTr("Priming") - } - + PreTreatmentDisposablesStack{ id: _preTreatmentDisposablesStack } + PreTreatmentPrimeStack { id: _pretreatmentPrimeStack } PreTreatmentUltrafiltration { id: _pretreatmentUltrafiltration } Connections { target: vTreatmentAdjustmentUltrafiltrationInit @@ -59,19 +57,14 @@ onStartChanged : { if ( vstart ) { console.debug("vstart ")}} onWaterSampleChanged : { if ( vwaterSample ) { page( _preTreatmentSampleStack )}} onSelfTestConsumablesChanged: { if ( vselfTestConsumables ) { page( _preTreatmentConsumablesStack )}} - onSelfTestNoCartridgeChanged: { if ( vselfTestNoCartridge ) { console.debug("vselfTestNoCartridge")}} + onSelfTestNoCartridgeChanged: { if ( vselfTestNoCartridge ) { page( _preTreatmentDisposablesStack )}} onInstallationChanged : { if ( vinstallation ) { console.debug("vinstallation ")}} - onSelfTestDryChanged : { if ( vselfTestDry ) { console.debug("vselfTestDry ")}} - onPrimeChanged : { if ( vprime ) { page( _pretreatmentPrime )}} + onSelfTestDryChanged : { if ( vselfTestDry ) { page( _pretreatmentPrimeStack )}} + onPrimeChanged : { if ( vprime ) { console.debug("vprime ")}} onRecirculateChanged : { if ( vrecirculate ) { console.debug("vrecirculate ")}} onPatientConnectionChanged : { if ( vpatientConnection ) { console.debug("vpatientConnection ")}} } - Connections { target: _pretreatmentPrime - onBackClicked : {vTreatmentCreate.doRequestPop() } - onContinueClicked : {vTreatmentCreate.doFinishedPrime(); } - } - Connections { target: _pretreatmentUltrafiltration onBackClicked : {vTreatmentCreate.doRequestPop() } onStartClicked : {vTreatmentAdjustmentUltrafiltrationInit.doAdjustment(_pretreatmentUltrafiltration.ufVolume) } Index: sources/gui/qml/pages/pretreatment/consumables/PreTreatmentConsumablesInstallation.qml =================================================================== diff -u --- sources/gui/qml/pages/pretreatment/consumables/PreTreatmentConsumablesInstallation.qml (revision 0) +++ sources/gui/qml/pages/pretreatment/consumables/PreTreatmentConsumablesInstallation.qml (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) @@ -0,0 +1,58 @@ +/*! + * + * 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 PreTreatmentWaterSample.qml + * \author (last) Behrouz NematiPour + * \date (last) 11-Mar-2021 + * \author (original) Behrouz NematiPour + * \date (original) 11-Mar-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" +import "qrc:/compounds" +import "qrc:/pages/pretreatment" + +/*! + * \brief the pre treatment water sample screen + */ +PreTreatmentBase { id: _root + objectName: "_PreTreatmentWaterSample" + + signal samplePressed () + signal sampleReleased() + + header.confirmEnabeled: _instructionView.lastStep + InstructionView { id: _instructionView + stepNames: [ + ". Unlock pump track . Lock pump track", + "Insert cartridge using alignment pins", + "HD machine door open / HD machine door closed", + ] + stepImages: [ + "file:/home/denali/Projects/application/resources/NotAttachedTestImages/1.png", + "file:/home/denali/Projects/application/resources/NotAttachedTestImages/2.png", + "file:/home/denali/Projects/application/resources/NotAttachedTestImages/3.png", + ] + anchors.top: title.bottom + // anchors.bottom: _buttonRow.top + anchors.bottom: parent.bottom + anchors.bottomMargin: Variables.notificationHeight + 15 + } + + onVisibleChanged: { + if (visible) { + _mainMenu.hidden = true + } + } +} Index: sources/gui/qml/pages/pretreatment/consumables/PreTreatmentConsumablesSelfTest.qml =================================================================== diff -u -rc0c63c4b149dafea2b02e4cd31f223e392ff7818 -r22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb --- sources/gui/qml/pages/pretreatment/consumables/PreTreatmentConsumablesSelfTest.qml (.../PreTreatmentConsumablesSelfTest.qml) (revision c0c63c4b149dafea2b02e4cd31f223e392ff7818) +++ sources/gui/qml/pages/pretreatment/consumables/PreTreatmentConsumablesSelfTest.qml (.../PreTreatmentConsumablesSelfTest.qml) (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) @@ -29,6 +29,8 @@ PreTreatmentBase { id: _root objectName: "_PreTreatmentPrime" + + // TODO : this model (or in general this kind of state models) has to be moved to the C++. function resetModel() { if ( visible ) { for (let i = 0; i < vModel.count; i++) { @@ -38,7 +40,6 @@ } } } - ListModel { id: vModel ListElement { stepName : qsTr("Water Quality Check") @@ -57,12 +58,13 @@ } } + // TODO : this view should be a general Component which is setup by the model from C++ (currently the one above) ListView { id: _listView property int delegateWidth : 350 property int delegateHeight : 60 model: vModel - anchors.centerIn: _preTreatmentConsumablesSelfTest + anchors.centerIn: _root width : _listView.delegateWidth height : _listView.delegateHeight * model.count delegate: @@ -75,7 +77,7 @@ text : stepName anchors.fill: parent color : Colors.textMain - font.pixelSize: 20 + font.pixelSize: Fonts.fontPixelStateListText } Line { length : _delegate.width + 2 * linePad @@ -96,6 +98,18 @@ } } + Text { id: _completeText + visible: vPreTreatmentStates.selfTestConsumables_complete + anchors { + bottom: _root.bottom + bottomMargin: Variables.notificationHeight + 100 // notificationHeight is minimum bottom margin + horizontalCenter: _root.horizontalCenter + } + text: qsTr("Self Test Complete!") + color: Colors.textMain + font.pixelSize: Fonts.fontPixelNotification + } + Connections { target: vPreTreatmentStates onSelfTestConsumables_waterQualityEntered : { if ( vselfTestConsumables_waterQuality ) vModel.get(0).stepStart = true Index: sources/gui/qml/pages/pretreatment/consumables/PreTreatmentConsumablesStack.qml =================================================================== diff -u -rc0c63c4b149dafea2b02e4cd31f223e392ff7818 -r22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb --- sources/gui/qml/pages/pretreatment/consumables/PreTreatmentConsumablesStack.qml (.../PreTreatmentConsumablesStack.qml) (revision c0c63c4b149dafea2b02e4cd31f223e392ff7818) +++ sources/gui/qml/pages/pretreatment/consumables/PreTreatmentConsumablesStack.qml (.../PreTreatmentConsumablesStack.qml) (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) @@ -33,13 +33,13 @@ property int stackStepIndex : 2 - PreTreatmentBase { id: _preTreatmentConsumablesInstall + PreTreatmentConsumablesInstallation { id: _preTreatmentConsumablesInstall header.stepIndex : stackStepIndex header.confirmVisible : true title.text : qsTr("Consumables Installation") } - PreTreatmentConsumablesSelfTest { id: _preTreatmentConsumablesSelfTest + PreTreatmentConsumablesSelfTest { id: _preTreatmentConsumablesSelfTest header.stepIndex : stackStepIndex header.confirmVisible : vPreTreatmentStates.selfTestConsumables_complete title.text : qsTr("Consumables Self Test") Index: sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesCartridgeConnection.qml =================================================================== diff -u --- sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesCartridgeConnection.qml (revision 0) +++ sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesCartridgeConnection.qml (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) @@ -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 PreTreatmentDisposablesCartridgeConnection.qml.qml + * \author (last) Behrouz NematiPour + * \date (last) 15-Mar-2021 + * \author (original) Behrouz NematiPour + * \date (original) 15-Mar-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" +import "qrc:/compounds" +import "qrc:/pages/pretreatment" + +/*! + * \brief The Pre Treatment Disposables Cartridge Connection Screen + */ +PreTreatmentBase { id: _root + objectName: "_PreTreatmentDisposablesCartridgeConnection" + + header.confirmEnabeled: _instructionView.lastStep + InstructionView { id: _instructionView + stepNames: [ + ". Unlock pump track . Lock pump track", + "Insert cartridge using alignment pins", + "HD machine door open / HD machine door closed", + ] + stepImages: [ + "file:/home/denali/Projects/application/resources/NotAttachedTestImages/1.png", + "file:/home/denali/Projects/application/resources/NotAttachedTestImages/2.png", + "file:/home/denali/Projects/application/resources/NotAttachedTestImages/3.png", + ] + anchors.top: title.bottom + // anchors.bottom: _buttonRow.top + anchors.bottom: parent.bottom + anchors.bottomMargin: Variables.notificationHeight + 15 + } + + onVisibleChanged: { + if (visible) { + _mainMenu.hidden = true + } + } +} Index: sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesCartridgeInstallation.qml =================================================================== diff -u --- sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesCartridgeInstallation.qml (revision 0) +++ sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesCartridgeInstallation.qml (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) @@ -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 PreTreatmentDisposablesCartridgeInstallation.qml.qml + * \author (last) Behrouz NematiPour + * \date (last) 15-Mar-2021 + * \author (original) Behrouz NematiPour + * \date (original) 15-Mar-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" +import "qrc:/compounds" +import "qrc:/pages/pretreatment" + +/*! + * \brief The Pre Treatment Disposables Cartridge Installation Screen + */ +PreTreatmentBase { id: _root + objectName: "_PreTreatmentDisposablesCartridgeInstallation" + + header.confirmEnabeled: _instructionView.lastStep + InstructionView { id: _instructionView + stepNames: [ + ". Unlock pump track . Lock pump track", + "Insert cartridge using alignment pins", + "HD machine door open / HD machine door closed", + ] + stepImages: [ + "file:/home/denali/Projects/application/resources/NotAttachedTestImages/1.png", + "file:/home/denali/Projects/application/resources/NotAttachedTestImages/2.png", + "file:/home/denali/Projects/application/resources/NotAttachedTestImages/3.png", + ] + anchors.top: title.bottom + // anchors.bottom: _buttonRow.top + anchors.bottom: parent.bottom + anchors.bottomMargin: Variables.notificationHeight + 15 + } + + onVisibleChanged: { + if (visible) { + _mainMenu.hidden = true + } + } +} Index: sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesHeparinSyringe.qml =================================================================== diff -u --- sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesHeparinSyringe.qml (revision 0) +++ sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesHeparinSyringe.qml (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) @@ -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 PreTreatmentDisposablesHeparinSyringe.qml + * \author (last) Behrouz NematiPour + * \date (last) 15-Mar-2021 + * \author (original) Behrouz NematiPour + * \date (original) 15-Mar-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" +import "qrc:/compounds" +import "qrc:/pages/pretreatment" + +/*! + * \brief The Pre Treatment Disposables Heparin Syringe Screen + */ +PreTreatmentBase { id: _root + objectName: "_PreTreatmentDisposablesHeparinSyringe" + + header.confirmEnabeled: _instructionView.lastStep + InstructionView { id: _instructionView + stepNames: [ + ". Unlock pump track . Lock pump track", + "Insert cartridge using alignment pins", + "HD machine door open / HD machine door closed", + ] + stepImages: [ + "file:/home/denali/Projects/application/resources/NotAttachedTestImages/1.png", + "file:/home/denali/Projects/application/resources/NotAttachedTestImages/2.png", + "file:/home/denali/Projects/application/resources/NotAttachedTestImages/3.png", + ] + anchors.top: title.bottom + // anchors.bottom: _buttonRow.top + anchors.bottom: parent.bottom + anchors.bottomMargin: Variables.notificationHeight + 15 + } + + onVisibleChanged: { + if (visible) { + _mainMenu.hidden = true + } + } +} Index: sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesSalineBag.qml =================================================================== diff -u --- sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesSalineBag.qml (revision 0) +++ sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesSalineBag.qml (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) @@ -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 PreTreatmentDisposablesSalineBag.qml + * \author (last) Behrouz NematiPour + * \date (last) 15-Mar-2021 + * \author (original) Behrouz NematiPour + * \date (original) 15-Mar-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" +import "qrc:/compounds" +import "qrc:/pages/pretreatment" + +/*! + * \brief The Pre Treatment Disposables Saline Bag Screen + */ +PreTreatmentBase { id: _root + objectName: "_PreTreatmentDisposablesSalineBag" + + header.confirmEnabeled: _instructionView.lastStep + InstructionView { id: _instructionView + stepNames: [ + ". Unlock pump track . Lock pump track", + "Insert cartridge using alignment pins", + "HD machine door open / HD machine door closed", + ] + stepImages: [ + "file:/home/denali/Projects/application/resources/NotAttachedTestImages/1.png", + "file:/home/denali/Projects/application/resources/NotAttachedTestImages/2.png", + "file:/home/denali/Projects/application/resources/NotAttachedTestImages/3.png", + ] + anchors.top: title.bottom + // anchors.bottom: _buttonRow.top + anchors.bottom: parent.bottom + anchors.bottomMargin: Variables.notificationHeight + 15 + } + + onVisibleChanged: { + if (visible) { + _mainMenu.hidden = true + } + } +} Index: sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesSelfTest.qml =================================================================== diff -u --- sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesSelfTest.qml (revision 0) +++ sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesSelfTest.qml (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) @@ -0,0 +1,56 @@ +/*! + * + * 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 PreTreatmentPrime.qml + * \author (last) Behrouz NematiPour + * \date (last) 01-Mar-2021 + * \author (original) Peter Lucia + * \date (original) 03-Aug-2020 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" +import "qrc:/pages/pretreatment" + +/*! + * \brief Pre-Treatment priming screen + * \details which contains the priming timer and steps to let user know about the priming status. + */ +PreTreatmentBase { id: _root + objectName: "_PreTreatmentPrime" + + readonly property int minimum : 0 + readonly property int maximum : vDGFilterFlush.total + readonly property int progressValue : vDGFilterFlush.elapsed + readonly property int timeTextValue : vDGFilterFlush.remaining * 60 + + ProgressCircle { id: _circle + minimum: _root.minimum + maximum: _root.maximum + + anchors.centerIn : _root + value: _root.progressValue + } + + TimeText { id: _timeText + anchors.centerIn : parent + seconds : _root.timeTextValue + secondsVisible: false + } + + onVisibleChanged: { + if (visible) { + _mainMenu.hidden = true + } + } +} Index: sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesStack.qml =================================================================== diff -u --- sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesStack.qml (revision 0) +++ sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesStack.qml (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) @@ -0,0 +1,86 @@ +/*! + * + * 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 PreTreatmentSampleStack.qml + * \author (last) Behrouz NematiPour + * \date (last) 11-Mar-2021 + * \author (original) Behrouz NematiPour + * \date (original) 11-Mar-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" +import "qrc:/pages/pretreatment" +import "qrc:/pages/pretreatment/disposables" + +/*! + * \brief the pre-treatment disposables stack screen + */ +StackItem { id: _root + objectName: "_PreTreatmentDisposableStack" + + stackView.initialItem : null + + property int stackStepIndex : 3 + + PreTreatmentDisposablesSelfTest { id: _preTreatmentDisposablesSelfTest + title.text : qsTr("Disposables Self Test") + header.stepIndex : stackStepIndex + } + + PreTreatmentDisposablesCartridgeInstallation { id: _preTreatmentDisposablesCartridgeInstallation + title.text : qsTr("Cartridge Installation") + header.stepIndex : stackStepIndex + header.confirmVisible : true + header.confirmText.text : qsTr("NEXT") + onConfirmClicked : { page( _preTreatmentDisposablesCartridgeConnetion )} + + } + + PreTreatmentDisposablesCartridgeConnection { id: _preTreatmentDisposablesCartridgeConnetion + title.text : qsTr("Cartridge Connection") + header.stepIndex : stackStepIndex + header.confirmVisible : true + header.confirmText.text : qsTr("NEXT") + onConfirmClicked : { page( _preTreatmentDisposablesHeparinSyringe )} + } + + PreTreatmentDisposablesHeparinSyringe { id: _preTreatmentDisposablesHeparinSyringe + title.text : qsTr("Heparin Syringe") + header.stepIndex : stackStepIndex + header.confirmVisible : true + header.confirmText.text : qsTr("NEXT") + onConfirmClicked : { page( _preTreatmentDisposablesSalineBag )} + } + + PreTreatmentDisposablesSalineBag { id: _preTreatmentDisposablesSalineBag + title.text : qsTr("Saline Bag") + header.stepIndex : stackStepIndex + header.confirmVisible : true + header.confirmText.text : qsTr("CONFIRM") + onConfirmClicked : { } + } + + Connections { target: vPreTreatmentStates + onSelfTestNoCartridge_startChanged : { if ( vselfTestNoCartridge_start ) page( _preTreatmentDisposablesSelfTest )} + onInstallationChanged : { if ( vinstallation ) page( _preTreatmentDisposablesCartridgeInstallation )} + } + Connections { target: _preTreatmentDisposablesHeparinSyringe + } + + onVisibleChanged: { + if (visible) { + _mainMenu.hidden = true + } + } +} Index: sources/gui/qml/pages/pretreatment/prime/PreTreatmentDisposablesPrime.qml =================================================================== diff -u --- sources/gui/qml/pages/pretreatment/prime/PreTreatmentDisposablesPrime.qml (revision 0) +++ sources/gui/qml/pages/pretreatment/prime/PreTreatmentDisposablesPrime.qml (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) @@ -0,0 +1,134 @@ +/*! + * + * 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 PreTreatmentPrime.qml + * \author (last) Behrouz NematiPour + * \date (last) 01-Mar-2021 + * \author (original) Peter Lucia + * \date (original) 03-Aug-2020 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" +import "qrc:/pages/pretreatment" + +/*! + * \brief Pre-Treatment priming screen + * \details which contains the priming timer and steps to let user know about the priming status. + */ +PreTreatmentBase { id: _root + objectName: "_PreTreatmentPrime" + + + // TODO : this model (or in general this kind of state models) has to be moved to the C++. + function resetModel() { + if ( visible ) { + for (let i = 0; i < vModel.count; i++) { + let model = vModel.get(i) + model.stepStart = false + model.stepDone = false + } + } + } + ListModel { id: vModel + ListElement { + stepName : qsTr("Water Quality Check") + stepStart : false + stepDone : false + } + ListElement { + stepName : qsTr("BiCarb Pump Check") + stepStart : false + stepDone : false + } + ListElement { + stepName : qsTr("Acid Pump Check") + stepStart : false + stepDone : false + } + } + + // TODO : this view should be a general Component which is setup by the model from C++ (currently the one above) + ListView { id: _listView + property int delegateWidth : 350 + property int delegateHeight : 60 + + model: vModel + anchors.centerIn: _root + width : _listView.delegateWidth + height : _listView.delegateHeight * model.count + delegate: + Item { id: _delegate + property int linePad: 15 + width : _listView.delegateWidth + height : _listView.delegateHeight + Text { id: _stepText + verticalAlignment: Text.AlignVCenter + text : stepName + anchors.fill: parent + color : Colors.textMain + font.pixelSize: Fonts.fontPixelStateListText + } + Line { + length : _delegate.width + 2 * linePad + thickness : 2 + anchors { + bottom : _delegate.bottom + left : _delegate.left + leftMargin : -linePad + } + } + WaitDone { id: _waitDone + anchors.verticalCenter: _delegate.verticalCenter + anchors.right: _delegate.right + diameter: _delegate.height * 0.5 + visible : stepStart + done : stepDone + } + } + } + + Text { id: _completeText + visible: vPreTreatmentStates.selfTestConsumables_complete + anchors { + bottom: _root.bottom + bottomMargin: Variables.notificationHeight + 100 // notificationHeight is minimum bottom margin + horizontalCenter: _root.horizontalCenter + } + text: qsTr("Self Test Complete!") + color: Colors.textMain + font.pixelSize: Fonts.fontPixelNotification + } + + Connections { target: vPreTreatmentStates + onSelfTestConsumables_waterQualityEntered : { + if ( vselfTestConsumables_waterQuality ) vModel.get(0).stepStart = true + else vModel.get(0).stepDone = true + } + onSelfTestConsumables_biCarbPumpEntered : { + if (vselfTestConsumables_biCarbPump ) vModel.get(1).stepStart = true + else vModel.get(1).stepDone = true + } + onSelfTestConsumables_acidPumpEntered : { + if (vselfTestConsumables_acidPump ) vModel.get(2).stepStart = true + else vModel.get(2).stepDone = true + } + } + + onVisibleChanged: { + resetModel() + if (visible) { + _mainMenu.hidden = true + } + } +} Index: sources/gui/qml/pages/pretreatment/prime/PreTreatmentDrySelfTest.qml =================================================================== diff -u --- sources/gui/qml/pages/pretreatment/prime/PreTreatmentDrySelfTest.qml (revision 0) +++ sources/gui/qml/pages/pretreatment/prime/PreTreatmentDrySelfTest.qml (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) @@ -0,0 +1,94 @@ +/*! + * + * 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 PreTreatmentDrySelfTest.qml + * \author (last) Behrouz NematiPour + * \date (last) 15-Mar-2021 + * \author (original) Behrouz NematiPour + * \date (original) 15-Mar-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" +import "qrc:/compounds" +import "qrc:/pages/pretreatment" +/*! + * \brief The Pre Treatment Dry Self Test Screen + * \details which contains the priming timer and steps to let user know about the priming status. + */ +PreTreatmentBase { id: _root + objectName: "PreTreatmentDrySelfTest" + + property alias stepNames : _checkListView.stepNames + property alias completeMargin : _checkListView.completeMargin + + readonly property bool isComplete : vPreTreatmentStates.selfTestDry_complete + readonly property int minimum : 0 + readonly property int maximum : 0 // vDGFilterFlush.total + readonly property int progressValue : 0 // vDGFilterFlush.elapsed + readonly property int timeTextValue : 0 // vDGFilterFlush.remaining * 60 + + ProgressCircle { id: _progressCircle + minimum: _root.minimum + maximum: _root.maximum + + diameter : Variables.progressCircleSmallDiameter + anchors.top : title.bottom + anchors.topMargin: 25 + anchors.horizontalCenter: _root.horizontalCenter + value: _root.progressValue + + TimeText { id: _timeText + opacity : _root.isComplete ? 0 : 1 + Behavior on opacity { OpacityAnimator { duration: 1200 } } + anchors.centerIn: parent + seconds : _root.timeTextValue + secondsVisible : false + textPixelSize : Fonts.fontPixelSmallCirclProgressTime + } + + Image { id: _image + opacity : _root.isComplete ? 1 : 0 + Behavior on opacity { OpacityAnimator { duration: 1200 } } + anchors.centerIn: parent + source : "qrc:/images/iCheck" + } + } + + CheckListView { id: _checkListView + completeVisible : _root.isComplete + anchors.top : _progressCircle.bottom + anchors.topMargin : 25 + anchors.horizontalCenter: _root.horizontalCenter + } + + Connections { target: vPreTreatmentStates + onSelfTestDry_startChanged : {} + onSelfTestDry_waitDoorCloseChanged : {} + onSelfTestDry_bubbleDetectorEntered : { _checkListView.setModel( 0, vselfTestDry_bubbleDetector )} + onSelfTestDry_airTrapEntered : { _checkListView.setModel( 1, vselfTestDry_airTrap )} + onSelfTestDry_occlusionSensorsEntered : { _checkListView.setModel( 2, vselfTestDry_occlusionSensors )} + onSelfTestDry_pressureSensorsSetupEntered : { _checkListView.setModel( 3, true )} + onSelfTestDry_pressureSensorsEntered : {} + onSelfTestDry_pressureSensorsNormalEntered : { _checkListView.setModel( 3, false )} + onSelfTestDry_stoppedEntered : {} + onSelfTestDry_completeEntered : {} + } + + onVisibleChanged: { + _checkListView.resetModel() + if (visible) { + _mainMenu.hidden = true + } + } +} Fisheye: Tag 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/prime/PreTreatmentPrime.qml'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/gui/qml/pages/pretreatment/prime/PreTreatmentPrimeStack.qml =================================================================== diff -u --- sources/gui/qml/pages/pretreatment/prime/PreTreatmentPrimeStack.qml (revision 0) +++ sources/gui/qml/pages/pretreatment/prime/PreTreatmentPrimeStack.qml (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) @@ -0,0 +1,76 @@ +/*! + * + * 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 PreTreatmentPrimeStack.qml + * \author (last) Behrouz NematiPour + * \date (last) 15-Mar-2021 + * \author (original) Behrouz NematiPour + * \date (original) 15-Mar-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" +import "qrc:/pages/pretreatment" +import "qrc:/pages/pretreatment/prime" + +/*! + * \brief The Pre Tretreatment Prime Stack Screen + */ +StackItem { id: _root + objectName: "_PreTreatmentPrimeStack" + + stackView.initialItem : null + + property int stackStepIndex : 4 + + PreTreatmentDrySelfTest { id: _preTreatmentDrySelfTest + header.stepIndex : stackStepIndex + header.confirmVisible : true + header.confirmEnabeled : vPreTreatmentStates.selfTestDry_complete + title.text : qsTr("Begin Prime") + stepNames: [ + qsTr("Bubble Detector") , + qsTr("Air Trap") , + qsTr("Occolusion Sensors") , + qsTr("Pressure Sensors") , + ] + } + + PreTreatmentDisposablesPrime { id: _preTreatmentDisposablesPrime + header.stepIndex : stackStepIndex + header.confirmVisible : true + header.confirmEnabeled : vPreTreatmentStates.prime_complete + title.text : qsTr("Priming") + } + + Connections { target: vPreTreatmentStates + onSelfTestDryChanged : { if ( vselfTestDry ) { page( _preTreatmentDrySelfTest )}} + onPrimeChanged : { if ( vprime ) { page( _preTreatmentDisposablesPrime )}} + } + + Connections { target: _preTreatmentDrySelfTest + onConfirmClicked : {} + } + + Connections { target: _preTreatmentDisposablesPrime + onConfirmClicked : {} + onBackClicked : {vTreatmentCreate.doRequestPop() } + //onContinueClicked : {vTreatmentCreate.doFinishedPrime(); } + } + + onVisibleChanged: { + if (visible) { + _mainMenu.hidden = true + } + } +} Index: sources/gui/qml/pages/pretreatment/sample/PreTreatmentResultFail.qml =================================================================== diff -u -rc0c63c4b149dafea2b02e4cd31f223e392ff7818 -r22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb --- sources/gui/qml/pages/pretreatment/sample/PreTreatmentResultFail.qml (.../PreTreatmentResultFail.qml) (revision c0c63c4b149dafea2b02e4cd31f223e392ff7818) +++ sources/gui/qml/pages/pretreatment/sample/PreTreatmentResultFail.qml (.../PreTreatmentResultFail.qml) (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) @@ -20,6 +20,7 @@ // Qml imports import "qrc:/globals" import "qrc:/components" +import "qrc:/compounds" import "qrc:/pages/pretreatment" /*! @@ -30,6 +31,24 @@ signal endTreatmentClicked + header.confirmEnabeled: _instructionView.lastStep + InstructionView { id: _instructionView + stepNames: [ + ". Unlock pump track . Lock pump track", + "Insert cartridge using alignment pins", + "HD machine door open / HD machine door closed", + ] + stepImages: [ + "file:/home/denali/Projects/application/resources/NotAttachedTestImages/1.png", + "file:/home/denali/Projects/application/resources/NotAttachedTestImages/2.png", + "file:/home/denali/Projects/application/resources/NotAttachedTestImages/3.png", + ] + anchors.top: title.bottom + anchors.bottom: _buttonRow.top + // anchors.bottom: parent.bottom + // anchors.bottomMargin: Variables.notificationHeight + 15 + } + Row { id: _buttonRow spacing : _root.width / 3 // 1 button + 2 space anchors.horizontalCenter: parent.horizontalCenter Index: sources/gui/qml/pages/pretreatment/sample/PreTreatmentSampleResult.qml =================================================================== diff -u -rc0c63c4b149dafea2b02e4cd31f223e392ff7818 -r22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb --- sources/gui/qml/pages/pretreatment/sample/PreTreatmentSampleResult.qml (.../PreTreatmentSampleResult.qml) (revision c0c63c4b149dafea2b02e4cd31f223e392ff7818) +++ sources/gui/qml/pages/pretreatment/sample/PreTreatmentSampleResult.qml (.../PreTreatmentSampleResult.qml) (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) @@ -20,6 +20,7 @@ // Qml imports import "qrc:/globals" import "qrc:/components" +import "qrc:/compounds" import "qrc:/pages/pretreatment" /*! @@ -31,6 +32,24 @@ signal passClicked signal failClicked + header.confirmEnabeled: _instructionView.lastStep + InstructionView { id: _instructionView + stepNames: [ + ". Unlock pump track . Lock pump track", + "Insert cartridge using alignment pins", + "HD machine door open / HD machine door closed", + ] + stepImages: [ + "file:/home/denali/Projects/application/resources/NotAttachedTestImages/1.png", + "file:/home/denali/Projects/application/resources/NotAttachedTestImages/2.png", + "file:/home/denali/Projects/application/resources/NotAttachedTestImages/3.png", + ] + anchors.top: title.bottom + anchors.bottom: _buttonRow.top + // anchors.bottom: parent.bottom + // anchors.bottomMargin: Variables.notificationHeight + 15 + } + Row { id: _buttonRow spacing : _root.width / 5 // 2 button + 3 space anchors.horizontalCenter: parent.horizontalCenter Index: sources/gui/qml/pages/pretreatment/sample/PreTreatmentWaterSample.qml =================================================================== diff -u -r526137b088b43e51868cb241ce70b3cf52febae8 -r22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb --- sources/gui/qml/pages/pretreatment/sample/PreTreatmentWaterSample.qml (.../PreTreatmentWaterSample.qml) (revision 526137b088b43e51868cb241ce70b3cf52febae8) +++ sources/gui/qml/pages/pretreatment/sample/PreTreatmentWaterSample.qml (.../PreTreatmentWaterSample.qml) (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) @@ -32,7 +32,8 @@ signal samplePressed () signal sampleReleased() - InstructionView { + header.confirmEnabeled: _instructionView.lastStep + InstructionView { id: _instructionView stepNames: [ ". Unlock pump track . Lock pump track", "Insert cartridge using alignment pins", Index: sources/view/hd/data/VPreTreatmentStatesData.h =================================================================== diff -u -rc0c63c4b149dafea2b02e4cd31f223e392ff7818 -r22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb --- sources/view/hd/data/VPreTreatmentStatesData.h (.../VPreTreatmentStatesData.h) (revision c0c63c4b149dafea2b02e4cd31f223e392ff7818) +++ sources/view/hd/data/VPreTreatmentStatesData.h (.../VPreTreatmentStatesData.h) (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) @@ -96,14 +96,14 @@ // Self tests dry state PROPERTY( bool , selfTestDry_start , false ) ///< DRY_SELF_TESTS_START_STATE , Dry self-tests starting state. PROPERTY( bool , selfTestDry_waitDoorClose , false ) ///< DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE , Wait for door to close before executing self-tests. - PROPERTY( bool , selfTestDry_bubbleDetector , false ) ///< DRY_SELF_TESTS_BUBBLE_DETECTOR_STATE , Bubble detectors dry self-test state. - PROPERTY( bool , selfTestDry_airTrap , false ) ///< DRY_SELF_TESTS_AIR_TRAP_STATE , Air trap fill level ultrasonic sensor dry self-test state. - PROPERTY( bool , selfTestDry_occlusionSensors , false ) ///< DRY_SELF_TESTS_OCCLUSION_SENSORS_STATE , Occlusion sensors dry self-test state. - PROPERTY( bool , selfTestDry_pressureSensorsSetup , false ) ///< DRY_SELF_TESTS_PRESSURE_SENSORS_SETUP_STATE , Pressure sensors dry self-test setup valves and pump state. - PROPERTY( bool , selfTestDry_pressureSensors , false ) ///< DRY_SELF_TESTS_PRESSURE_SENSORS_STATE , Pressure sensors verify pressure readings state. - PROPERTY( bool , selfTestDry_pressureSensorsNormal , false ) ///< DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_STATE , Pressure sensors verify normal pressure readings state. - PROPERTY( bool , selfTestDry_stopped , false ) ///< DRY_SELF_TESTS_STOPPED_STATE , Dry self-test stopped state. - PROPERTY( bool , selfTestDry_complete , false ) ///< DRY_SELF_TESTS_COMPLETE_STATE , Dry self-test complete state. + STATE ( bool , selfTestDry_bubbleDetector , false ) ///< DRY_SELF_TESTS_BUBBLE_DETECTOR_STATE , Bubble detectors dry self-test state. + STATE ( bool , selfTestDry_airTrap , false ) ///< DRY_SELF_TESTS_AIR_TRAP_STATE , Air trap fill level ultrasonic sensor dry self-test state. + STATE ( bool , selfTestDry_occlusionSensors , false ) ///< DRY_SELF_TESTS_OCCLUSION_SENSORS_STATE , Occlusion sensors dry self-test state. + STATE ( bool , selfTestDry_pressureSensorsSetup , false ) ///< DRY_SELF_TESTS_PRESSURE_SENSORS_SETUP_STATE , Pressure sensors dry self-test setup valves and pump state. + STATE ( bool , selfTestDry_pressureSensors , false ) ///< DRY_SELF_TESTS_PRESSURE_SENSORS_STATE , Pressure sensors verify pressure readings state. + STATE ( bool , selfTestDry_pressureSensorsNormal , false ) ///< DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_STATE , Pressure sensors verify normal pressure readings state. + STATE ( bool , selfTestDry_stopped , false ) ///< DRY_SELF_TESTS_STOPPED_STATE , Dry self-test stopped state. + STATE ( bool , selfTestDry_complete , false ) ///< DRY_SELF_TESTS_COMPLETE_STATE , Dry self-test complete state. // Prime blood and dialysate circuits and run wet self-tests state PROPERTY( bool , prime_start , false ) ///< HD_PRIME_START_STATE , Prime start state