Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentVitalsInterval.qml =================================================================== diff -u -rbea36be2766046e63c4e82539a630b5cee7ce1c6 -r59a1b4dceeb629ed08a434775d819ce108fe894b --- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentVitalsInterval.qml (.../TreatmentAdjustmentVitalsInterval.qml) (revision bea36be2766046e63c4e82539a630b5cee7ce1c6) +++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentVitalsInterval.qml (.../TreatmentAdjustmentVitalsInterval.qml) (revision 59a1b4dceeb629ed08a434775d819ce108fe894b) @@ -23,48 +23,137 @@ TreatmentAdjustmentBase { id: _root contentItem.objectName: "TreatmentAdjustmentVitalsInterval" - titleText : qsTr("Vitals Interval") + titleText : qsTr("Vitals Settings") titlePixelSize : Fonts.fontPixelSection - height : Variables.smallDialogHeight - width : Variables.smallDialogWidth + readonly property int containerWidth : (_root.width - (Variables.defaultMargin * 5))/2 + readonly property bool isValid : _systolicLowAlarmLimit .valid && + _systolicHighAlarmLimit .valid && + _heartRateLowAlarmLimit .valid && + _heartRateHighAlarmLimit .valid && + _bpMeasurementInterval .valid + function confirm() { vTreatmentCreate.bloodPressureMeasureInterval = vTreatmentRanges.bloodPressureMeasureInterval[_bpMeasurementIntervalControl.currentIndex] + vTreatmentAdjustmentVitalsAlarmLimits.doAdjustment(_systolicLowAlarmLimit.value , + _systolicHighAlarmLimit.value , + _heartRateLowAlarmLimit.value , + _heartRateHighAlarmLimit.value , + vTreatmentCreate.bloodPressureMeasureInterval ) vTreatmentVitals.doTimerStart() - _root.close() } onOpened: _bpMeasurementIntervalControl.currentIndex = vTreatmentRanges.bloodPressureMeasureInterval.indexOf(vTreatmentCreate.bloodPressureMeasureInterval.toString()) - LabelUnitContainer { id: _bpMeasurementInterval + + Row { id: _controlRow + objectName : "_controlRow" anchors { - verticalCenter : _root.contentItem.verticalCenter - verticalCenterOffset: Variables.defaultMargin * -3 // better align label with dialog height - horizontalCenter: _root.contentItem.horizontalCenter + top : parent.top + topMargin : Variables.defaultMargin * 2 + bottom : _confirmButton.top + horizontalCenter: parent.horizontalCenter } + spacing : Variables.defaultMargin - text : qsTr("Vitals Interval") - unitText : Variables.unitTextDuration - valid : ! vTreatmentCreate.bloodPressureMeasureIntervalRejectReason - width : Variables.adjustmentLabelUnitContainerWidth - height : Variables.adjustmentLabelUnitContainerHeight + Column { id: _controlLeftColumn + objectName : "_controlLeftColumn" + spacing : Variables.defaultMargin - contentItem : ValueAdjusterCustom { id: _bpMeasurementIntervalControl - isActive : vTreatmentCreate.bloodPressureMeasureIntervalSet - value : vTreatmentRanges.bloodPressureMeasureInterval.indexOf(vTreatmentCreate.bloodPressureMeasureInterval.toString()) - model : vTreatmentRanges.bloodPressureMeasureInterval - defaultValue : vTreatmentRanges.vitalsInterval - canOff : true + LabelUnitValueAdjuster { id: _systolicLowAlarmLimit + width : _root.containerWidth + text : qsTr("Systolic BP Low Alarm Limit") + unitText : Variables.unitTextBloodPressure + valid : ! vTreatmentAdjustmentVitalsAlarmLimits.systolicBpLowAlarmLimitRejectionReson + minimum : vTreatmentRanges.systolicBloodPressureLowAlarmLimitMin + maximum : vTreatmentRanges.systolicBloodPressureLowAlarmLimitMax + step : vTreatmentRanges.systolicBloodPressureLowAlarmLimitRes + value : vTreatmentRanges.systolicBloodPressureLowAlarmLimitDef + isActive : true + onDidChange : function(vValue) { + if ( ! _systolicLowAlarmLimit.valid ) { vTreatmentAdjustmentVitalsAlarmLimits.systolicBpLowAlarmLimitRejectionReson = Variables.noRejectReason } + value = vValue + } + } - onDidActiveChange: function(vState) { vTreatmentCreate.bloodPressureMeasureIntervalSet = vState } + LabelUnitValueAdjuster { id: _systolicHighAlarmLimit + width : _root.containerWidth + text : qsTr("Systolic BP Low Alarm Limit") + unitText : Variables.unitTextBloodPressure + valid : ! vTreatmentAdjustmentVitalsAlarmLimits.systolicBpHighAlarmLimitRejectionReson + minimum : vTreatmentRanges.systolicBloodPressureHighAlarmLimitMin + maximum : vTreatmentRanges.systolicBloodPressureHighAlarmLimitMax + step : vTreatmentRanges.systolicBloodPressureHighAlarmLimitRes + value : vTreatmentRanges.systolicBloodPressureHighAlarmLimitDef + isActive : true + onDidChange : function(vValue) { + if ( ! _systolicHighAlarmLimit.valid ) { vTreatmentAdjustmentVitalsAlarmLimits.systolicBpHighAlarmLimitRejectionReson = Variables.noRejectReason } + value = vValue + } + } + } - onDidChange : function(vValue) { - if ( ! _bpMeasurementInterval.valid ) { - vTreatmentCreate.bloodPressureMeasureIntervalRejectReason = Variables.noRejectReason + Column { id: _controlRightColumn + objectName: "_controlRightColumn" + spacing: Variables.defaultMargin + + LabelUnitValueAdjuster { id: _heartRateLowAlarmLimit + width : _root.containerWidth + text : qsTr("Heart Rate Low Alarm Limit") + unitText : Variables.unitTextHeartBeat + valid : ! vTreatmentAdjustmentVitalsAlarmLimits.heartRateLowAlarmLimitRejectionReson + minimum : vTreatmentRanges.heartRateLowAlarmLimitMin + maximum : vTreatmentRanges.heartRateLowAlarmLimitMax + step : vTreatmentRanges.heartRateLowAlarmLimitRes + value : vTreatmentRanges.heartRateLowAlarmLimitDef + isActive : true + onDidChange : function(vValue) { + if ( ! _heartRateLowAlarmLimit.valid ) { vTreatmentAdjustmentVitalsAlarmLimits.heartRateLowAlarmLimitRejectionReson = Variables.noRejectReason } + value = vValue } - vTreatmentCreate.bloodPressureMeasureIntervalSet = true } + + LabelUnitValueAdjuster { id: _heartRateHighAlarmLimit + width : _root.containerWidth + text : qsTr("Heart Rate High Alarm Limit") + unitText : Variables.unitTextHeartBeat + valid : ! vTreatmentAdjustmentVitalsAlarmLimits.heartRateHighAlarmLimitRejectionReson + minimum : vTreatmentRanges.heartRateHighAlarmLimitMin + maximum : vTreatmentRanges.heartRateHighAlarmLimitMax + step : vTreatmentRanges.heartRateHighAlarmLimitRes + value : vTreatmentRanges.heartRateHighAlarmLimitDef + isActive : true + onDidChange : function(vValue) { + if ( ! _heartRateHighAlarmLimit.valid ) { vTreatmentAdjustmentVitalsAlarmLimits.heartRateHighAlarmLimitRejectionReson = Variables.noRejectReason } + value = vValue + } + } + + LabelUnitContainer { id: _bpMeasurementInterval + text : qsTr("Vitals Interval") + unitText : Variables.unitTextDuration + valid : ! vTreatmentAdjustmentVitalsAlarmLimits.vitalsIntervalRejectionReson + width : _root.containerWidth + height : Variables.adjustmentLabelUnitContainerHeight + + contentItem : ValueAdjusterCustom { id: _bpMeasurementIntervalControl + isActive : vTreatmentCreate.bloodPressureMeasureIntervalSet + value : vTreatmentRanges.bloodPressureMeasureInterval.indexOf(vTreatmentCreate.bloodPressureMeasureInterval.toString()) + model : vTreatmentRanges.bloodPressureMeasureInterval + defaultValue : vTreatmentRanges.vitalsInterval + canOff : true + + onDidActiveChange: function(vState) { vTreatmentCreate.bloodPressureMeasureIntervalSet = vState } + + onDidChange : function(vValue) { + if ( ! _bpMeasurementInterval.valid ) { + vTreatmentAdjustmentVitalsAlarmLimits.vitalsIntervalRejectionReson = Variables.noRejectReason + } + vTreatmentCreate.bloodPressureMeasureIntervalSet = true + } + } + } } }