Index: sources/view/hd/data/VTreatmentRanges.cpp =================================================================== diff -u -r9dedf7365588ad0124e35ac9cdbe25903488f609 -r2ef03b2ce51b4dc507f66e9671953a8e0824bde9 --- sources/view/hd/data/VTreatmentRanges.cpp (.../VTreatmentRanges.cpp) (revision 9dedf7365588ad0124e35ac9cdbe25903488f609) +++ sources/view/hd/data/VTreatmentRanges.cpp (.../VTreatmentRanges.cpp) (revision 2ef03b2ce51b4dc507f66e9671953a8e0824bde9) @@ -1,31 +1,147 @@ /*! * - * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. + * Copyright (c) 2020-2024 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 VTreatmentRanges.cpp - * \author (last) Behrouz NematiPour - * \date (last) 31-Aug-2020 - * \author (original) Behrouz NematiPour - * \date (original) 26-Aug-2020 + * \file VTreatmentRanges.cpp + * \author (last) Behrouz NematiPour + * \date (last) 06-Aug-2023 + * \author (original) Behrouz NematiPour + * \date (original) 26-Aug-2020 * */ #include "VTreatmentRanges.h" #include "VTreatmentCreate.h" // Project +#include "ApplicationController.h" #include "GuiController.h" +#include "StorageGlobals.h" -VIEW_DEF(VTreatmentRanges, TreatmentRangesData) +VIEW_DEF_CLASS(VTreatmentRanges) -void VTreatmentRanges::onActionReceive(const TreatmentRangesData &vData) +void VTreatmentRanges::initConnections() { + ACTION_VIEW_CONNECTION(TreatmentRangesData); + ACTION_VIEW_CONNECTION(SettingsData); + + // since we do not have access to this object because it is created in QML. + // Connection to the GuiController made here + // It should be defined in the class which wants to connect to signal. + // VTreatmentRanges -> GUIController -> ApplicationController to handle + connect(this , SIGNAL(didTreatmentRangesDone(bool)), + &_GuiController, SLOT( doTreatmentRangesDone(bool))); + +} + +void View::VTreatmentRanges::onActionReceive(const TreatmentRangesData &vData) { treatmentRanges_Duration_Min ( vData.mDuration_Min ); treatmentRanges_Duration_Max ( vData.mDuration_Max ); treatmentRanges_Ultrafiltration_Volume_Min ( vData.mUltrafiltration_Volume_Min / 1000 ); // mL => L treatmentRanges_Ultrafiltration_Volume_Max ( vData.mUltrafiltration_Volume_Max / 1000 ); // mL => L - treatmentRanges_Dialysate_Flow_Min ( vData.mDialysate_Flow_Min - ( vData.mDialysate_Flow_Min % VTreatmentCreate::dialysateFlowRate_Res ) ); - treatmentRanges_Dialysate_Flow_Max ( vData.mDialysate_Flow_Max - ( vData.mDialysate_Flow_Max % VTreatmentCreate::dialysateFlowRate_Res ) ); + treatmentRanges_Dialysate_Flow_Min ( vData.mDialysate_Flow_Min - ( vData.mDialysate_Flow_Min % dialysateFlowRateRes() ) ); + treatmentRanges_Dialysate_Flow_Max ( vData.mDialysate_Flow_Max - ( vData.mDialysate_Flow_Max % dialysateFlowRateRes() ) ); } + +/*! + * \brief VTreatmentCreate::onSettingsDone + * \details fills the items below, read from the settings file, when the reading is notified done by ApplicationController. + * acidConcentrateOptions + * bicarbonateConcentrateOptions + * dialyzerTypeOptions + * heparinTypeOptions + * + */ +void View::VTreatmentRanges::onActionReceive(const SettingsData &) +{ + QString mCategory = Storage::Settings_Category_ConfigurationsDataList; + + bool isConfigsOk = true; // assume configurations are valid + + FROMVARIANT_WITHRETURN ( bloodFlowRateMin , "Blood Flow Rate Ranges" , "Blood_Flow_Rate_Min" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( bloodFlowRateMax , "Blood Flow Rate Ranges" , "Blood_Flow_Rate_Max" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( bloodFlowRateRes , "Blood Flow Rate Ranges" , "Blood_Flow_Rate_Res" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( bloodFlowRateDef , "Blood Flow Rate Ranges" , "Blood_Flow_Rate_Def" , UInt , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( dialysateFlowRateMin , "Dialysate Flow Rate Ranges" , "Dialysate_Flow_Rate_Min" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( dialysateFlowRateMax , "Dialysate Flow Rate Ranges" , "Dialysate_Flow_Rate_Max" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( dialysateFlowRateRes , "Dialysate Flow Rate Ranges" , "Dialysate_Flow_Rate_Res" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( dialysateFlowRateDef , "Dialysate Flow Rate Ranges" , "Dialysate_Flow_Rate_Def" , UInt , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( treatmentDurationMin , "Treatment Duration Ranges" , "Treatment_Duration_Min" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( treatmentDurationMax , "Treatment Duration Ranges" , "Treatment_Duration_Max" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( treatmentDurationRes , "Treatment Duration Ranges" , "Treatment_Duration_Res" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( treatmentDurationDef , "Treatment Duration Ranges" , "Treatment_Duration_Def" , UInt , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( heparinDispensingRateMin , "Heparin Dispensing Rate Ranges" , "Heparin_Dispensing_Rate_Min" , Float , isConfigsOk ); + FROMVARIANT_WITHRETURN ( heparinDispensingRateMax , "Heparin Dispensing Rate Ranges" , "Heparin_Dispensing_Rate_Max" , Float , isConfigsOk ); + FROMVARIANT_WITHRETURN ( heparinDispensingRateRes , "Heparin Dispensing Rate Ranges" , "Heparin_Dispensing_Rate_Res" , Float , isConfigsOk ); + FROMVARIANT_WITHRETURN ( heparinDispensingRateDef , "Heparin Dispensing Rate Ranges" , "Heparin_Dispensing_Rate_Def" , Float , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( heparinBolusVolumeMin , "Heparin Bolus Volume Ranges" , "Heparin_Bolus_Volume_Min" , Float , isConfigsOk ); + FROMVARIANT_WITHRETURN ( heparinBolusVolumeMax , "Heparin Bolus Volume Ranges" , "Heparin_Bolus_Volume_Max" , Float , isConfigsOk ); + FROMVARIANT_WITHRETURN ( heparinBolusVolumeRes , "Heparin Bolus Volume Ranges" , "Heparin_Bolus_Volume_Res" , Float , isConfigsOk ); + FROMVARIANT_WITHRETURN ( heparinBolusVolumeDef , "Heparin Bolus Volume Ranges" , "Heparin_Bolus_Volume_Def" , Float , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( heparinStopTimeMin , "Heparin Stop Time Ranges" , "Heparin_Stop_Time_Min" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( heparinStopTimeMax , "Heparin Stop Time Ranges" , "Heparin_Stop_Time_Max" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( heparinStopTimeRes , "Heparin Stop Time Ranges" , "Heparin_Stop_Time_Res" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( heparinStopTimeDef , "Heparin Stop Time Ranges" , "Heparin_Stop_Time_Def" , UInt , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( salineBolusVolumeMin , "Saline Bolus Volume Ranges" , "Saline_Bolus_Volume_Min" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( salineBolusVolumeMax , "Saline Bolus Volume Ranges" , "Saline_Bolus_Volume_Max" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( salineBolusVolumeRes , "Saline Bolus Volume Ranges" , "Saline_Bolus_Volume_Res" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( salineBolusVolumeDef , "Saline Bolus Volume Ranges" , "Saline_Bolus_Volume_Def" , UInt , isConfigsOk ); + + heparinTypeOptions ( _Settings.keys(mCategory , "Heparin Type Options" )); + acidConcentrateOptions ( _Settings.keys(mCategory , "Acid Concentrate Options" )); + bicarbonateConcentrateOptions ( _Settings.keys(mCategory , "Bicarbonate Concentrate Options" )); + dialyzerTypeOptions ( _Settings.keys(mCategory , "Dialyzer Type Options" )); + + isConfigsOk = isConfigsOk && !_heparinTypeOptions .isEmpty(); + isConfigsOk = isConfigsOk && !_acidConcentrateOptions .isEmpty(); + isConfigsOk = isConfigsOk && !_bicarbonateConcentrateOptions.isEmpty(); + isConfigsOk = isConfigsOk && !_dialyzerTypeOptions .isEmpty(); + + FROMVARIANT_WITHRETURN ( dialysateTempMin , "Dialysate Temperature" , "Dialysate_Temperature_Min" , Float , isConfigsOk ); + FROMVARIANT_WITHRETURN ( dialysateTempMax , "Dialysate Temperature" , "Dialysate_Temperature_Max" , Float , isConfigsOk ); + FROMVARIANT_WITHRETURN ( dialysateTempRes , "Dialysate Temperature" , "Dialysate_Temperature_Res" , Float , isConfigsOk ); + FROMVARIANT_WITHRETURN ( dialysateTempDef , "Dialysate Temperature" , "Dialysate_Temperature_Def" , Float , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( arterialPressureLimitWindowMin , "Arterial Blood Pressure Ranges" , "Arterial_Adjust_Window_Min" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( arterialPressureLimitWindowMax , "Arterial Blood Pressure Ranges" , "Arterial_Adjust_Window_Max" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( arterialPressureLimitWindowRes , "Arterial Blood Pressure Ranges" , "Arterial_Adjust_Window_Res" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( arterialPressureLimitWindowDef , "Arterial Blood Pressure Ranges" , "Arterial_Adjust_Window_Def" , Int , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( arterialPressureMonitorMin , "Arterial Blood Pressure Ranges" , "Arterial_Monitor_Min" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( arterialPressureMonitorMax , "Arterial Blood Pressure Ranges" , "Arterial_Monitor_Max" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( arterialPressureMonitorRes , "Arterial Blood Pressure Ranges" , "Arterial_Monitor_Res" , Int , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( venousPressureLimitWindowMin , "Venous Blood Pressure Ranges" , "Venous_Adjust_Window_Min" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( venousPressureLimitWindowMax , "Venous Blood Pressure Ranges" , "Venous_Adjust_Window_Max" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( venousPressureLimitWindowRes , "Venous Blood Pressure Ranges" , "Venous_Adjust_Window_Res" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( venousPressureLimitWindowDef , "Venous Blood Pressure Ranges" , "Venous_Adjust_Window_Def" , Int , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( venousPressureLimitAsymtrcMin , "Venous Blood Pressure Ranges" , "Venous_Adjust_Asymmetric_Min" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( venousPressureLimitAsymtrcMax , "Venous Blood Pressure Ranges" , "Venous_Adjust_Asymmetric_Max" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( venousPressureLimitAsymtrcRes , "Venous Blood Pressure Ranges" , "Venous_Adjust_Asymmetric_Res" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( venousPressureLimitAsymtrcDef , "Venous Blood Pressure Ranges" , "Venous_Adjust_Asymmetric_Def" , Int , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( venousPressureMonitorMin , "Venous Blood Pressure Ranges" , "Venous_Monitor_Min" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( venousPressureMonitorMax , "Venous Blood Pressure Ranges" , "Venous_Monitor_Max" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( venousPressureMonitorRes , "Venous Blood Pressure Ranges" , "Venous_Monitor_Res" , Int , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( bloodPressureMeasureIntervalMin , "Blood Pressure Measure Interval Ranges" , "Blood_Pressure_Measure_Interval_Min" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( bloodPressureMeasureIntervalMax , "Blood Pressure Measure Interval Ranges" , "Blood_Pressure_Measure_Interval_Max" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( bloodPressureMeasureIntervalRes , "Blood Pressure Measure Interval Ranges" , "Blood_Pressure_Measure_Interval_Res" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( bloodPressureMeasureIntervalDef , "Blood Pressure Measure Interval Ranges" , "Blood_Pressure_Measure_Interval_Def" , UInt , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( rinsebackFlowRateMin , "Rinseback Flow Rate Ranges" , "Rinseback_Flow_Rate_Min" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( rinsebackFlowRateMax , "Rinseback Flow Rate Ranges" , "Rinseback_Flow_Rate_Max" , UInt , isConfigsOk ); +// FROMVARIANT_WITHRETURN ( rinsebackFlowRateRes , "Rinseback Flow Rate Ranges" , "Rinseback_Flow_Rate_Res" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( rinsebackFlowRateDef , "Rinseback Flow Rate Ranges" , "Rinseback_Flow_Rate_Def" , UInt , isConfigsOk ); + + emit didTreatmentRangesDone( isConfigsOk ); +}