Index: denali.pro.user =================================================================== diff -u -r22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb -rdb2238dcf17941be6a3c587b55a3ef06b94cee96 --- denali.pro.user (.../denali.pro.user) (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) +++ denali.pro.user (.../denali.pro.user) (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) @@ -1,6 +1,6 @@ - + EnvironmentId Index: denali.qrc =================================================================== diff -u -r22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb -rdb2238dcf17941be6a3c587b55a3ef06b94cee96 --- denali.qrc (.../denali.qrc) (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) +++ denali.qrc (.../denali.qrc) (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) @@ -93,19 +93,19 @@ sources/gui/qml/components/ImageWave.qml sources/gui/qml/components/ImageClock.qml sources/gui/qml/components/ImageLogoDDarkTransparent.qml - sources/gui/qml/components/PrimingTimer.qml sources/gui/qml/components/ConfirmTreatmentTableEntry.qml sources/gui/qml/components/DebugDataColumn.qml - sources/gui/qml/components/CheckListItem.qml sources/gui/qml/components/RangeSlider.qml sources/gui/qml/components/MuteButton.qml sources/gui/qml/components/UpDownButton.qml sources/gui/qml/components/ImageText.qml sources/gui/qml/components/WaitDone.qml + sources/gui/qml/components/TimeCircle.qml + sources/gui/qml/components/Footer.qml sources/gui/qml/compounds/PressureRangeSlider.qml - sources/gui/qml/compounds/PreTreatmentTitleBar.qml + sources/gui/qml/compounds/StepNavigationTitleBar.qml sources/gui/qml/compounds/InstructionView.qml sources/gui/qml/compounds/CheckListView.qml @@ -130,36 +130,17 @@ sources/gui/qml/pages/pretreatment/PreTreatmentBase.qml sources/gui/qml/pages/pretreatment/PreTreatmentMainStack.qml + sources/gui/qml/pages/pretreatment/PreTreatmentWaterSampleStack.qml + sources/gui/qml/pages/pretreatment/PreTreatmentConsumablesStack.qml + sources/gui/qml/pages/pretreatment/PreTreatmentDisposablesStack.qml sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateStack.qml sources/gui/qml/pages/pretreatment/create/PreTreatmentCreate.qml sources/gui/qml/pages/pretreatment/create/PreTreatmentConfirm.qml - - sources/gui/qml/pages/pretreatment/sample/PreTreatmentSampleStack.qml - sources/gui/qml/pages/pretreatment/sample/PreTreatmentFilterFlush.qml - sources/gui/qml/pages/pretreatment/sample/PreTreatmentSampleResult.qml - sources/gui/qml/pages/pretreatment/sample/PreTreatmentWaterSample.qml - sources/gui/qml/pages/pretreatment/sample/PreTreatmentResultFail.qml - - - 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 Index: sources/gui/qml/components/Circle.qml =================================================================== diff -u -r56e378f7504701b9e9a9dccaf205aef2fd52c58e -rdb2238dcf17941be6a3c587b55a3ef06b94cee96 --- sources/gui/qml/components/Circle.qml (.../Circle.qml) (revision 56e378f7504701b9e9a9dccaf205aef2fd52c58e) +++ sources/gui/qml/components/Circle.qml (.../Circle.qml) (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) @@ -37,7 +37,7 @@ property alias angle : _arc.sweepAngle property alias startAngle : _arc.startAngle - property real diameter : 350 + property real diameter : Variables.circleNormalDiameter width : diameter height : diameter Index: sources/gui/qml/components/Footer.qml =================================================================== diff -u --- sources/gui/qml/components/Footer.qml (revision 0) +++ sources/gui/qml/components/Footer.qml (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) @@ -0,0 +1,35 @@ +/*! + * + * 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 BackButton.qml + * \author (last) Behrouz NematiPour + * \date (last) 17-Mar-2021 + * \author (original) Behrouz NematiPour + * \date (original) 17-Mar-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" + +/*! + * \brief Denali project Footer section which gives all the children same width with same spacing, aligned in center + */ +Row { id: _root + readonly property int splits: _root.width / (children.length * 2 + 1 ) + + spacing : _root.splits + rightPadding : spacing + leftPadding : spacing + width : parent.width + anchors.bottom : parent.bottom + anchors.bottomMargin: Variables.notificationHeight + Variables.minVGap +} Index: sources/gui/qml/components/ProgressCircle.qml =================================================================== diff -u -rccb91da4becded9a7ad409b758bba96784d9feba -rdb2238dcf17941be6a3c587b55a3ef06b94cee96 --- sources/gui/qml/components/ProgressCircle.qml (.../ProgressCircle.qml) (revision ccb91da4becded9a7ad409b758bba96784d9feba) +++ sources/gui/qml/components/ProgressCircle.qml (.../ProgressCircle.qml) (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) @@ -28,6 +28,7 @@ property int maximum : 0 property int value : minimum property alias diameter : _circle.diameter + property alias thickness :_circle.thickness width : _circle.width height : _circle.height Index: sources/gui/qml/components/StepIndicator.qml =================================================================== diff -u -r526137b088b43e51868cb241ce70b3cf52febae8 -rdb2238dcf17941be6a3c587b55a3ef06b94cee96 --- sources/gui/qml/components/StepIndicator.qml (.../StepIndicator.qml) (revision 526137b088b43e51868cb241ce70b3cf52febae8) +++ sources/gui/qml/components/StepIndicator.qml (.../StepIndicator.qml) (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) @@ -57,7 +57,7 @@ else stepNamesFirst = "" stepNamesRest = [] } - console.debug(_root.stepNames, stepNamesFirst, stepNamesRest) + // DEBUG: console.debug(_root.stepNames, stepNamesFirst, stepNamesRest) } } Index: sources/gui/qml/components/TimeCircle.qml =================================================================== diff -u --- sources/gui/qml/components/TimeCircle.qml (revision 0) +++ sources/gui/qml/components/TimeCircle.qml (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) @@ -0,0 +1,68 @@ +/*! + * + * 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 TimeCircle.qml + * \author (last) Behrouz NematiPour + * \date (last) 16-Mar-2021 + * \author (original) Behrouz NematiPour + * \date (original) 16-Mar-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" + +/*! + * \brief Time Circle Component + * \details which contails a TimeText and ProgressCircle + * Progress is connected to the time and will show time remained progress. + * Time shows the time in minutes and seconds. + */ +Item { id: _root + objectName: "_TimeCircle" + + property alias diameter: _progressCircle.diameter + property alias thickness: _progressCircle.thickness + + property bool isChecked : false // isComplete + property int minimum : 0 + property int maximum : 0 // total + property int progressValue : 0 // elapsed + property int timeTextValue : 0 // remaining + property alias timeTextPixelSize : _timeText.textPixelSize + property alias secondsVisible : _timeText.secondsVisible + + width : diameter + height : diameter + + ProgressCircle { id: _progressCircle + minimum : _root.minimum + maximum : _root.maximum + anchors.centerIn: parent + value : _root.progressValue + + TimeText { id: _timeText + Behavior on opacity { OpacityAnimator { duration: 1000 } } + opacity : _root.isChecked ? 0 : 1 + anchors.centerIn: parent + seconds : _root.timeTextValue + secondsVisible : false + } + + Image { id: _image + Behavior on opacity { OpacityAnimator { duration: 1000 } } + opacity : _root.isChecked ? 1 : 0 + anchors.centerIn: parent + source : "qrc:/images/iCheck" + } + } +} Index: sources/gui/qml/compounds/CheckListView.qml =================================================================== diff -u -r22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb -rdb2238dcf17941be6a3c587b55a3ef06b94cee96 --- sources/gui/qml/compounds/CheckListView.qml (.../CheckListView.qml) (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) +++ sources/gui/qml/compounds/CheckListView.qml (.../CheckListView.qml) (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) @@ -31,10 +31,10 @@ property var stepNames : [] property int completeMargin : 50 property alias completeVisible : _completeText.visible - property int delegateWidth : 350 - property int delegateHeight : 60 + property int delegateWidth : Variables.checkListViewItemWidth + property int delegateHeight : Variables.checkListViewItemHeight - function resetModel() { + function resetItems() { if ( visible ) { for (let i = 0; i < _listView.count; i++) { let model = _listView.itemAt(i) @@ -43,14 +43,14 @@ } } } - function setModel(vIndex, vEntered) { + function setItem(vIndex, vEntered) { let model = _listView.itemAt(vIndex) if ( vEntered ) model.stepStart = true else model.stepDone = true } width : _root.delegateWidth - height : _root.delegateHeight * _listView.count + height : _root.delegateHeight * _root.stepNames.length Column { anchors.centerIn: _root Index: sources/gui/qml/compounds/InstructionView.qml =================================================================== diff -u -r22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb -rdb2238dcf17941be6a3c587b55a3ef06b94cee96 --- sources/gui/qml/compounds/InstructionView.qml (.../InstructionView.qml) (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) +++ sources/gui/qml/compounds/InstructionView.qml (.../InstructionView.qml) (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) @@ -30,18 +30,16 @@ 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 currentStepIndex: _swipeview.currentIndex + readonly property bool firstStep : _swipeview.currentIndex == 0 + readonly property bool lastStep : _swipeview.currentIndex == _swipeview.count - 1 - readonly property int frameGap : 47 - readonly property int chevronWidth : 25 - readonly property int chevronHeight : 35 - readonly property int chevronMargin : ( _root.frameGap - _root.chevronWidth ) / 2 - readonly property int outerRadius : 10 - readonly property int outerHMargin : 30 - readonly property int outerVMargin : 15 - readonly property int innerRadius : 5 + readonly property int frameGap : 47 + readonly property int chevronWidth : 25 + readonly property int chevronHeight : 35 + readonly property int chevronMargin : ( _root.frameGap - _root.chevronWidth ) / 2 + readonly property int outerRadius : 10 + readonly property int innerRadius : 5 signal leftClicked () signal rightClicked() @@ -50,15 +48,6 @@ border.color : Colors.borderButton radius : _root.outerRadius - anchors { - left : parent.left - right : parent.right - leftMargin : _root.outerHMargin - rightMargin : _root.outerHMargin - topMargin : _root.outerVMargin - bottomMargin : _root.outerVMargin - } - Text { id: _message color : Colors.textMain text : _root.stepNames[_swipeview.currentIndex] Fisheye: Tag db2238dcf17941be6a3c587b55a3ef06b94cee96 refers to a dead (removed) revision in file `sources/gui/qml/compounds/PreTreatmentTitleBar.qml'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/gui/qml/compounds/StepNavigationTitleBar.qml =================================================================== diff -u --- sources/gui/qml/compounds/StepNavigationTitleBar.qml (revision 0) +++ sources/gui/qml/compounds/StepNavigationTitleBar.qml (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) @@ -0,0 +1,68 @@ +/*! + * + * 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 StepNavigationTitleBar.qml + * \author (last) Behrouz NematiPour + * \date (last) 17-Mar-2021 + * \author (original) Behrouz NematiPour + * \date (original) 10-Mar-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" + +/*! + * \brief StepNavigationTitleBar + */ +Rectangle { id: _root + property alias stepIndex : _stepIndicator.currentStepIndex + property alias backVisible : _backButton .visible + property alias backEnabeled : _backButton .enabled + property alias confirmVisible : _confirmButton.visible + property alias confirmEnabeled : _confirmButton.enabled + property alias confirmText : _confirmButton.text + property alias stepNames : _stepIndicator.stepNames + + height : Variables.topBarMenuHeight + color : Colors.backgroundMain + + signal backClicked() + signal confirmClicked() + + BackButton { id : _backButton + objectName: "_backButton" + visible: false + enabled: true + anchors { + top : _root.top + left : _root.left + } + onClicked: _root.backClicked() + } + + ConfirmButton { id : _confirmButton + objectName: "_confirmButton" + visible: false + enabled: true + anchors { + left : undefined + top : parent.top + right : parent.right + } + onClicked: _root.confirmClicked() + } + + StepIndicator { id: _stepIndicator + anchors.centerIn: parent + } +} Index: sources/gui/qml/globals/Fonts.qml =================================================================== diff -u -r22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb -rdb2238dcf17941be6a3c587b55a3ef06b94cee96 --- sources/gui/qml/globals/Fonts.qml (.../Fonts.qml) (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) +++ sources/gui/qml/globals/Fonts.qml (.../Fonts.qml) (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) @@ -61,7 +61,8 @@ readonly property int fontPixelDurationAdjTime : 28 readonly property int fontPixelStateListText : 20 - readonly property int fontPixelSmallCirclProgressTime : 22 + readonly property int fontPixelCirclProgressTimeSmall : 22 + readonly property int fontPixelCirclProgressTimeNormal : 90 readonly property int fontPixelUltrafiltrationAdjustmentButton : 26 readonly property int fontPixelUltrafiltrationAdjustmentButtonL : 30 Index: sources/gui/qml/globals/Variables.qml =================================================================== diff -u -r22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb -rdb2238dcf17941be6a3c587b55a3ef06b94cee96 --- sources/gui/qml/globals/Variables.qml (.../Variables.qml) (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) +++ sources/gui/qml/globals/Variables.qml (.../Variables.qml) (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) @@ -33,6 +33,8 @@ readonly property int mainMenuHeight : 70 + readonly property int minVGap : 15 + readonly property int logoWidth : 50 readonly property int logoHeight : 50 @@ -75,7 +77,9 @@ readonly property int progressbarRectHeight : 50 readonly property int progressbarRectWidth : 620 - readonly property int progressCircleSmallDiameter : 100 + readonly property int circleNormalDiameter : 350 + readonly property int progressCircleDiameterNormal : circleNormalDiameter + readonly property int progressCircleDiameterSmall : 100 readonly property int opacityAnimationDuration : 1200 readonly property int sliderTextMargin : 20 @@ -84,6 +88,9 @@ readonly property int notificationHeight : 60 readonly property int notificationIconSize : 36 + readonly property int checkListViewItemWidth : 350 + readonly property int checkListViewItemHeight : 60 + readonly property int backIconDiameter : 17 readonly property int pauseIconDiameter : 60 Index: sources/gui/qml/pages/MainStack.qml =================================================================== diff -u -rc0c63c4b149dafea2b02e4cd31f223e392ff7818 -rdb2238dcf17941be6a3c587b55a3ef06b94cee96 --- sources/gui/qml/pages/MainStack.qml (.../MainStack.qml) (revision c0c63c4b149dafea2b02e4cd31f223e392ff7818) +++ sources/gui/qml/pages/MainStack.qml (.../MainStack.qml) (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) @@ -38,7 +38,7 @@ // Pre Treatment PreTreatmentCreateStack { id: _preTreatmentCreateStack } PreTreatmentMainStack { id: _preTreatmentMainStack } - + // In TreatmentStack TreatmentStack { id: _treatmentStack // please be careful about the _root.pop. // since TreatmentStack is a stack, just calling a pop will call the pop function of the TreatmentStack not MainStack. @@ -61,7 +61,7 @@ onFaultChanged : { if ( vfault ) { /* this is one way navigation, no getting back or out */ }} onServiceChanged : { if ( vservice ) { /* this is one way navigation, no getting back or out */ }} onInitChanged : { if ( vinit ) { /* this is one way navigation, no getting back or out */ }} - onStandbyChanged : { if ( vstandby ) { pop ( _mainHome )}} // this is a reset + onStandbyChanged : { if ( vstandby ) { page( _mainHome )}} onValidateParametersChanged : { if ( vvalidateParameters) { page( _preTreatmentCreateStack )}} onPreTreatmentChanged : { if ( vpreTreatment ) { page( _preTreatmentMainStack )}} onInTreatmentChanged : { if ( vinTreatment ) { page( _treatmentStack )}} Index: sources/gui/qml/pages/pretreatment/PreTreatmentBase.qml =================================================================== diff -u -rfa1b7c7d5ca98b991168bacc0bab1e9614ed39b6 -rdb2238dcf17941be6a3c587b55a3ef06b94cee96 --- sources/gui/qml/pages/pretreatment/PreTreatmentBase.qml (.../PreTreatmentBase.qml) (revision fa1b7c7d5ca98b991168bacc0bab1e9614ed39b6) +++ sources/gui/qml/pages/pretreatment/PreTreatmentBase.qml (.../PreTreatmentBase.qml) (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) @@ -28,22 +28,56 @@ ScreenItem { id: _root objectName: "_PreTreatmentBase" - property alias reasonText : _notification.text - property alias header : _titleBar - property alias title : _titleText + property alias reasonText : _notification.text + property alias header : _titleBar + property alias title : _titleText + property alias footer : _footer + property bool instructionBased : false + readonly property alias instruction : _instructionLoader.item + property var instructionStepNames : [] + property var instructionStepImages : [] + + property bool hasTimeCircle : false + readonly property alias timeCircle : _timeCircleLoader.item + property bool timeCircleisChecked : false + property int timeCircleMinimum : 0 + property int timeCircleMaximum : 0 + property int timeCircleProgressValue : 0 + property int timeCircleTimeTextValue : 0 + + property bool hasCheckList : false + readonly property alias checkList : _checkListLoader.item + property var checkListStepNames : [] + property int checkListCompleteMargin : 50 + + property bool isComplete : false + readonly property int titleTopMargin: 110 signal backClicked() signal confirmClicked() - PreTreatmentTitleBar { id: _titleBar - stepIndex: 0 + // vvvvvvvvvvvvvvvvvvvvvvvvv HEADER vvvvvvvvvvvvvvvvvvvvvvvvv // + StepNavigationTitleBar { id: _titleBar + stepIndex : stackStepIndex // shall be defined in the parent stack anchors.top : _root.top anchors.horizontalCenter : parent.horizontalCenter width : _root.width - onBackClicked : _root.backClicked(); - onConfirmClicked : _root.confirmClicked() + confirmEnabeled : instruction ? instruction.lastStep : true + stepNames: [ + qsTr("Create" ), + qsTr("Sample" ), + qsTr("Consumables" ), + qsTr("Disposables" ), + qsTr("Prime" ), + qsTr("Ultrafiltration" ), + qsTr("BP/HR" ), + qsTr("Connection" ), + qsTr("Start" ), + ] + onBackClicked : _root.backClicked() + onConfirmClicked: _root.confirmClicked() } Text { id: _titleText @@ -52,16 +86,79 @@ topMargin : titleTopMargin horizontalCenter: parent.horizontalCenter } - text: qsTr("PreTreatmentBase") - color: Colors.textMain - font.pixelSize: Fonts.fontPixelTitle + text : qsTr("PreTreatmentBase") + color : Colors.textMain + font.pixelSize : Fonts.fontPixelTitle } + // ^^^^^^^^^^^^^^^^^^^^^^^^^ HEADER ^^^^^^^^^^^^^^^^^^^^^^^^^ // + + // vvvvvvvvvvvvvvvvvvvv Optional Components vvvvvvvvvvvvvvvvvvvv // + Loader { id: _instructionLoader + readonly property int outerHMargin : 30 + readonly property int outerVMargin : 15 + active : _root.instructionBased + anchors { + top : title.bottom + bottom : footer.top + left : parent.left + right : parent.right + leftMargin : outerHMargin + rightMargin : outerHMargin + topMargin : outerVMargin + bottomMargin : outerVMargin + } + sourceComponent : InstructionView { id: _instructionView + stepNames : _root.instructionStepNames + stepImages : _root.instructionStepImages + } + } + + Loader { id : _timeCircleLoader + active : _root.hasTimeCircle + + anchors.top : _root.hasCheckList ? title.bottom : undefined + anchors.topMargin : _root.hasCheckList ? 25 : 0 + anchors.horizontalCenter: _root.horizontalCenter + anchors.centerIn : ! _root.hasCheckList ? parent : undefined + sourceComponent : TimeCircle { id: _timeCircle + isChecked : _root.isComplete + minimum : _root.timeCircleMinimum + maximum : _root.timeCircleMaximum + progressValue : _root.timeCircleProgressValue + timeTextValue : _root.timeCircleTimeTextValue + thickness : _root.hasCheckList ? 1 : 2 + diameter : _root.hasCheckList ? Variables.progressCircleDiameterSmall : Variables.progressCircleDiameterNormal + timeTextPixelSize : _root.hasCheckList ? Fonts.fontPixelCirclProgressTimeSmall : Fonts.fontPixelCirclProgressTimeNormal + } + } + + Loader { id: _checkListLoader + active : _root.hasCheckList + anchors.top : _root.hasTimeCircle ? _timeCircleLoader.bottom : undefined + anchors.topMargin : _root.hasTimeCircle ? 25 : 0 + anchors.horizontalCenter: _root.horizontalCenter + anchors.centerIn : ! _root.hasTimeCircle ? parent : undefined + width : Variables.checkListViewItemWidth + height : Variables.checkListViewItemHeight * _root.checkListStepNames.length + sourceComponent : CheckListView { id: _checkListView + completeVisible : _root.isComplete + stepNames : _root.checkListStepNames + completeMargin : _root.checkListCompleteMargin + } + } + + // ^^^^^^^^^^^^^^^^^^^^ Optional Components ^^^^^^^^^^^^^^^^^^^^ // + + Footer { id: _footer } + NotificationBar { id: _notification iconVisible: false } onVisibleChanged: { + if (checkList) + checkList.resetItems() _notification.text = "" if (visible) { _mainMenu.hidden = true Index: sources/gui/qml/pages/pretreatment/PreTreatmentConsumablesStack.qml =================================================================== diff -u --- sources/gui/qml/pages/pretreatment/PreTreatmentConsumablesStack.qml (revision 0) +++ sources/gui/qml/pages/pretreatment/PreTreatmentConsumablesStack.qml (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) @@ -0,0 +1,78 @@ +/*! + * + * 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" + +/*! + * \brief the pre-treatment consumbles stack screen + */ +StackItem { id: _root + objectName: "_PreTreatmentConsumblesStack" + + stackView.initialItem : null + + property int stackStepIndex : 2 + + PreTreatmentBase { id: _preTreatmentConsumablesInstall + header.stepIndex : stackStepIndex + header.confirmVisible : true + title.text : qsTr("Consumables Installation") + instructionBased : true + instructionStepNames : testStepNames + instructionStepImages : testStepImages + } + + PreTreatmentBase { id: _preTreatmentConsumablesSelfTest + header.stepIndex : stackStepIndex + header.confirmVisible : true + header.confirmEnabeled : vPreTreatmentStates.selfTestConsumables_complete + isComplete : vPreTreatmentStates.selfTestConsumables_complete + title.text : qsTr("Consumables Self Test") + hasCheckList : true + checkListStepNames : [ + qsTr("Water Quality Check"), + qsTr("BiCarb Pump Check") , + qsTr("Acid Pump Check") , + ] + } + + Connections { target: vPreTreatmentStates + onSelfTestConsumables_installChanged : { if ( vselfTestConsumables_install ) page( _preTreatmentConsumablesInstall )} + onSelfTestConsumables_waterQualityEntered : { _preTreatmentConsumablesSelfTest.checkList.setItem( 0, vselfTestConsumables_waterQuality )} + onSelfTestConsumables_biCarbPumpEntered : { _preTreatmentConsumablesSelfTest.checkList.setItem( 1, vselfTestConsumables_biCarbPump )} + onSelfTestConsumables_acidPumpEntered : { _preTreatmentConsumablesSelfTest.checkList.setItem( 2, vselfTestConsumables_acidPump )} + } + + Connections { target: _preTreatmentConsumablesInstall + onConfirmClicked : { page( _preTreatmentConsumablesSelfTest )} + } + + Connections { target: _preTreatmentConsumablesSelfTest + onConfirmClicked : {} + } + + onVisibleChanged: { + if (visible) { + _mainMenu.hidden = true + } + } +} Index: sources/gui/qml/pages/pretreatment/PreTreatmentDisposablesStack.qml =================================================================== diff -u --- sources/gui/qml/pages/pretreatment/PreTreatmentDisposablesStack.qml (revision 0) +++ sources/gui/qml/pages/pretreatment/PreTreatmentDisposablesStack.qml (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) @@ -0,0 +1,102 @@ +/*! + * + * 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" + +/*! + * \brief the pre-treatment disposables stack screen + */ +StackItem { id: _root + objectName: "_PreTreatmentDisposableStack" + + stackView.initialItem : null + + property int stackStepIndex : 3 + + PreTreatmentBase { id: _preTreatmentDisposablesSelfTest + title.text : qsTr("Disposables Self Test") + hasTimeCircle : true + timeCircleMinimum : 0 + timeCircleMaximum : vDGFilterFlush.total + timeCircleProgressValue : vDGFilterFlush.elapsed + timeCircleTimeTextValue : vDGFilterFlush.remaining * 60 + } + + PreTreatmentBase { id: _preTreatmentDisposablesCartridgeInstallation + title.text : qsTr("Cartridge Installation") + header.confirmVisible : true + header.confirmText.text : qsTr("NEXT") + instructionBased : true + instructionStepNames : testStepNames + instructionStepImages : testStepImages + onConfirmClicked : { page( _preTreatmentDisposablesCartridgeConnetion )} + } + + PreTreatmentBase { id: _preTreatmentDisposablesCartridgeConnetion + title.text : qsTr("Cartridge Connection") + header.backVisible : true + header.confirmVisible : true + header.confirmText.text : qsTr("NEXT") + instructionBased : true + instructionStepNames : testStepNames + instructionStepImages : testStepImages + onBackClicked : { page( _preTreatmentDisposablesCartridgeInstallation )} + onConfirmClicked : { page( _preTreatmentDisposablesHeparinSyringe )} + } + + PreTreatmentBase { id: _preTreatmentDisposablesHeparinSyringe + title.text : qsTr("Heparin Syringe") + header.backVisible : true + header.confirmVisible : true + header.confirmText.text : qsTr("NEXT") + instructionBased : true + instructionStepNames : testStepNames + instructionStepImages : testStepImages + onBackClicked : { page( _preTreatmentDisposablesCartridgeConnetion )} + onConfirmClicked : { page( _preTreatmentDisposablesSalineBag )} + } + + PreTreatmentBase { id: _preTreatmentDisposablesSalineBag + title.text : qsTr("Saline Bag") + header.backVisible : true + header.confirmVisible : true + header.confirmText.text : qsTr("CONFIRM") + instructionBased : true + instructionStepNames : testStepNames + instructionStepImages : testStepImages + onBackClicked : { page( _preTreatmentDisposablesHeparinSyringe )} + 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/PreTreatmentMainStack.qml =================================================================== diff -u -r22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb -rdb2238dcf17941be6a3c587b55a3ef06b94cee96 --- sources/gui/qml/pages/pretreatment/PreTreatmentMainStack.qml (.../PreTreatmentMainStack.qml) (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) +++ sources/gui/qml/pages/pretreatment/PreTreatmentMainStack.qml (.../PreTreatmentMainStack.qml) (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) @@ -20,9 +20,6 @@ // Qml imports import "qrc:/globals" import "qrc:/components" -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 @@ -32,7 +29,19 @@ stackView.initialItem : null - PreTreatmentSampleStack { id: _preTreatmentSampleStack } + // these are two test step definitions later will be read from file and will be available from a model + property var testStepNames: [ + ". Unlock pump track . Lock pump track", + "Insert cartridge using alignment pins", + "HD machine door open / HD machine door closed", + ] + property var testStepImages: [ + "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", + ] + + PreTreatmentWaterSampleStack{ id: _preTreatmentWaterSampleStack } PreTreatmentConsumablesStack{ id: _preTreatmentConsumablesStack } PreTreatmentDisposablesStack{ id: _preTreatmentDisposablesStack } PreTreatmentPrimeStack { id: _pretreatmentPrimeStack } @@ -54,8 +63,8 @@ } Connections { target: vPreTreatmentStates - onStartChanged : { if ( vstart ) { console.debug("vstart ")}} - onWaterSampleChanged : { if ( vwaterSample ) { page( _preTreatmentSampleStack )}} + onStartChanged : {} + onWaterSampleChanged : { if ( vwaterSample ) { page( _preTreatmentWaterSampleStack )}} onSelfTestConsumablesChanged: { if ( vselfTestConsumables ) { page( _preTreatmentConsumablesStack )}} onSelfTestNoCartridgeChanged: { if ( vselfTestNoCartridge ) { page( _preTreatmentDisposablesStack )}} onInstallationChanged : { if ( vinstallation ) { console.debug("vinstallation ")}} Index: sources/gui/qml/pages/pretreatment/PreTreatmentWaterSampleStack.qml =================================================================== diff -u --- sources/gui/qml/pages/pretreatment/PreTreatmentWaterSampleStack.qml (revision 0) +++ sources/gui/qml/pages/pretreatment/PreTreatmentWaterSampleStack.qml (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) @@ -0,0 +1,127 @@ +/*! + * + * 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) 09-Mar-2021 + * \author (original) Behrouz NematiPour + * \date (original) 09-Mar-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" +import "qrc:/pages/pretreatment" + +/*! + * \brief the pre treatment water sample stack screen + */ +StackItem { id: _root + objectName: "_PreTreatmentSampleStack" + + stackView.initialItem : null + + property int stackStepIndex : 1 + + signal samplePressed () + signal sampleReleased() + signal passClicked () + signal failClicked () + signal endTreatmentClicked + + // ----- Screens definitions + PreTreatmentBase { id: _preTreatmentFilterFlush + title.text : qsTr("Filter Flush") + hasTimeCircle : true + timeCircleMinimum : 0 + timeCircleMaximum : vDGFilterFlush.total + timeCircleProgressValue : vDGFilterFlush.elapsed + timeCircleTimeTextValue : vDGFilterFlush.remaining * 60 + } + + PreTreatmentBase { id: _preTreatmentWaterSample + header.confirmVisible : true + header.confirmText.text : qsTr("NEXT") + title.text : qsTr("Water Sample") + instructionBased : true + instructionStepNames : testStepNames + instructionStepImages : testStepImages + footer.children: [ + TouchRect { + width: parent.splits + text.text: qsTr("WATER SAMPLE") + onPressed : _root.samplePressed () + onReleased : _root.sampleReleased() + } + ] + } + + PreTreatmentBase { id: _preTreatmentWaterSampleResult + header.backVisible : true + title.text : qsTr("Water Sample Result") + instructionBased : true + instructionStepNames : testStepNames + instructionStepImages : testStepImages + footer.children: [ + TouchRect { + width: parent.splits + text.text: qsTr("FAIL") + onClicked: _root.failClicked() + }, + TouchRect { + width: parent.splits + text.text: qsTr("PASS") + isDefault: true + onClicked: _root.passClicked() + } + ] + } + + PreTreatmentBase { id: _preTreatmentWaterSampleResultFail + title.text : qsTr("Water Sample Result Failed") + instructionBased : true + instructionStepNames : testStepNames + instructionStepImages : testStepImages + footer.children: [ + TouchRect { + width: parent.spacing + text.text: qsTr("END TREATMENT") + onClicked: _root.endTreatmentClicked() + } + ] + } + + // ----- Screens Navigations + Connections { target: vPreTreatmentStates + onWaterSample_setupChanged : { if ( vwaterSample_setup ) { page( _preTreatmentFilterFlush )}} + onWaterSample_runningChanged: { if ( vwaterSample_running ) { page( _preTreatmentWaterSample )}} + } + + // ----- Screen Actions/Navigations + Connections { target: _preTreatmentWaterSample + onConfirmClicked : { page( _preTreatmentWaterSampleResult )} + } + + Connections { target: _preTreatmentWaterSampleResult + onBackClicked : { page( _preTreatmentWaterSample )} + } + + onFailClicked : { page( _preTreatmentWaterSampleResultFail )} + onPassClicked : { } + onEndTreatmentClicked : { } + + onVisibleChanged: { + if (visible) { + _mainMenu.hidden = true + } + } +} Fisheye: Tag db2238dcf17941be6a3c587b55a3ef06b94cee96 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/consumables/PreTreatmentConsumablesInstallation.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag db2238dcf17941be6a3c587b55a3ef06b94cee96 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/consumables/PreTreatmentConsumablesSelfTest.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag db2238dcf17941be6a3c587b55a3ef06b94cee96 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/consumables/PreTreatmentConsumablesStack.qml'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/gui/qml/pages/pretreatment/create/PreTreatmentConfirm.qml =================================================================== diff -u -rc0c63c4b149dafea2b02e4cd31f223e392ff7818 -rdb2238dcf17941be6a3c587b55a3ef06b94cee96 --- sources/gui/qml/pages/pretreatment/create/PreTreatmentConfirm.qml (.../PreTreatmentConfirm.qml) (revision c0c63c4b149dafea2b02e4cd31f223e392ff7818) +++ sources/gui/qml/pages/pretreatment/create/PreTreatmentConfirm.qml (.../PreTreatmentConfirm.qml) (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) @@ -30,6 +30,8 @@ PreTreatmentBase { id: _root objectName: "_PreTreatmentConfirm" + header.confirmEnabeled: _flickable.atYEnd + Flickable { id: _flickable objectName: "_PreTreatmentConfirmFlickable" anchors { @@ -64,15 +66,8 @@ ConfirmTreatmentTable { anchors.horizontalCenter: parent.horizontalCenter } - - TouchRect { id : _continueRect - objectName: "_continueRect" - anchors.horizontalCenter: parent.horizontalCenter - text.text: qsTr("CONFIRM TREATMENT") - onClicked: { - _root.confirmClicked() - } - } } } + + onVisibleChanged: _flickable.contentY = 0 // scroll back to top } Index: sources/gui/qml/pages/pretreatment/create/PreTreatmentCreate.qml =================================================================== diff -u -rc0c63c4b149dafea2b02e4cd31f223e392ff7818 -rdb2238dcf17941be6a3c587b55a3ef06b94cee96 --- sources/gui/qml/pages/pretreatment/create/PreTreatmentCreate.qml (.../PreTreatmentCreate.qml) (revision c0c63c4b149dafea2b02e4cd31f223e392ff7818) +++ sources/gui/qml/pages/pretreatment/create/PreTreatmentCreate.qml (.../PreTreatmentCreate.qml) (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) @@ -32,6 +32,14 @@ signal continueClicked() + header.confirmEnabeled: vTreatmentCreate.continueEnabled + onConfirmClicked: { + vTreatmentCreate.saveTreatmentProfile = false + if (vTreatmentCreate.continueEnabled) { + _root.continueClicked() + } + } + function setInteractive(isInteractive) { _flickable.interactive = isInteractive } @@ -436,45 +444,14 @@ setInteractive(true) } } - - TouchRect { id : _continueRect - objectName: "_continueButton" - anchors.horizontalCenter: parent.horizontalCenter - text.text: qsTr("CONTINUE") - backgroundColor: Colors.createTreatmentNotReady - borderColor: Colors.createTreatmentNotReady - textColor: Colors.createTreatmentTextNotReady - onClicked: { - vTreatmentCreate.saveTreatmentProfile = false - if (vTreatmentCreate.continueEnabled) { - _root.continueClicked() - } - } - - function toggleEnabled(enabled) { - if (enabled) { - backgroundColor = Colors.createTreatmentActive - borderColor = Colors.createTreatmentActive - textColor = Colors.createTreatmentTextReady - } else { - backgroundColor = Colors.createTreatmentNotReady - borderColor = Colors.createTreatmentNotReady - textColor = Colors.createTreatmentTextNotReady - } - } + Item { + width : 50 + height : 50 } } } Connections { target: vTreatmentCreate - onContinueEnabledChanged: { - if (vTreatmentCreate.continueEnabled) { - _continueRect.toggleEnabled(true) - } else { - _continueRect.toggleEnabled(false) - } - } - onResetCreateTreatment: { _bloodFlowRate.isActive = false _dialysateFlowRate.isActive = false Index: sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateStack.qml =================================================================== diff -u -rc0c63c4b149dafea2b02e4cd31f223e392ff7818 -rdb2238dcf17941be6a3c587b55a3ef06b94cee96 --- sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateStack.qml (.../PreTreatmentCreateStack.qml) (revision c0c63c4b149dafea2b02e4cd31f223e392ff7818) +++ sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateStack.qml (.../PreTreatmentCreateStack.qml) (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) @@ -32,13 +32,18 @@ property int stackStepINdex: 0 PreTreatmentCreate { id: _pretreatmentCreate - header.stepIndex: stackStepINdex - title.text: qsTr("Create a Custom Treatment") + header.stepIndex : stackStepINdex + header.backVisible : true + header.confirmVisible : true + header.confirmText.text : qsTr("CONTINUE") + title.text : qsTr("Create a Custom Treatment") } PreTreatmentConfirm { id: _pretreatmentConfirm - header.stepIndex: stackStepINdex - title.text: qsTr("Confirm Treatment") + header.stepIndex : stackStepINdex + header.backVisible : true + header.confirmVisible : true + title.text : qsTr("Confirm Treatment") onBackClicked : {vTreatmentCreate.doCancelConfirmParameters() } onConfirmClicked : {vTreatmentCreate.doFinishedConfirm() } @@ -53,12 +58,17 @@ } Connections { target: _pretreatmentCreate - onBackClicked : {vTreatmentCreate.doCancelSelectingParameters() } + onBackClicked : { + vTreatmentCreate.doCancelSelectingParameters() + } onContinueClicked : {vTreatmentCreate.doFinishedCreate(); } } Connections { target: _pretreatmentConfirm - onBackClicked : {vTreatmentCreate.doCancelConfirmParameters() } + onBackClicked : { + vTreatmentCreate.doCancelConfirmParameters() + page( _pretreatmentCreate ) + } onConfirmClicked : {vTreatmentCreate.doFinishedConfirm() } } Fisheye: Tag db2238dcf17941be6a3c587b55a3ef06b94cee96 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesCartridgeConnection.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag db2238dcf17941be6a3c587b55a3ef06b94cee96 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesCartridgeInstallation.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag db2238dcf17941be6a3c587b55a3ef06b94cee96 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesHeparinSyringe.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag db2238dcf17941be6a3c587b55a3ef06b94cee96 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesSalineBag.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag db2238dcf17941be6a3c587b55a3ef06b94cee96 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesSelfTest.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag db2238dcf17941be6a3c587b55a3ef06b94cee96 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/disposables/PreTreatmentDisposablesStack.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag db2238dcf17941be6a3c587b55a3ef06b94cee96 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/prime/PreTreatmentDisposablesPrime.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag db2238dcf17941be6a3c587b55a3ef06b94cee96 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/prime/PreTreatmentDrySelfTest.qml'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/gui/qml/pages/pretreatment/prime/PreTreatmentPrimeStack.qml =================================================================== diff -u -r22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb -rdb2238dcf17941be6a3c587b55a3ef06b94cee96 --- sources/gui/qml/pages/pretreatment/prime/PreTreatmentPrimeStack.qml (.../PreTreatmentPrimeStack.qml) (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) +++ sources/gui/qml/pages/pretreatment/prime/PreTreatmentPrimeStack.qml (.../PreTreatmentPrimeStack.qml) (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) @@ -33,31 +33,77 @@ 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") , + PreTreatmentBase { id: _preTreatmentDrySelfTest + header.confirmVisible : true + header.confirmEnabeled : vPreTreatmentStates.selfTestDry_complete + isComplete : vPreTreatmentStates.selfTestDry_complete + title.text : qsTr("Begin Prime") + + hasTimeCircle : true + timeCircleMinimum : 0 + timeCircleMaximum : vDGFilterFlush.total + timeCircleProgressValue : vDGFilterFlush.elapsed + timeCircleTimeTextValue : vDGFilterFlush.remaining * 60 + + hasCheckList : true + checkListStepNames : [ + qsTr("Bubble Detector" ), + qsTr("Air Trap" ), + qsTr("Occolusion Sensors" ), + qsTr("Pressure Sensors" ), ] } - PreTreatmentDisposablesPrime { id: _preTreatmentDisposablesPrime + PreTreatmentBase { id: _preTreatmentDisposablesPrime header.stepIndex : stackStepIndex header.confirmVisible : true header.confirmEnabeled : vPreTreatmentStates.prime_complete + isComplete : vPreTreatmentStates.prime_complete title.text : qsTr("Priming") + + hasTimeCircle : true + timeCircleMinimum : 0 + timeCircleMaximum : vDGFilterFlush.total + timeCircleProgressValue : vDGFilterFlush.elapsed + timeCircleTimeTextValue : vDGFilterFlush.remaining * 60 + + hasCheckList : true + checkListStepNames : [ + qsTr("Blood Circuit Priming" ), + qsTr("Dialysate Circuit Priming"), + qsTr("Wet Self Tests" ), + ] } Connections { target: vPreTreatmentStates - onSelfTestDryChanged : { if ( vselfTestDry ) { page( _preTreatmentDrySelfTest )}} - onPrimeChanged : { if ( vprime ) { page( _preTreatmentDisposablesPrime )}} + onSelfTestDryChanged : { if ( vselfTestDry ) { page( _preTreatmentDrySelfTest )}} + onSelfTestDry_startChanged : {} + onSelfTestDry_waitDoorCloseChanged : {} + onSelfTestDry_bubbleDetectorEntered : { _preTreatmentDrySelfTest.checkList.setItem( 0, vselfTestDry_bubbleDetector )} + onSelfTestDry_airTrapEntered : { _preTreatmentDrySelfTest.checkList.setItem( 1, vselfTestDry_airTrap )} + onSelfTestDry_occlusionSensorsEntered : { _preTreatmentDrySelfTest.checkList.setItem( 2, vselfTestDry_occlusionSensors )} + onSelfTestDry_pressureSensorsSetupEntered : { _preTreatmentDrySelfTest.checkList.setItem( 3, true )} + onSelfTestDry_pressureSensorsEntered : {} + onSelfTestDry_pressureSensorsNormalEntered : { _preTreatmentDrySelfTest.checkList.setItem( 3, vselfTestDry_pressureSensorsNormal )} + onSelfTestDry_stoppedEntered : {} + onSelfTestDry_completeEntered : {} } + Connections { target: vPreTreatmentStates + onPrimeChanged : { if ( vprime ) { page( _preTreatmentDisposablesPrime )}} + onPrime_waitUserStartEntered : {} + onPrime_salineSetupEntered : { _preTreatmentDisposablesPrime.checkList.setItem(0, true)} + onPrime_salinePurgeAirEntered : {} + onPrime_salineCirculateBloodCircuitEntered : { _preTreatmentDisposablesPrime.checkList.setItem(0, vprime_salineCirculateBloodCircuit )} + onPrime_reservoiOneFillCompleteEntered : { _preTreatmentDisposablesPrime.checkList.setItem(1, true )} + onPrime_dialysateDialyzerEntered : {} + onPrime_reservoirTwoFillCompleteEntered : {} + onPrime_dialysateBypassEntered : { _preTreatmentDisposablesPrime.checkList.setItem(1, vprime_dialysateBypass )} + onPrime_wetSelfTestsEntered : { _preTreatmentDisposablesPrime.checkList.setItem(2, vprime_wetSelfTests )} + onPrime_pauseEntered : {} + onPrime_completeEntered : {} + } + Connections { target: _preTreatmentDrySelfTest onConfirmClicked : {} } Fisheye: Tag db2238dcf17941be6a3c587b55a3ef06b94cee96 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/sample/PreTreatmentFilterFlush.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag db2238dcf17941be6a3c587b55a3ef06b94cee96 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/sample/PreTreatmentResultFail.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag db2238dcf17941be6a3c587b55a3ef06b94cee96 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/sample/PreTreatmentSampleResult.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag db2238dcf17941be6a3c587b55a3ef06b94cee96 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/sample/PreTreatmentSampleStack.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag db2238dcf17941be6a3c587b55a3ef06b94cee96 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/sample/PreTreatmentWaterSample.qml'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/view/hd/data/VPreTreatmentStatesData.h =================================================================== diff -u -r22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb -rdb2238dcf17941be6a3c587b55a3ef06b94cee96 --- sources/view/hd/data/VPreTreatmentStatesData.h (.../VPreTreatmentStatesData.h) (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) +++ sources/view/hd/data/VPreTreatmentStatesData.h (.../VPreTreatmentStatesData.h) (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) @@ -107,17 +107,17 @@ // Prime blood and dialysate circuits and run wet self-tests state PROPERTY( bool , prime_start , false ) ///< HD_PRIME_START_STATE , Prime start state - PROPERTY( bool , prime_waitUserStart , false ) ///< HD_PRIME_WAIT_FOR_USER_START_STATE , Wait for user to start prime state - PROPERTY( bool , prime_salineSetup , false ) ///< HD_PRIME_SALINE_SETUP_STATE , Saline setup state - PROPERTY( bool , prime_salinePurgeAir , false ) ///< HD_PRIME_SALINE_PURGE_AIR_STATE , Saline purge air state - PROPERTY( bool , prime_salineCirculateBloodCircuit , false ) ///< HD_PRIME_SALINE_CIRC_BLOOD_CIRCUIT_STATE , Circulate blood circuit state - PROPERTY( bool , prime_reservoiOneFillComplete , false ) ///< HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE , Wait for reservoir 1 fill complete - PROPERTY( bool , prime_dialysateDialyzer , false ) ///< HD_PRIME_DIALYSATE_DIALYZER_STATE , Dialysate dialyzer fluid path state - PROPERTY( bool , prime_reservoirTwoFillComplete , false ) ///< HD_PRIME_RESERVOIR_TWO_FILL_COMPLETE_STATE , Wait for reservoir 2 fill complete - PROPERTY( bool , prime_dialysateBypass , false ) ///< HD_PRIME_DIALYSATE_BYPASS_STATE , Dialysate bypass fluid path state - PROPERTY( bool , prime_wetSelfTests , false ) ///< HD_PRIME_WET_SELF_TESTS_STATE , Perform wet self-tests after priming complete - PROPERTY( bool , prime_pause , false ) ///< HD_PRIME_PAUSE , Prime pause state, waits to be resumed - PROPERTY( bool , prime_complete , false ) ///< HD_PRIME_COMPLETE , Prime complete state + STATE ( bool , prime_waitUserStart , false ) ///< HD_PRIME_WAIT_FOR_USER_START_STATE , Wait for user to start prime state + STATE ( bool , prime_salineSetup , false ) ///< HD_PRIME_SALINE_SETUP_STATE , Saline setup state + STATE ( bool , prime_salinePurgeAir , false ) ///< HD_PRIME_SALINE_PURGE_AIR_STATE , Saline purge air state + STATE ( bool , prime_salineCirculateBloodCircuit , false ) ///< HD_PRIME_SALINE_CIRC_BLOOD_CIRCUIT_STATE , Circulate blood circuit state + STATE ( bool , prime_reservoiOneFillComplete , false ) ///< HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE , Wait for reservoir 1 fill complete + STATE ( bool , prime_dialysateDialyzer , false ) ///< HD_PRIME_DIALYSATE_DIALYZER_STATE , Dialysate dialyzer fluid path state + STATE ( bool , prime_reservoirTwoFillComplete , false ) ///< HD_PRIME_RESERVOIR_TWO_FILL_COMPLETE_STATE , Wait for reservoir 2 fill complete + STATE ( bool , prime_dialysateBypass , false ) ///< HD_PRIME_DIALYSATE_BYPASS_STATE , Dialysate bypass fluid path state + STATE ( bool , prime_wetSelfTests , false ) ///< HD_PRIME_WET_SELF_TESTS_STATE , Perform wet self-tests after priming complete + STATE ( bool , prime_pause , false ) ///< HD_PRIME_PAUSE , Prime pause state, waits to be resumed + STATE ( bool , prime_complete , false ) ///< HD_PRIME_COMPLETE , Prime complete state // Re-circulate blood and dialysate circuits state PROPERTY( bool , recirculate_start , false ) ///< PRE_TREATMENT_RECIRC_STATE , Pre-treatment recirculate state.