/*! * * Copyright (c) 2021-2022 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 VTreatmentAdjustmentPressuresLimits.h * \author (last) Behrouz NematiPour * \date (last) 18-Apr-2022 * \author (original) Behrouz NematiPour * \date (original) 11-Apr-2021 * */ #pragma once // Qt #include // Project #include "main.h" // Doxygen : do not remove #include "VAdjustmentResponseBase.h" #include "MTreatmentAdjustPressuresLimitsResponse.h" #include "MSettings.h" namespace View { /*! * \brief The VTreatmentAdjustmentPressuresLimits class * \details View for Model's Data representation. * * \sa Model::MAdjustPressuresLimitsResponse * */ class VTreatmentAdjustmentPressuresLimits : public VAdjustmentResponseBase { Q_OBJECT // friends friend class ::tst_views; AdjustPressuresLimitsRequestData _data; // The property adjustment_Triggered has to be always true // and to always trigger the change event to work as a notifier for GUI // has been manually tested that it works perfectly fine TRIGGER( bool , adjustment , 0) // Treatment pressures limits data PROPERTY( qint32 , arterialLimitLow , 0) PROPERTY( qint32 , arterialLimitHigh , 0) PROPERTY( qint32 , venousLimitLow , 0) PROPERTY( qint32 , venousLimitHigh , 0) READONLY( qint32 , arterialPressureLimitLowDef , 0) READONLY( qint32 , arterialPressureLimitHighDef , 0) READONLY( qint32 , venousPressureLimitLowDef , 0) READONLY( qint32 , venousPressureLimitHighDef , 0) VIEW_DEC_CLASS (VTreatmentAdjustmentPressuresLimits) VIEW_DEC_SLOT (AdjustPressuresLimitsResponseData) VIEW_DEC_SLOT (SettingsData) // ----- Adjust Pressures Limits public slots: /*! * \brief doAdjustment * \details the invocable slot to adjust the treatment pressures limits * \param vArterialLimitLow * \param vArterialLimitHigh * \param vVenousLimitLow * \param vVenousLimitHigh */ void doAdjustment( qint32 vArterialLimitLow , qint32 vArterialLimitHigh , qint32 vVenousLimitLow , qint32 vVenousLimitHigh ) { _data.mArterialLimitLow = vArterialLimitLow ; _data.mArterialLimitHigh = vArterialLimitHigh; _data.mVenousLimitLow = vVenousLimitLow ; _data.mVenousLimitHigh = vVenousLimitHigh ; emit didAdjustment(_data); } signals: /*! * \brief didAdjustment * \details the notification signal to adjust the pressures limits * \param vData - data model for the pressures limits adjustment request */ void didAdjustment(const AdjustPressuresLimitsRequestData &vData); }; }