Index: sources/gui/qml/pages/pretreatment/create/PreTreatmentCreatePatientPrescription.qml =================================================================== diff -u -r4a3504bdb88da3e7ae9b5d43d5ab5b11c9b7f884 -raf80aaa1c114eab78444e973c86b3c42dd85ef52 --- sources/gui/qml/pages/pretreatment/create/PreTreatmentCreatePatientPrescription.qml (.../PreTreatmentCreatePatientPrescription.qml) (revision 4a3504bdb88da3e7ae9b5d43d5ab5b11c9b7f884) +++ sources/gui/qml/pages/pretreatment/create/PreTreatmentCreatePatientPrescription.qml (.../PreTreatmentCreatePatientPrescription.qml) (revision af80aaa1c114eab78444e973c86b3c42dd85ef52) @@ -8,191 +8,414 @@ import "qrc:/components" import "qrc:/compounds" - Row { id: _root readonly property int cellWidth : Variables.createRxLabelUnitContainerWidth readonly property int cellHeight : Variables.createRxLabelUnitContainerHeight + readonly property bool heparinFeatured : vSettings.heparinSyringePump + readonly property string patientID : _pretreatmentPatientIDEntry.text + property bool isHDFFeatured : vTreatmentCreate.treatmentModality === HeaderBar.Mode_HDF + property bool isHeparinOn : _heparinRxControl.value === PreTreatmentCreateTreatmentSettings.ON + property bool editingEnabled : true property int columnSpacing : 15 spacing : Variables.defaultMargin * 3 - function setPresetParameters () { - vTreatmentCreate.sodiumSet = true - vTreatmentCreate.bicarbonateSet = true - vTreatmentCreate.fluidBolusVolumeSet = true - vTreatmentCreate.rinsebackVolumeSet = true - vTreatmentCreate.bloodPressureMeasureIntervalSet = true - vTreatmentCreate.hepatitusBStatusSet = true + enum HeparinEnabled { + OFF, + ON + } - vTreatmentCreate.sodium = vTreatmentRanges.dialysateSodiumDef - vTreatmentCreate.bicarbonate = vTreatmentRanges.dialysateBicarbonateDef - vTreatmentCreate.fluidBolusVolume = vTreatmentRanges.salineBolusVolumeDef - vTreatmentCreate.rinsebackVolume = vTreatmentRanges.rinsebackVolumeDef - vTreatmentCreate.bloodPressureMeasureInterval = vTreatmentRanges.bloodPressureMeasureInterval[vTreatmentRanges.vitalsInterval] - vTreatmentCreate.hepatitusBStatus = 0 + signal clearHeparinDuration() + + onIsHDFFeaturedChanged: { + if ( ! isHDFFeatured ) { + vTreatmentCreate.hdfTreatmentMode = 0 + vTreatmentCreate.substitutionFluidVolume = 0 + } } + function setPresetParameters () { + vTreatmentCreate.dialysateTempSet = true + vTreatmentCreate.dialysateTemp = vTreatmentRanges.dialysateTempDef + _heparinRxControl.value = 0 + _heparinRx.reset() + vTreatmentCreate.ufPreWeight = vTreatmentRanges.weightDef + vTreatmentCreate.ufEstimatedTargetWeight = vTreatmentRanges.weightDef + } + function refreshAll () { - _sodium .refresh() - _bicarbonate .refresh() - _fluidBolusVolume .refresh() - _primeRinsebackVolume .refresh() - _bpMeasurementIntervalControl .refresh() - _hepatitusStatusControl .refresh() + _hdfTreatmentModeControl .refresh() + _subFluidVolume .refresh() + _bloodFlowRate .refresh() + _dialysateFlowRate .refresh() + _duration .refresh() + _ufVolume .refresh() + _heparinRxAdjustment .refresh() + _dialysateTemperature .refresh() } function clear () { - _sodium .clear() - _bicarbonate .clear() - _fluidBolusVolume .clear() - _primeRinsebackVolume .clear() - _bpMeasurementIntervalControl .clear() - _hepatitusStatusControl . clear() + vTreatmentCreate.patientID = "" + _hdfTreatmentModeControl .clear() + _subFluidVolume .clear() + _bloodFlowRate .clear() + _dialysateFlowRate .clear() + _duration .clear() + _ufVolume .clear() + _heparinRxAdjustment .clear() + _acidConcentrateComboBox .clear() + _bicarbonateConcentrateComboBox .clear() + _dialyzerTypeComboBox .clear() + _dialysateTemperature .clear() } function ready () { - return _sodium .isActive && _sodium .valid && - _bicarbonate .isActive && _bicarbonate .valid && - _fluidBolusVolume .isActive && _fluidBolusVolume .valid && - _primeRinsebackVolume .isActive && _primeRinsebackVolume .valid && - _bpMeasurementIntervalControl .isActive && _bpMeasurementInterval .valid && - _hepatitusStatusControl .isActive && _hepatitusStatus .valid + + return (_root.isHDFFeatured ? _hdfTreatmentModeControl.isActive && _hdfTreatmentMode .valid && + _subFluidVolume .isActive && _subFluidVolume .valid : true ) && + _bloodFlowRate .isActive && _bloodFlowRate .valid && + _dialysateFlowRate .isActive && _dialysateFlowRate .valid && + _duration .isActive && _duration .valid && + _ufVolume .isActive && _ufVolume .valid && + (_root.isHeparinOn && _root. heparinFeatured ? _heparinRxAdjustment.confirmReady() : true ) && + _acidConcentrateComboBox .isActive && _acidConcentrate .valid && + _bicarbonateConcentrateComboBox .isActive && _bicarbonateConcentrate .valid && + _dialyzerTypeComboBox .isActive && _dialyzerType .valid && + _dialysateTemperature .isActive && _dialysateTemperature .valid } Column { id: _leftColumn spacing : _root.columnSpacing - LabelUnitValueAdjuster { id: _sodium - text : qsTr("Sodium (Na)") - unitText : Variables.unitTextConcentration - valid : ! vTreatmentCreate.sodiumRejectReason + LabelUnitContainer { id: _patientID + text : qsTr("Patient ID") + contentArea.anchors.leftMargin : 120 + + contentItem : TextEntry { id: _pretreatmentPatientIDEntry + clip : true + textInput.width : parent.width - Variables.defaultMargin * 4 + text : vTreatmentCreate.patientID + anchors.centerIn : parent + textInput.maximumLength : 20 // LEAHI-PRS-236 + textInput.rightPadding : Variables.defaultMargin + textInput.leftPadding : Variables.defaultMargin * 14 + textInput.inputMethodHints : Qt.ImhPreferLowercase + textInput.echoMode : TextInput.Normal + textInput.validator : RegExpValidator { regExp: Variables.regExp_PatientID } + line.visible : false + enabled : _root.editingEnabled + onEditingFinished : vTreatmentCreate.patientID = text + + Text { id: _patientIDPlaceHolderText + text : Variables.emptyEntry + anchors.fill : parent + rightPadding : 125 + horizontalAlignment : Text.AlignRight + font.pixelSize : Fonts.fontPixelValueControl + color : Colors.offWhite + visible : _pretreatmentPatientIDEntry.textInput.text.length === 0 && + ! _pretreatmentPatientIDEntry.textInput.activeFocus + } + } + } + + LabelUnitContainer { id: _treatmentModality + text : qsTr("Treatment Modality") + valid : ! vTreatmentCreate.treatmentModalityRejectReason + + contentItem : BaseComboBox { id: _treatmentModalityComboBox + anchors.rightMargin : Variables.defaultMargin * 2 + anchors.leftMargin : anchors.rightMargin + anchors.topMargin : Variables.defaultMargin / 2 + anchors.bottomMargin: anchors.topMargin + isActive : true // PRS-215 + enabled : _root.editingEnabled + currentIndex : vTreatmentCreate.treatmentModality + model : vTreatmentRanges.treatmentModalityOptions + centerHorizontally : true + + onActivated : { + if ( ! _treatmentModality.valid ) { vTreatmentCreate.treatmentModalityRejectReason = Variables.noRejectReason } + vTreatmentCreate.treatmentModality = _treatmentModalityComboBox.currentIndex + } + } + } + + LabelUnitContainer { id: _hdfTreatmentMode + text : _root.isHDFFeatured ? qsTr("HDF Operating Mode") : "" + valid : ! vTreatmentCreate.hDFTreatmentModeRejectReason + height : _root.isHDFFeatured ? _root.cellHeight : 0 + + contentItem : ValueAdjusterCustom { id: _hdfTreatmentModeControl + value : vTreatmentCreate.hdfTreatmentMode + model : vTreatmentRanges.hdfTreatmentModeOptions + isActive : vTreatmentCreate.hdfTreatmentModeSet + editable : _root.editingEnabled + visible : _root.isHDFFeatured + + onDidActiveChange: function(vState) { vTreatmentCreate.hdfTreatmentModeSet = vState } + + onDidChange : function(vValue) { + if ( ! _hdfTreatmentMode.valid ) { vTreatmentCreate.hDFTreatmentModeRejectReason = Variables.noRejectReason } + vTreatmentCreate.hdfTreatmentModeSet = true + vTreatmentCreate.hdfTreatmentMode = vValue + } + } + Behavior on height { NumberAnimation { duration: 250 } } + } + + LabelUnitValueAdjuster { id: _subFluidVolume + text : _root.isHDFFeatured ? qsTr("Substitution Fluid Volume") : "" width : _root.cellWidth - height : _root.cellHeight + height : _root.isHDFFeatured ? _root.cellHeight : 0 + contentItem.visible: _root.isHDFFeatured + unitText : _root.isHDFFeatured ? Variables.unitVolume : "" + valid : ! vTreatmentCreate.substitutionFluidVolumeRejectReason editable : _root.editingEnabled - minimum : vTreatmentRanges.dialysateSodiumMin - maximum : vTreatmentRanges.dialysateSodiumMax - step : vTreatmentRanges.dialysateSodiumRes - defaultValue : vTreatmentRanges.dialysateSodiumDef - value : vTreatmentCreate.sodium - isActive : vTreatmentCreate.sodiumSet - onDidActiveChange : function(vState) { vTreatmentCreate.sodiumSet = vState } + minimum : vTreatmentRanges.substitutionVolumeMin + maximum : vTreatmentRanges.substitutionVolumeMax + step : vTreatmentRanges.substitutionVolumeRes + defaultValue : vTreatmentRanges.substitutionVolumeDef + decimal : Variables.substitutionPrecision + value : vTreatmentCreate.substitutionFluidVolume + isActive : vTreatmentCreate.substitutionFluidVolumeSet + + onDidActiveChange : function(vState) { vTreatmentCreate.substitutionFluidVolumeSet = vState } onDidChange : function(vValue) { - if ( ! _sodium.valid ) { vTreatmentCreate.sodiumRejectReason = Variables.noRejectReason } - vTreatmentCreate.sodium = vValue + if ( ! _subFluidVolume.valid ) { vTreatmentCreate.substitutionFluidVolumeRejectReason = Variables.noRejectReason } + vTreatmentCreate.substitutionFluidVolume = vValue } + Behavior on height { NumberAnimation { duration: 250 } } } - LabelUnitValueAdjuster { id: _bicarbonate - text : qsTr("Bicarbonate") - unitText : Variables.unitTextConcentration - valid : ! vTreatmentCreate.bicarbonateRejectReason + LabelUnitValueAdjuster { id: _bloodFlowRate + text : qsTr("Blood Flow Rate") + unitText : Variables.unitTextFlowRate + valid : ! vTreatmentCreate.bloodFlowRateRejectReason width : _root.cellWidth height : _root.cellHeight editable : _root.editingEnabled - minimum : vTreatmentRanges.dialysateBicarbonateMin - maximum : vTreatmentRanges.dialysateBicarbonateMax - step : vTreatmentRanges.dialysateBicarbonateRes - defaultValue : vTreatmentRanges.dialysateBicarbonateDef - value : vTreatmentCreate.bicarbonate - isActive : vTreatmentCreate.bicarbonateSet - onDidActiveChange : function(vState) { vTreatmentCreate.bicarbonateSet = vState } + minimum : vTreatmentRanges.bloodFlowRateMin + maximum : vTreatmentRanges.bloodFlowRateMax + step : vTreatmentRanges.bloodFlowRateRes + defaultValue : vTreatmentRanges.bloodFlowRateDef + value : vTreatmentCreate.bloodFlowRate + isActive : vTreatmentCreate.bloodFlowRateSet + onDidActiveChange : function(vState) { vTreatmentCreate.bloodFlowRateSet = vState } onDidChange : function(vValue) { - if ( ! _sodium.valid ) { vTreatmentCreate.bicarbonateRejectReason = Variables.noRejectReason } - vTreatmentCreate.bicarbonate = vValue + if ( ! _bloodFlowRate.valid ) { vTreatmentCreate.bloodFlowRateRejectReason = Variables.noRejectReason } + vTreatmentCreate.bloodFlowRate = vValue } } - LabelUnitValueAdjuster { id: _fluidBolusVolume - text : qsTr("Fluid Bolus Volume") - unitText : Variables.unitTextFluid - valid : ! vTreatmentCreate.fluidBolusVolumeRejectReason + LabelUnitValueAdjuster { id: _dialysateFlowRate + text : qsTr("Dialysate Flow Rate") + unitText : Variables.unitTextFlowRate + valid : ! vTreatmentCreate.dialysateFlowRateRejectReason width : _root.cellWidth height : _root.cellHeight editable : _root.editingEnabled - minimum : vTreatmentRanges.salineBolusVolumeMin - maximum : vTreatmentRanges.salineBolusVolumeMax - step : vTreatmentRanges.salineBolusVolumeRes - defaultValue : vTreatmentRanges.salineBolusVolumeDef - value : vTreatmentCreate.fluidBolusVolume - isActive : vTreatmentCreate.fluidBolusVolumeSet - onDidActiveChange : function(vState) { vTreatmentCreate.fluidBolusVolumeSet = vState } - onDidChange : function(vValue) { - if ( ! _fluidBolusVolume.valid ) { vTreatmentCreate.fluidBolusVolumeRejectReason = Variables.noRejectReason } - vTreatmentCreate.fluidBolusVolume = vValue + minimum : vTreatmentRanges.dialysateFlowRateMin + maximum : vTreatmentRanges.dialysateFlowRateMax + step : vTreatmentRanges.dialysateFlowRateRes + defaultValue : vTreatmentRanges.dialysateFlowRateDef + value : vTreatmentCreate.dialysateFlowRate + isActive : vTreatmentCreate.dialysateFlowRateSet + onDidActiveChange : function(vState) { vTreatmentCreate.dialysateFlowRateSet = vState } + onDidChange : function(vValue) { + if ( ! _dialysateFlowRate.valid ) { vTreatmentCreate.dialysateFlowRateRejectReason = Variables.noRejectReason } + vTreatmentCreate.dialysateFlowRate = vValue } } - LabelUnitValueAdjuster { id: _primeRinsebackVolume - text : qsTr("Prime Rinseback Volume") - unitText : Variables.unitTextFluid - valid : ! vTreatmentCreate.rinsebackVolumeRejectReason + LabelUnitValueAdjuster { id: _duration + text : qsTr("Duration") + unitText : Variables.unitTextDuration + valid : ! vTreatmentCreate.treatmentDurationRejectReason width : _root.cellWidth height : _root.cellHeight editable : _root.editingEnabled - minimum : vTreatmentRanges.rinsebackVolumeMin - maximum : vTreatmentRanges.rinsebackVolumeMax - step : vTreatmentRanges.rinsebackVolumeRes - defaultValue : vTreatmentRanges.rinsebackVolumeDef - value : vTreatmentCreate.rinsebackVolume - isActive : vTreatmentCreate.rinsebackVolumeSet - onDidActiveChange : function(vState) { vTreatmentCreate.rinsebackVolumeSet = vState } + minimum : vTreatmentRanges.treatmentDurationMin + maximum : vTreatmentRanges.treatmentDurationMax + step : vTreatmentRanges.treatmentDurationRes + defaultValue : vTreatmentRanges.treatmentDurationDef + value : vTreatmentCreate.treatmentDuration + isActive : vTreatmentCreate.treatmentDurationSet + onDidActiveChange: function(vState) { vTreatmentCreate.treatmentDurationSet = vState } onDidChange : function(vValue) { - if ( ! _primeRinsebackVolume.valid ) { vTreatmentCreate.rinsebackVolumeRejectReason = Variables.noRejectReason } - vTreatmentCreate.rinsebackVolume = vValue + if ( ! _duration.valid ) { vTreatmentCreate.treatmentDurationRejectReason = Variables.noRejectReason } + vTreatmentCreate.treatmentDuration = vValue + + // set heparin time to clear when set + clearHeparinDuration() } } } Column { id: _rightColumn spacing : _root.columnSpacing - LabelUnitContainer { id: _bpMeasurementInterval - text : qsTr("Vitals Interval") - unitText : Variables.unitTextDuration - valid : ! vTreatmentCreate.bloodPressureMeasureIntervalRejectReason + LabelUnitValueAdjuster { id: _ufVolume + text : qsTr("Ultrafiltration Volume") + width : _root.cellWidth + height : _root.cellHeight + unitText : Variables.unitVolume + showEdit : true + needsAttention : vTreatmentCreate.ufPreWeightRejectionReason || vTreatmentCreate.ufEstimatedTargetWeightRejectionReason + valid : ! vTreatmentCreate.ufVolumeRejectionReason + editable : _root.editingEnabled + minimum : vTreatmentRanges.ultrafiltrationVolumeMin + maximum : vTreatmentRanges.ultrafiltrationVolumeMax + step : vTreatmentRanges.ultrafiltrationVolumeRes + defaultValue : vTreatmentRanges.ultrafiltrationVolumeDef + decimal : Variables.ultrafiltrationPrecision + value : vTreatmentCreate.ultrafiltrationVolume + isActive : vTreatmentCreate.ultrafiltrationVolumeSet - contentItem : ValueAdjusterCustom { id: _bpMeasurementIntervalControl - editable : _root.editingEnabled - isActive : vTreatmentCreate.bloodPressureMeasureIntervalSet - defaultValue : vTreatmentRanges.vitalsInterval - value : vTreatmentRanges.bloodPressureMeasureInterval.indexOf(vTreatmentCreate.bloodPressureMeasureInterval.toString()) - model : vTreatmentRanges.bloodPressureMeasureInterval - canOff : true + onDidActiveChange : function(vState) { vTreatmentCreate.ultrafiltrationVolumeSet = vState } + onDidChange : function(vValue) { + if ( ! _ufVolume.valid ) { vTreatmentCreate.ufVolumeRejectionReason = Variables.noRejectReason } + vTreatmentCreate.ultrafiltrationVolume = vValue - onDidActiveChange: function(vState) { vTreatmentCreate.bloodPressureMeasureIntervalSet = vState } + // zero target eight if UF volume is entered + vTreatmentCreate.ufEstimatedTargetWeight = 0 + } + onEditClicked :_ufVolumeAdjustment.open() + } + + LabelUnitContainer { id: _heparinRx + text : qsTr("Heparin Rx") + valid : ! vTreatmentCreate.heparinDeliveryDurationRejectReason && + ! vTreatmentCreate.heparinTypeRejectReason && + ! vTreatmentCreate.heparinBolusVolumeRejectReason && + ! vTreatmentCreate.heparinDispensingRateRejectReason + visible : _root.heparinFeatured + showEdit : true + needsAttention : ! _heparinRxAdjustment.confirmReady() + editEnabled : _heparinRxControl.value === PreTreatmentCreateTreatmentSettings.ON + + function reset() { + vTreatmentCreate.heparinBolusVolume = 0 + vTreatmentCreate.heparinDispensingRate = 0 + vTreatmentCreate.heparinDeliveryDuration = 0 + } + + contentItem : ValueAdjusterCustom { id: _heparinRxControl + defaultValue : 0 + value : 0 + editable : _root.editingEnabled + model : [qsTr("OFF"), qsTr("ON")] onDidChange : function(vValue) { - if ( ! _bpMeasurementInterval.valid ) { - vTreatmentCreate.bloodPressureMeasureIntervalRejectReason = Variables.noRejectReason + value = vValue + if ( value ) { + _heparinRxAdjustment.open() } - - vTreatmentCreate.bloodPressureMeasureInterval = vTreatmentRanges.bloodPressureMeasureInterval[vValue] + else { + reset() + } } } + + onEditClicked : _heparinRxAdjustment.open() } - LabelUnitContainer { id: _hepatitusStatus - text : qsTr("Hepatitus Status") - valid : ! vTreatmentCreate.hepatitusBStatusRejectReason + LabelUnitContainer { id: _acidConcentrate + text : qsTr("Acid Concentrate") +// showEdit : _root.editingEnabled // Hide 👋📋 TODO Phase 2 + onEditClicked : _acidConcentrateAdjustment.open() + valid : ! vTreatmentCreate.acidConcentrateConversionFactorRejectionReason && ! vTreatmentCreate.acidConcentrateIndexRejectionReason - contentItem : ValueAdjusterCustom { id: _hepatitusStatusControl - editable : _root.editingEnabled - isActive : vTreatmentCreate.hepatitusBStatusSet - value : vTreatmentCreate.hepatitusBStatus - defaultValue : vTreatmentCreate.hepatitusBStatus - model : vTreatmentRanges.hepatitisStatus + contentItem : BaseComboBox { id: _acidConcentrateComboBox + anchors.rightMargin : Variables.defaultMargin * 2 + anchors.leftMargin : anchors.rightMargin + anchors.topMargin : Variables.defaultMargin / 2 + anchors.bottomMargin: anchors.topMargin + isActive : vTreatmentCreate.acidConcentrateSet + enabled : _root.editingEnabled + currentIndex : vTreatmentCreate.acidConcentrate + centerHorizontally : true + model : vTreatmentRanges.acidConcentrateOptions + onClear : { + vTreatmentRanges.doClearAcidConcentrate(vTreatmentCreate.acidConcentrateSet) + vTreatmentCreate.acidConcentrateSet = false + } - onDidActiveChange: function(vState) { vTreatmentCreate.hepatitusBStatusSet = vState } + onActivated : { + if ( ! _acidConcentrate.valid ) { vTreatmentCreate.acidConcentrateConversionFactorRejectionReason = Variables.noRejectReason + vTreatmentCreate.acidConcentrateIndexRejectionReason = Variables.noRejectReason } + vTreatmentCreate.acidConcentrate = _acidConcentrateComboBox.currentIndex + vTreatmentCreate.acidConcentrateSet = true + vTreatmentCreate.acidConcentrateConversionFactor = vTreatmentRanges.acidConcentrateModel.get(vTreatmentCreate.acidConcentrate).value + } + } + } - onDidChange : function(vValue) { - if ( ! _hepatitusStatus.valid ) { - vTreatmentCreate.hepatitusBStatusRejectReason = Variables.noRejectReason - } + LabelUnitContainer { id: _bicarbonateConcentrate + text : qsTr("Bicarbonate Concentrate Size") + valid : ! vTreatmentCreate.dryBicarbCartSizeRejectReason - vTreatmentCreate.hepatitusBStatus = vValue + contentItem : BaseComboBox { id: _bicarbonateConcentrateComboBox + anchors.rightMargin : Variables.defaultMargin * 2 + anchors.leftMargin : anchors.rightMargin + anchors.topMargin : Variables.defaultMargin / 2 + anchors.bottomMargin: anchors.topMargin + isActive : vTreatmentCreate.dryBicarbCartSizeSet + enabled : _root.editingEnabled + currentIndex : vTreatmentCreate.dryBicarbCartSize + model : vTreatmentRanges.dryBicabCartridgeSizeOptions + centerHorizontally : true + onClear : vTreatmentCreate.dryBicarbCartSizeSet = false + onActivated : { + if ( ! _bicarbonateConcentrate.valid ) { vTreatmentCreate.dryBicarbCartSizeRejectReason = Variables.noRejectReason } + vTreatmentCreate.dryBicarbCartSize = _bicarbonateConcentrateComboBox.currentIndex + vTreatmentCreate.dryBicarbCartSizeSet = true } } } + + LabelUnitContainer { id: _dialyzerType + text : qsTr("Dialyzer Type") + valid : ! vTreatmentCreate.dialyzerTypeRejectReason + + contentItem : BaseComboBox { id: _dialyzerTypeComboBox + anchors.rightMargin : Variables.defaultMargin * 2 + anchors.leftMargin : anchors.rightMargin + anchors.topMargin : Variables.defaultMargin / 2 + anchors.bottomMargin: anchors.topMargin + isActive : vTreatmentCreate.dialyzerTypeSet + enabled : _root.editingEnabled + currentIndex : vTreatmentCreate.dialyzerType + model : vTreatmentRanges.dialyzerTypeOptions + onClear : vTreatmentCreate.dialyzerTypeSet = false + onActivated : { + if ( ! _dialyzerType.valid ) { vTreatmentCreate.dialyzerTypeRejectReason = Variables.noRejectReason } + vTreatmentCreate.dialyzerType = _dialyzerTypeComboBox.currentIndex + vTreatmentCreate.dialyzerTypeSet = true + } + } + } + + LabelUnitValueAdjuster { id: _dialysateTemperature + text : qsTr("Dialysate Temperature") + unitText : Variables.unitTextTemperature + valid : ! vTreatmentCreate.dialysateTempRejectReason + width : _root.cellWidth + height : _root.cellHeight + editable : _root.editingEnabled + minimum : vTreatmentRanges.dialysateTempMin + maximum : vTreatmentRanges.dialysateTempMax + step : vTreatmentRanges.dialysateTempRes + defaultValue : vTreatmentRanges.dialysateTempDef + value : vTreatmentCreate.dialysateTemp + decimal : Variables.dialysateTempPrecision + isActive : vTreatmentCreate.dialysateTempSet + onDidActiveChange : function(vState) { vTreatmentCreate.dialysateTempSet = vState } + onDidChange : function(vValue) { + if ( ! _dialysateTemperature.valid ) { vTreatmentCreate.dialysateTempRejectReason = Variables.noRejectReason } + vTreatmentCreate.dialysateTemp = vValue + } + } } }