Index: sources/view/settings/VInstitutionalRecord.h =================================================================== diff -u -re49c956894f999f6539b0c404dd1c9b18a76bb4b -rf433eeefae34530e7cc3dc4e5576e43729b236f2 --- sources/view/settings/VInstitutionalRecord.h (.../VInstitutionalRecord.h) (revision e49c956894f999f6539b0c404dd1c9b18a76bb4b) +++ sources/view/settings/VInstitutionalRecord.h (.../VInstitutionalRecord.h) (revision f433eeefae34530e7cc3dc4e5576e43729b236f2) @@ -21,6 +21,9 @@ // Project #include "main.h" // Doxygen : do not remove #include "VAdjustmentResponseBase.h" +#include "MAdjustTDInstitutionalRecordResponse.h" +#include "MListModel.h" +#include "MSettings.h" #include "MTDInstitutionalRecordResponse.h" namespace View { @@ -38,13 +41,59 @@ // friends friend class ::tst_views; + enum { + Min , + Max , + Def , + } Range; + + enum { + eRole_Title = Qt::UserRole , + eRole_Units , + eRole_Min , + eRole_Max , + eRole_Step , + eRole_Decimal , + eRole_MinVal , + eRole_MaxVal , + eRole_DefVal , + eRole_RejectionMin , + eRole_RejectionMax , + eRole_RejectionDef , + eRole_CanOff , + } DataRole; + + enum { + BloodFlowRate , + DialysateFlowRate , + TreatmentDuration , + HeparinBolusVolume , + HeparinDispenseRate , + HeparinStopTime , + DialysateTemperature , + AcidCompositionPotassium , + AcidCompositionCalcium , + BicarbFinalDialysateComposition , + SodiumFinalDialysateComposition , + FluidBolusVolume , + ArterialPressureLimit , + VenousPressureLimit , + VenousAsymPressureLimit , + TMPWindowLimit , + UFVolume , + VitalsInterval , + RinsebackVolume , + RinsebackFlowRate , + SubstitutionVolume + } Records; + const QStringList _titles { - tr("Blood Flow Rate" ), - tr("Dialysate Flow Rate" ), - tr("Treatment Duration" ), - tr("Heparin Bolus Volume" ), - tr("Heparin Dispense Rate" ), - tr("Heparin Stop Time" ), +// tr("Blood Flow Rate" ), +// tr("Dialysate Flow Rate" ), +// tr("Treatment Duration" ), +// tr("Heparin Bolus Volume" ), +// tr("Heparin Dispense Rate" ), +// tr("Heparin Stop Time" ), tr("Dialysate Temperature" ), tr("Acid Composition ([K+])" ), tr("Acid Composition ([Ca2+])" ), @@ -63,12 +112,12 @@ }; const QStringList _units { - tr("mL/min" ), // Blood Flow Rate - tr("mL/min" ), // Dialysate Flow Rate - tr("min" ), // Treatment Duration - tr("mL" ), // Heparin Bolus Volume - tr("mL/hr" ), // Heparin Dispense Rate - tr("min" ), // Heparin Stop Time +// tr("mL/min" ), // Blood Flow Rate +// tr("mL/min" ), // Dialy/*s*/ate Flow Rate +// tr("min" ), // Treatment Duration +// tr("mL" ), // Heparin Bolus Volume +// tr("mL/hr" ), // Heparin Dispense Rate +// tr("min" ), // Heparin Stop Time tr("°C" ), // Dialysate Temperature tr("mEq/L" ), // Acid Composition ([K+]) tr("mEq/L" ), // Acid Composition ([Ca2+]) @@ -99,9 +148,10 @@ RANGESET( float , dialysateTemp , 0) RANGESET( float , acidConcentratePotassium , 0) RANGESET( float , acidConcentrateCalcium , 0) + RANGESET( quint32 , fluidBolusVolume , 0) + RANGESET( quint32 , bicarbFinalDialysateComposition , 0) RANGESET( quint32 , sodiumFinalDialysateComposition , 0) - RANGESET( quint32 , fluidBolusVolume , 0) RANGESET( qint32 , arterialPressureLimitWindow , 0) RANGESET( qint32 , venousPressureLimitWindow , 0) RANGESET( qint32 , venousPressureLimitAsymtrc , 0) @@ -117,23 +167,29 @@ READONLY( QStringList , hdfTreatmentModeOptions ,{}) READONLY( QStringList , dryBicabCartridgeSizeOptions ,{}) READONLY( QStringList , dialyzerTypeOptions ,{}) + READONLY( QStringList , bloodPressureMeasureInterval ,{}) - PROPERTY(QStringList , parametersTitle , titles()) - PROPERTY(QStringList , parametersUnit , units ()) + Q_PROPERTY(MListModel* model READ model NOTIFY didModelChange) - VIEW_DEC_CLASS_ADJUSTMENT(VInstitutionalRecord, InstitutionalRecordResponseData) + VIEW_DEC_CLASS_ADJUSTMENT(VInstitutionalRecord, InstitutionalRecordResponseData ) + VIEW_DEC_SLOT(SettingsData ) + VIEW_DEC_SLOT(AdjustInstitutionalRecordResponseData ) private: - QStringList titles() { return _titles; } - QStringList units () { return _units ; } + MListModel* model () { return &_institutionalList; } + MListModel _institutionalList; + void initModel(); public slots: void doAdjustment() { InstitutionalRequestData data; emit didAdjustment(data); } + void clearRejectionReason(const int &vRow, const int &vRange); + signals: void didAdjustment(const InstitutionalRequestData &vData); + void didModelChange(); }; }