#pragma once // Qt #include #include // Project #include "VView.h" #include "BLEScanner.h" #include "main.h" #include "GuiController.h" // forward declarations class tst_views; namespace View { /*! * \brief The VVitals class * \details View for handling BP/HR data * */ class VVitals : public QObject { Q_OBJECT private: // friends friend class ::tst_views; bool _inTreatmentMode = false; bool _enterManually = false; QDateTime _lastNotification; int _timerInterval = 1000; // ms int _timerID = -1; void timerEvent(QTimerEvent *event); void notifyTakeMeasurement(); VIEW_DEC_CLASS(VVitals) protected: // coco begin validated: Has been validated manually PROPERTY(quint32, bloodPressureSystolic, 0) PROPERTY(quint32, bloodPressureDiastolic, 0) PROPERTY(quint32, pulseBPM, 0) PROPERTY(quint32, bloodPressureMeasureIntervalMinutes, 0) // coco end public slots: void doUpdateBPMeasureInterval(const quint32 &vIntervalMinutes); void doManualBPMeasureEntry(const quint32 &vSystolic, const quint32 &vDiastolic, const quint32 &vPulseRate); signals: void didRequestShowAlert(const GuiAlertRequestData &alert); void didManualEntryRequest(); private slots: void onReceiveBPMeasurement(const BLEMeasurementData &vMeasurement); void onReceiveAlertResponse(const GuiAlertResponseData &vResponse); void onActionReceive(const TreatmentStartResponseData &vResponse); void onHDOperationModeUpdate(const HDOperationModeData &vHDOpMode); }; }