#pragma once // Qt #include // Project #include "main.h" // Doxygen : do not remove #include "VAdjustmentResponseBase.h" #include "MListModel.h" #include "MDDCalibrationPressureRecordResponse.h" #include "MAdjustDDCalibrationPressureRecordResponse.h" namespace View { /*! * \brief The VCalibrationSettings class * \details View for Model's Data representation. * * \sa Model::VAdjustmentResponseBase * */ class VCalibrationSettings : public VAdjustmentResponseBase { Q_OBJECT // friends friend class ::tst_views; enum { eRole_Title = Qt::UserRole + 1 , eRole_Component , eRole_Payload , eRole_Received , } DataRole; enum { ePressure , eTemperature , eConcentratePump , eDialysatePumpD12 , eDialysatePumpD48 , eAcidTypes , eBicarbTypes , eAccelerometer , eBloodLeak , eConductivity } Records; // The property adjustment_Triggered has to be always true // and to always trigger the change event to work as a notifier for GUI TRIGGER( bool , adjustment , 0 ) PROPERTY(QStringList , columnTitle , {}) PROPERTY(QVariantList , rejectionReasons , {}) Q_PROPERTY(MListModel* model READ model NOTIFY didModelChange) VIEW_DEC_CLASS(VCalibrationSettings); // VIEW_DEC_CLASS_ADJUSTMENT(VCalibrationSettings, ); VIEW_DEC_SLOT(DDCalibrationPressureResponseData ) VIEW_DEC_SLOT(AdjustDDCalibrationPressureResponseData ) private: MListModel* model () { return &_calibrationList; } MListModel _calibrationList; QVariantList initList(const QStringList &vTitles); quint32 getEpochUTC(); void doRequestRecords(int vIndex); public slots: void refreshList (int vIndex); void doAdjustment(int vIndex, int vSensorIndex, QVariantList vPayload); signals: void didModelChange(); void didAdjustment(const DDCalibrationPressureRequestData &vData); void didAdjustment(const AdjustDDCalibrationPressureRequestData &vData); }; }