Index: sources/gui/qml/globals/Variables.qml =================================================================== diff -u -r642f08650a7a88ad6a2305fdea6bd18365aab5c7 -r6712a4779cf81ad4d16ca070c7accb5c8de45fdd --- sources/gui/qml/globals/Variables.qml (.../Variables.qml) (revision 642f08650a7a88ad6a2305fdea6bd18365aab5c7) +++ sources/gui/qml/globals/Variables.qml (.../Variables.qml) (revision 6712a4779cf81ad4d16ca070c7accb5c8de45fdd) @@ -184,6 +184,7 @@ readonly property int circleButtonDefaultDiameter : 45 + readonly property int fwRejectReasonNONE : 0 // value for no reject reason == accepted value / not rejected // ---------- < PRS > Related Section ---------- // blood flow rate Index: sources/gui/qml/pages/pretreatment/create/PreTreatmentCreate.qml =================================================================== diff -u -r5d7dd96636bc7a647c61a43bb04ed25f5c2f6e7e -r6712a4779cf81ad4d16ca070c7accb5c8de45fdd --- sources/gui/qml/pages/pretreatment/create/PreTreatmentCreate.qml (.../PreTreatmentCreate.qml) (revision 5d7dd96636bc7a647c61a43bb04ed25f5c2f6e7e) +++ sources/gui/qml/pages/pretreatment/create/PreTreatmentCreate.qml (.../PreTreatmentCreate.qml) (revision 6712a4779cf81ad4d16ca070c7accb5c8de45fdd) @@ -50,6 +50,26 @@ _bloodPressureInterval .active && _rinsebackFlowRate .active + onConfirmClicked: _flickable.isUpdatingView = true + + Connections{ target:vTreatmentCreate + // Update flicker location to show the invalid parameter + function onBloodFlowRateRejectReasonTriggered () { _flickable.setFlickableFocus(!_bloodFlowRate.valid , _bloodFlowRate.y )} + function onDialysateFlowRateRejectReasonChanged () { _flickable.setFlickableFocus(!_dialysateFlowRate.valid , _dialysateFlowRate.y )} + function onTreatmentDurationRejectReasonChanged () { _flickable.setFlickableFocus(!_duration.valid , _duration.y )} + function onHeparinDispensingRateRejectReasonChanged () { _flickable.setFlickableFocus(!_heparinDispensingRate.valid , _heparinDispensingRate.y )} + function onHeparinBolusVolumeRejectReasonChanged () { _flickable.setFlickableFocus(!_heparinBolusVolume.valid , _heparinBolusVolume.y )} + function onHeparinStopTimeRejectReasonChanged () { _flickable.setFlickableFocus(!_heparinStopTime.valid , _heparinStopTime.y )} + function onSalineBolusVolumeRejectReasonChanged () { _flickable.setFlickableFocus(!_salineBolus.valid , _salineBolus.y )} + function onDialysateTempRejectReasonChanged () { _flickable.setFlickableFocus(!_dialysateTemperature.valid , _dialysateTemperature.y )} + function onVenousPressureLimitLowRejectReasonChanged() { _flickable.setFlickableFocus(!_venousPressureLimits.lowerBoundValid, _venousPressureLimits.y);} + function onVenousPressureLimitHighRejectReasonChanged(){ _flickable.setFlickableFocus(!_venousPressureLimits.upperBoundValid, _venousPressureLimits.y);} + function onArterialPressureLimitLowRejectReasonChanged () { _flickable.setFlickableFocus(!_arterialPressureLimits.lowerBoundValid, _arterialPressureLimits.y )} + function onArterialPressureLimitHighRejectReasonChanged () { _flickable.setFlickableFocus(!_arterialPressureLimits.upperBoundValid, _arterialPressureLimits.y )} + function onBloodPressureMeasureIntervalRejectReasonChanged () { _flickable.setFlickableFocus(!_bloodPressureInterval.valid , _bloodPressureInterval.y )} + function onRinsebackFlowRateRejectReasonChanged () { _flickable.setFlickableFocus(!_rinsebackFlowRate.valid , _rinsebackFlowRate.y )} + } + function setInteractive(vInteractive) { _flickable.interactive = vInteractive } @@ -61,12 +81,23 @@ } Flickable { id: _flickable + property bool isUpdatingView : true // To avoid moving view when adjusting the invalid param's slider function setFlickableFocus(vIsMovingTo, vYPosition) { - if ( vIsMovingTo ) { - _flickable.contentY = vYPosition + if ( vIsMovingTo && isUpdatingView) { + _flickable.contentY = determineYPosition(vYPosition) + } else { + isUpdatingView = !vIsMovingTo } } + function determineYPosition(vYPosition) { + let lastViewableSectionY = _flickable.contentHeight - _flickable.height + if(vYPosition > lastViewableSectionY) + return lastViewableSectionY + else + return vYPosition + } + objectName: "TreatmentCreateFlickable" clip: true anchors { @@ -103,18 +134,14 @@ maximum : vTreatmentRanges.bloodFlowRateMax step : vTreatmentRanges.bloodFlowRateRes value : vTreatmentRanges.bloodFlowRateDef - valid : vTreatmentCreate.bloodFlowRateAccepted + valid : vTreatmentCreate.bloodFlowRateRejectReason == Variables.fwRejectReasonNONE onValueChanged : { // Reset the valid state to allow repositioning to the next invalid parameter - vTreatmentCreate.bloodFlowRateAccepted = true - vTreatmentCreate.bloodFlowRate = value + if(!valid) { + vTreatmentCreate.bloodFlowRateRejectReason = Variables.fwRejectReasonNONE + } + vTreatmentCreate.bloodFlowRate = value } - - Connections { - // To do a visual update to show the parameter/slider with invalid value on the screen - target:vTreatmentCreate - function onBloodFlowRateAcceptedChanged() { _flickable.setFlickableFocus(!_bloodFlowRate.valid, _bloodFlowRate.y)} - } } SliderCreateTreatment { id: _dialysateFlowRate @@ -126,17 +153,14 @@ maximum : vTreatmentRanges.dialysateFlowRateMax step : vTreatmentRanges.dialysateFlowRateRes value : vTreatmentRanges.dialysateFlowRateDef - valid : vTreatmentCreate.dialysateFlowRateAccepted + valid : vTreatmentCreate.dialysateFlowRateRejectReason == Variables.fwRejectReasonNONE onValueChanged : { // Reset the valid state to allow repositioning to the next invalid parameter - vTreatmentCreate.dialysateFlowRateAccepted = true - vTreatmentCreate.dialysateFlowRate = value + if(!valid) { + vTreatmentCreate.dialysateFlowRateRejectReason = Variables.fwRejectReasonNONE + } + vTreatmentCreate.dialysateFlowRate = value } - Connections { - // To do a visual update to show the parameter/slider with invalid value on the screen - target:vTreatmentCreate - function onDialysateFlowRateAcceptedChanged() { _flickable.setFlickableFocus(!_dialysateFlowRate.valid, _dialysateFlowRate.y);} - } } SliderCreateTreatment { id: _duration @@ -148,16 +172,14 @@ maximum : vTreatmentRanges.treatmentDurationMax step : vTreatmentRanges.treatmentDurationRes value : vTreatmentRanges.treatmentDurationDef - valid : vTreatmentCreate.treatmentDurationAccepted + valid : vTreatmentCreate.treatmentDurationRejectReason == Variables.fwRejectReasonNONE onValueChanged: { // Reset the valid state to allow repositioning to the next invalid parameter - vTreatmentCreate.treatmentDurationAccepted = true - vTreatmentCreate.treatmentDuration = value + if(!valid) { + vTreatmentCreate.treatmentDurationRejectReason = Variables.fwRejectReasonNONE + } + vTreatmentCreate.treatmentDuration = value } - Connections { - target:vTreatmentCreate - function onTreatmentDurationAcceptedChanged() { _flickable.setFlickableFocus(!_duration.valid, _duration.y);} - } } Connections { target : _heparinDispensingRateSwitch @@ -201,22 +223,17 @@ maximum : vTreatmentRanges.heparinDispensingRateMax step : vTreatmentRanges.heparinDispensingRateRes value : vTreatmentRanges.heparinDispensingRateDef - valid : vTreatmentCreate.heparinDispensingRateAccepted - onValueChanged: { - // Reset the valid state to allow repositioning to the next invalid parameter - vTreatmentCreate.heparinDispensingRateAccepted = true - vTreatmentCreate.heparinDispensingRate = value - } - Connections { - // To do a visual update to show the parameter/slider with invalid value on the screen - target:vTreatmentCreate - function onHeparinDispensingRateAcceptedChanged() { _flickable.setFlickableFocus(!_heparinDispensingRate.valid, _heparinDispensingRate.y);} - } - + valid : vTreatmentCreate.heparinDispensingRateRejectReason == Variables.fwRejectReasonNONE adjustable : _heparinDispensingRateSwitch.checked inActiveZero : true enableAdjustButtons: _heparinDispensingRateSwitch.checked - + onValueChanged: { + // Reset the valid state to allow repositioning to the next invalid parameter + if(!valid) { + vTreatmentCreate.heparinDispensingRateRejectReason = Variables.fwRejectReasonNONE + } + vTreatmentCreate.heparinDispensingRate = value + } // ToDo: create a component for Switch, // ToDo: Consider putting the new CheckBox component into the SliderCreateTreatment component and set via boolean property // This is a full implementation of a Switch @@ -283,23 +300,18 @@ maximum : vTreatmentRanges.heparinBolusVolumeMax step : vTreatmentRanges.heparinBolusVolumeRes value : vTreatmentRanges.heparinBolusVolumeDef - valid : vTreatmentCreate.heparinBolusVolumeAccepted + valid : vTreatmentCreate.heparinBolusVolumeRejectReason == Variables.fwRejectReasonNONE + adjustable : _heparinBolusVolumeSwitch.checked + inActiveZero : true + enableAdjustButtons: _heparinBolusVolumeSwitch.checked onValueChanged : { // Reset the valid state to allow repositioning to the next invalid parameter - vTreatmentCreate.heparinBolusVolumeAccepted = true - vTreatmentCreate.heparinBolusVolume = value + if(!valid) { + vTreatmentCreate.heparinBolusVolumeRejectReason = Variables.fwRejectReasonNONE + } + vTreatmentCreate.heparinBolusVolume = value } - Connections { - // To do a visual update to show the parameter/slider with invalid value on the screen - target:vTreatmentCreate - function onHeparinBolusVolumeAcceptedChanged() { _flickable.setFlickableFocus(!_heparinBolusVolume.valid, _heparinBolusVolume.y);} - } - - adjustable : _heparinBolusVolumeSwitch.checked - inActiveZero : true - enableAdjustButtons: _heparinBolusVolumeSwitch.checked - // ToDo: create a component for this, // ToDo: Consider putting the new CheckBox component into the SliderCreateTreatment component and set via boolean property // This is a full implementation of a CheckBox @@ -364,21 +376,16 @@ maximum : vTreatmentRanges.heparinStopTimeMax step : vTreatmentRanges.heparinStopTimeRes value : vTreatmentRanges.heparinStopTimeDef - valid : vTreatmentCreate.heparinStopTimeAccepted + valid : vTreatmentCreate.heparinStopTimeRejectReason == Variables.fwRejectReasonNONE + enabled : false // this switch depends on the heparin dispencing + enableAdjustButtons: _heparinDispensingRateSwitch.checked onValueChanged: { // Reset the valid state to allow repositioning to the next invalid parameter - vTreatmentCreate.heparinStopTimeAccepted = true - vTreatmentCreate.heparinStopTime = value + if(!valid) { + vTreatmentCreate.heparinStopTimeRejectReason = Variables.fwRejectReasonNONE + } + vTreatmentCreate.heparinStopTime = value } - - Connections { - // To do a visual update to show the parameter/slider with invalid value on the screen - target:vTreatmentCreate - function onHeparinStopTimeAcceptedChanged() { _flickable.setFlickableFocus(!_heparinStopTime.valid, _heparinStopTime.y);} - } - - enabled : false // this switch depends on the heparin dispencing - enableAdjustButtons: _heparinDispensingRateSwitch.checked } SliderCreateTreatment { id: _salineBolus @@ -390,17 +397,14 @@ maximum : vTreatmentRanges.salineBolusVolumeMax step : vTreatmentRanges.salineBolusVolumeRes value : vTreatmentRanges.salineBolusVolumeDef - valid : vTreatmentCreate.salineBolusVolumeAccepted + valid : vTreatmentCreate.salineBolusVolumeRejectReason == Variables.fwRejectReasonNONE onValueChanged: { // Reset the valid state to allow repositioning to the next invalid parameter - vTreatmentCreate.salineBolusVolumeAccepted = true - vTreatmentCreate.salineBolusVolume = value + if(!valid) { + vTreatmentCreate.salineBolusVolumeRejectReason = Variables.fwRejectReasonNONE + } + vTreatmentCreate.salineBolusVolume = value } - Connections { - // To do a visual update to show the parameter/slider with invalid value on the screen - target:vTreatmentCreate - function onSalineBolusVolumeAcceptedChanged() { _flickable.setFlickableFocus(!_salineBolus.valid, _salineBolus.y);} - } } Text { id: _titleTextOperation @@ -451,17 +455,14 @@ maximum : vTreatmentRanges.dialysateTempMax step : vTreatmentRanges.dialysateTempRes value : vTreatmentRanges.dialysateTempDef - valid : vTreatmentCreate.dialysateTempAccepted + valid : vTreatmentCreate.dialysateTempRejectReason == Variables.fwRejectReasonNONE onValueChanged: { // Reset the valid state to allow repositioning to the next invalid parameter - vTreatmentCreate.dialysateTempAccepted = true - vTreatmentCreate.dialysateTemp = value + if(!valid) { + vTreatmentCreate.dialysateTempRejectReason = Variables.fwRejectReasonNONE + } + vTreatmentCreate.dialysateTemp = value } - Connections { - // To do a visual update to show the parameter/slider with invalid value on the screen - target:vTreatmentCreate - function onDialysateTempAcceptedChanged() { _flickable.setFlickableFocus(!_dialysateTemperature.valid, _dialysateTemperature.y);} - } } // TODO : This has to be a Component @@ -524,16 +525,9 @@ upperText.anchors.topMargin : -60 upperTextHorizontalCenter : true - lowerBoundValid: vTreatmentCreate.arterialPressureLimitLowAccepted - upperBoundValid: vTreatmentCreate.arterialPressureLimitHighAccepted + lowerBoundValid: vTreatmentCreate.arterialPressureLimitLowRejectReason == Variables.fwRejectReasonNONE + upperBoundValid: vTreatmentCreate.arterialPressureLimitHighRejectReason == Variables.fwRejectReasonNONE - Connections { - // To do a visual update to show the parameter/slider with invalid value on the screen - target:vTreatmentCreate - function onArterialPressureLimitLowAcceptedChanged() { _flickable.setFlickableFocus(!_arterialPressureLimits.lowerBoundValid, _arterialPressureLimits.y);} - function onArterialPressureLimitHighAcceptedChanged(){ _flickable.setFlickableFocus(!_arterialPressureLimits.upperBoundValid, _arterialPressureLimits.y);} - } - minText.visible : true minText.font.bold : false minVerticalEdgeVisible : false @@ -557,10 +551,25 @@ onPressed : { setInteractive(false) } onDragged : { setInteractive(false) } onReleased : { setInteractive(true ) } - onMinValueChanged : { if ( minAdjusted ) vTreatmentCreate.arterialPressureLimitLow = minValue } - onMaxValueChanged : { if ( maxAdjusted ) vTreatmentCreate.arterialPressureLimitHigh = maxValue } - onClicked : { if ( minAdjusted ) vTreatmentCreate.arterialPressureLimitLow = minValue - if ( maxAdjusted ) vTreatmentCreate.arterialPressureLimitHigh = maxValue } + onMinValueChanged : { + if ( minAdjusted ) { + // Reset the valid state to allow repositioning to the next invalid parameter + if(!lowerBoundValid) { + vTreatmentCreate.arterialPressureLimitLowRejectReason = Variables.fwRejectReasonNONE + } + vTreatmentCreate.arterialPressureLimitLow = minValue + } + } + onMaxValueChanged : { + if ( maxAdjusted ) { + // Reset the valid state to allow repositioning to the next invalid parameter + if(!upperBoundValid) { + vTreatmentCreate.arterialPressureLimitHighRejectReason = Variables.fwRejectReasonNONE + } + vTreatmentCreate.arterialPressureLimitHigh = maxValue + } + } + SliderArrows{ id:_arterialPressureLimitsMaxArrows anchors.verticalCenter : _arterialPressureLimits.verticalCenter anchors.left : _arterialPressureLimits.right @@ -644,14 +653,8 @@ upperText.anchors.topMargin : -60 upperTextHorizontalCenter : true - lowerBoundValid : vTreatmentCreate.venousPressureLimitLowAccepted - upperBoundValid : vTreatmentCreate.venousPressureLimitHighAccepted - Connections { - // To do a visual update to show the parameter/slider with invalid value on the screen - target:vTreatmentCreate - function onVenousPressureLimitLowAcceptedChanged() { _flickable.setFlickableFocus(!_venousPressureLimits.lowerBoundValid, _venousPressureLimits.y);} - function onVenousPressureLimitHighAcceptedChanged(){ _flickable.setFlickableFocus(!_venousPressureLimits.upperBoundValid, _venousPressureLimits.y);} - } + lowerBoundValid : vTreatmentCreate.venousPressureLimitLowRejectReason == Variables.fwRejectReasonNONE + upperBoundValid : vTreatmentCreate.venousPressureLimitHighRejectReason == Variables.fwRejectReasonNONE minText.visible : true minText.font.bold : false @@ -679,15 +682,19 @@ onMinValueChanged : { if ( minAdjusted ) { // Reset the valid state to allow repositioning to the next invalid parameter - vTreatmentCreate.venousPressureLimitLowAccepted = true - vTreatmentCreate.venousPressureLimitLow = minValue + if(!lowerBoundValid) { + vTreatmentCreate.venousPressureLimitLowRejectReason = Variables.fwRejectReasonNONE + } + vTreatmentCreate.venousPressureLimitLow = minValue } } onMaxValueChanged : { if ( maxAdjusted ) { // Reset the valid state to allow repositioning to the next invalid parameter - vTreatmentCreate.venousPressureLimitHighAccepted = true - vTreatmentCreate.venousPressureLimitHigh = maxValue + if(!upperBoundValid) { + vTreatmentCreate.venousPressureLimitHighRejectReason = Variables.fwRejectReasonNONE + } + vTreatmentCreate.venousPressureLimitHigh = maxValue } } @@ -719,23 +726,18 @@ maximum : vTreatmentRanges.bloodPressureMeasureIntervalMax step : vTreatmentRanges.bloodPressureMeasureIntervalRes value : vTreatmentRanges.bloodPressureMeasureIntervalDef - valid : vTreatmentCreate.bloodPressureMeasureIntervalAccepted + valid : vTreatmentCreate.bloodPressureMeasureIntervalRejectReason == Variables.fwRejectReasonNONE + adjustable : _bloodPressureIntervalSwitch.checked + inActiveZero: true + enableAdjustButtons: _bloodPressureIntervalSwitch.checked onValueChanged: { // Reset the valid state to allow repositioning to the next invalid parameter - vTreatmentCreate.bloodPressureMeasureIntervalAccepted = true - vTreatmentCreate.bloodPressureMeasureInterval = value + if(!valid) { + vTreatmentCreate.bloodPressureMeasureIntervalRejectReason = Variables.fwRejectReasonNONE + } + vTreatmentCreate.bloodPressureMeasureInterval = value } - Connections { - // To do a visual update to show the parameter/slider with invalid value on the screen - target:vTreatmentCreate - function onBloodPressureMeasureIntervalAcceptedChanged() { _flickable.setFlickableFocus(!_bloodPressureInterval.valid, _bloodPressureInterval.y);} - } - - adjustable : _bloodPressureIntervalSwitch.checked - inActiveZero: true - enableAdjustButtons: _bloodPressureIntervalSwitch.checked - // ToDo: create a component for this, // ToDo: Consider putting the new CheckBox component into the SliderCreateTreatment component and set via boolean property // This is a full implementation of a CheckBox @@ -801,18 +803,14 @@ maximum : vTreatmentRanges.rinsebackFlowRateMax step : vTreatmentRanges.rinsebackFlowRateRes value : vTreatmentRanges.rinsebackFlowRateDef - valid : vTreatmentCreate.rinsebackFlowRateAccepted + valid : vTreatmentCreate.rinsebackFlowRateRejectReason == Variables.fwRejectReasonNONE onValueChanged: { // Reset the valid state to allow repositioning to the next invalid parameter - vTreatmentCreate.rinsebackFlowRateAccepted = true - vTreatmentCreate.rinsebackFlowRate = value + if(!valid) { + vTreatmentCreate.rinsebackFlowRateRejectReason = Variables.fwRejectReasonNONE + } + vTreatmentCreate.rinsebackFlowRate = value } - - Connections { - // To do a visual update to show the parameter/slider with invalid value on the screen - target:vTreatmentCreate - function onRinsebackFlowRateAcceptedChanged() { _flickable.setFlickableFocus(!_rinsebackFlowRate.valid, _rinsebackFlowRate.y);} - } } Item { width : 50 Index: sources/main.h =================================================================== diff -u -r5d7dd96636bc7a647c61a43bb04ed25f5c2f6e7e -r6712a4779cf81ad4d16ca070c7accb5c8de45fdd --- sources/main.h (.../main.h) (revision 5d7dd96636bc7a647c61a43bb04ed25f5c2f6e7e) +++ sources/main.h (.../main.h) (revision 6712a4779cf81ad4d16ca070c7accb5c8de45fdd) @@ -301,8 +301,7 @@ //--------------------------------------------------------------------------------// #define VALUESET( vTYPE , vVARIABLE , vDEFVALUE ) \ PROPERTY( vTYPE , vVARIABLE , vDEFVALUE ) \ - PROPERTY( bool , vVARIABLE##Set , false ) \ - TRIGGER ( bool , vVARIABLE##Accepted , true ) + PROPERTY( bool , vVARIABLE##Set , false ) //--------------------------------------------------------------------------------// #define RANGESET( vTYPE , vVARIABLE , vDEFVALUE ) \ READONLY( vTYPE , vVARIABLE##Min , vDEFVALUE ) \ Index: sources/view/VTreatmentCreate.cpp =================================================================== diff -u -r5d7dd96636bc7a647c61a43bb04ed25f5c2f6e7e -r6712a4779cf81ad4d16ca070c7accb5c8de45fdd --- sources/view/VTreatmentCreate.cpp (.../VTreatmentCreate.cpp) (revision 5d7dd96636bc7a647c61a43bb04ed25f5c2f6e7e) +++ sources/view/VTreatmentCreate.cpp (.../VTreatmentCreate.cpp) (revision 6712a4779cf81ad4d16ca070c7accb5c8de45fdd) @@ -108,24 +108,20 @@ void VTreatmentCreate::onActionReceive(const AdjustParametersValidationResponseData &data) { if (! data.mAccepted) { - bloodFlowRateAccepted (data.bloodFlowRate > 0); - dialysateFlowRateAccepted (data.dialysateFlowRate > 0); - treatmentDurationAccepted (data.duration > 0); - heparinDispensingRateAccepted (data.heparinDispensingRate > 0); - heparinBolusVolumeAccepted (data.heparinBolusVolume > 0); - heparinStopTimeAccepted (data.heparinStopTime > 0); - salineBolusVolumeAccepted (data.salineBolus > 0); - heparinTypeAccepted (data.heparinType > 0); - acidConcentrateAccepted (data.acidConcentrate > 0); - bicarbonateConcentrateAccepted (data.bicarbonateConcentrate > 0); - dialyzerTypeAccepted (data.dialyzerType > 0); - dialysateTempAccepted (data.dialysateTemp > 0); - arterialPressureLimitLowAccepted (data.arterialPressureLimitLow > 0); - arterialPressureLimitHighAccepted (data.arterialPressureLimitHigh > 0); - venousPressureLimitLowAccepted (data.venousPressureLimitLow > 0); - venousPressureLimitHighAccepted (data.venousPressureLimitHigh > 0); - bloodPressureMeasureIntervalAccepted (data.bloodPressureMeasureInterval> 0); - rinsebackFlowRateAccepted (data.rinsebackFlowRate > 0); + bloodFlowRateRejectReason (data.bloodFlowRate ); + dialysateFlowRateRejectReason (data.dialysateFlowRate ); + treatmentDurationRejectReason (data.duration ); + heparinDispensingRateRejectReason (data.heparinDispensingRate ); + heparinBolusVolumeRejectReason (data.heparinBolusVolume ); + heparinStopTimeRejectReason (data.heparinStopTime ); + salineBolusVolumeRejectReason (data.salineBolus ); + dialysateTempRejectReason (data.dialysateTemp ); + arterialPressureLimitLowRejectReason (data.arterialPressureLimitLow ); + arterialPressureLimitHighRejectReason (data.arterialPressureLimitHigh ); + venousPressureLimitLowRejectReason (data.venousPressureLimitLow ); + venousPressureLimitHighRejectReason (data.venousPressureLimitHigh ); + bloodPressureMeasureIntervalRejectReason (data.bloodPressureMeasureInterval); + rinsebackFlowRateRejectReason (data.rinsebackFlowRate ); emit fwValidationFailed(""); } Index: sources/view/VTreatmentCreate.h =================================================================== diff -u -rc9f8f8cf3c6c37fc6460d8675c62c9442c4d4263 -r6712a4779cf81ad4d16ca070c7accb5c8de45fdd --- sources/view/VTreatmentCreate.h (.../VTreatmentCreate.h) (revision c9f8f8cf3c6c37fc6460d8675c62c9442c4d4263) +++ sources/view/VTreatmentCreate.h (.../VTreatmentCreate.h) (revision 6712a4779cf81ad4d16ca070c7accb5c8de45fdd) @@ -98,6 +98,22 @@ VALUESET(QString , patientID ,"") VALUESET(bool , continueEnabled , 0) + TRIGGER (quint32 , bloodFlowRateRejectReason , 0 ) + TRIGGER (quint32 , dialysateFlowRateRejectReason , 0 ) + TRIGGER (quint32 , treatmentDurationRejectReason , 0 ) + TRIGGER (quint32 , heparinDispensingRateRejectReason , 0 ) + TRIGGER (quint32 , heparinBolusVolumeRejectReason , 0 ) + TRIGGER (quint32 , heparinStopTimeRejectReason , 0 ) + TRIGGER (quint32 , salineBolusVolumeRejectReason , 0 ) + TRIGGER (quint32 , dialysateTempRejectReason , 0 ) + TRIGGER (quint32 , arterialPressureLimitLowRejectReason , 0 ) + TRIGGER (quint32 , arterialPressureLimitHighRejectReason , 0 ) + TRIGGER (quint32 , venousPressureLimitLowRejectReason , 0 ) + TRIGGER (quint32 , venousPressureLimitHighRejectReason , 0 ) + TRIGGER (quint32 , bloodPressureMeasureIntervalRejectReason , 0 ) + TRIGGER (quint32 , rinsebackFlowRateRejectReason , 0 ) + + VIEW_DEC_CLASS(VTreatmentCreate) VIEW_DEC_SLOT(AdjustParametersValidationResponseData)