#pragma once /*! * \page MessageView Denali Message View usage instruction in QML * \details This comment explains how to use a Denali Message populated data in Denali UI Application \verbatim 1 - Look at the message structure in the "message list.xlsx" 2 - View Implementation : Implement a view like VDGPressures by copy/paste the closest model .h/.cpp file and adding it to project and modify to fit the new model. 3 - Register View : - Add the required lines like the other models in the VView.h file. - Also add the #include in the GuiGlobals.cpp 4 - Usage in UI : Import : import VDGPressures 0.1; Instantiate : VDGPressures { id: vDGPressures } Access : value: vDGPressures.drainInletPSI \endverbatim */ //--------------------------------------------------------------------------------// //--------------------------------------------------------------------------------// // The child declaration in header #define VIEW_DEC_CLASS(vCLASS) \ private: \ /*! \brief Connection Initializer \details All the class signal/slot connections are defined here. */\ void initConnections(); \ public: \ /*! \brief Class Constructor \details Only calls initConnections to initialize the signal/slot connection(s). \param parent - The QObject parent pointer which is passed as nullptr and is not set. */\ explicit vCLASS(QObject *parent = nullptr); \ //--------------------------------------------------------------------------------// #define VIEW_DEC_CLASS_EX(vCLASS, vPARENT) \ private: \ /*! \brief Connection Initializer \details All the class signal/slot connections are defined here. */\ void initConnections(); \ public: \ /*! \brief Class Constructor \details Only calls initConnections to initialize the signal/slot connection(s). \param parent - The QObject parent pointer which is passed as nullptr and is not set. */\ explicit vCLASS(vPARENT *parent = nullptr); \ //--------------------------------------------------------------------------------// #define VIEW_DEC_SLOT(vDATATYPE) \ private Q_SLOTS: \ /*! \brief Model data received message handler. \details When signal received this method is called to update the view properties. \param vData - Model data */\ void onActionReceive (const vDATATYPE &vData); \ //--------------------------------------------------------------------------------// #define VIEW_DEC(vCLASS, vDATATYPE) \ VIEW_DEC_CLASS(vCLASS) \ VIEW_DEC_SLOT(vDATATYPE) \ //--------------------------------------------------------------------------------// //--------------------------------------------------------------------------------// // The child definition in cpp #define VIEW_DEF_CLASS(vCLASS) \ using namespace View; \ vCLASS::vCLASS(QObject *parent) : QObject(parent) { \ initConnections(); \ } \ //--------------------------------------------------------------------------------// #define VIEW_DEF_CLASS_EX(vCLASS, vPARENT) \ using namespace View; \ vCLASS::vCLASS(vPARENT *parent) : vPARENT(parent) { \ initConnections(); \ } \ //--------------------------------------------------------------------------------// #define VIEW_DEF_CONNECTION(vCLASS, vDATATYPE) \ void vCLASS::initConnections() { \ ACTION_RECEIVE_BRIDGE_CONNECTION( \ Gui::_GuiController, vDATATYPE); \ } \ //--------------------------------------------------------------------------------// #define VIEW_DEF(vCLASS, vDATATYPE) \ VIEW_DEF_CLASS(vCLASS) \ VIEW_DEF_CONNECTION(vCLASS, vDATATYPE) \ //--------------------------------------------------------------------------------// //--------------------------------------------------------------------------------// // The Adjustment child DEFinition in cpp and DEClaration in .h #define VIEW_DEC_CLASS_ADJUSTMENT(vCLASS, vDATATYPE)\ VIEW_DEC_CLASS(vCLASS) \ VIEW_DEC_SLOT(vDATATYPE) \ //--------------------------------------------------------------------------------// #define VIEW_DEF_CLASS_ADJUSTMENT(vCLASS) \ using namespace View; \ vCLASS::vCLASS(QObject *parent) : VAdjustmentResponseBase(parent) { \ initConnections(); \ } \ //--------------------------------------------------------------------------------// //--------------------------------------------------------------------------------// //--------- Please add the view type to the lists below to register them ---------// //--------------------------------------------------------------------------------// //--------------------------------------------------------------------------------// /* START OF AUTO GENERATED CODE */ #define REGISTER_VIEW_TYPES \ using namespace View; \ REGISTER_TYPE( VDevice ) \ REGISTER_TYPE( VLocalization ) \ REGISTER_TYPE( VConfirm ) \ REGISTER_TYPE( VSettings ) \ REGISTER_TYPE( VDateTime ) \ REGISTER_TYPE( VAlarmStatusHelper ) \ REGISTER_TYPE( VAlarmActiveList ) \ REGISTER_TYPE( VAlarmStatus ) \ REGISTER_TYPE( VAlarmTriggered ) \ REGISTER_TYPE( VAlarmCleared ) \ REGISTER_TYPE( VAlarmConditionCleared ) \ REGISTER_TYPE( VTDAlarmInformation ) \ REGISTER_TYPE( VDDAlarmInfo ) \ REGISTER_TYPE( VUIActiveAlarmsListRequest ) \ REGISTER_TYPE( VTDActiveAlarmsListRequestResponse ) \ REGISTER_TYPE( VFWVersionsRequest ) \ REGISTER_TYPE( VTDVersionResponse ) \ REGISTER_TYPE( VDDVersionResponse ) \ REGISTER_TYPE( VUICheckIN ) \ REGISTER_TYPE( VTDBloodPump ) \ REGISTER_TYPE( VTDOPMode ) \ REGISTER_TYPE( VDDOPMode ) \ REGISTER_TYPE( VTDEvent ) \ REGISTER_TYPE( VDDEvent ) \ REGISTER_TYPE( VDDValvesStates ) \ REGISTER_TYPE( VDDPressures ) \ REGISTER_TYPE( VTDVoltages ) \ REGISTER_TYPE( VTDBubbles ) \ REGISTER_TYPE( VDDConductivity ) \ REGISTER_TYPE( VTDAirPump ) \ REGISTER_TYPE( VTDSwitches ) \ REGISTER_TYPE( VPowerOffWarning ) \ REGISTER_TYPE( VOffButtonPressRequest ) \ REGISTER_TYPE( VTDPressure ) \ REGISTER_TYPE( VDDConcentratePump ) \ REGISTER_TYPE( VDDTemperature ) \ REGISTER_TYPE( VDialysatePumps ) \ REGISTER_TYPE( VDDHeaters ) \ REGISTER_TYPE( VDDLevel ) \ REGISTER_TYPE( VTDAirTrap ) \ REGISTER_TYPE( VTDValves ) \ REGISTER_TYPE( VROEvent ) \ REGISTER_TYPE( VROAlarmInfo ) \ REGISTER_TYPE( VDDBalChamber ) \ REGISTER_TYPE( VDDGenDialysateMode ) \ REGISTER_TYPE( VDDGenDialysateRequest ) \ REGISTER_TYPE( VROValvesStates ) \ REGISTER_TYPE( VROPump ) \ REGISTER_TYPE( VROOPMode ) \ REGISTER_TYPE( VROPressures ) \ REGISTER_TYPE( VROLevel ) \ REGISTER_TYPE( VROFlow ) \ REGISTER_TYPE( VROConductivity ) \ REGISTER_TYPE( VDDROStartStopCmdRequest ) \ REGISTER_TYPE( VROTemperature ) \ REGISTER_TYPE( VROHeater ) \ REGISTER_TYPE( VTDTreatmentTime ) \ REGISTER_TYPE( VTDTreatmentState ) \ REGISTER_TYPE( VTDSalineBolus ) \ REGISTER_TYPE( VTDUltrafiltration ) \ REGISTER_TYPE( VUITreatmentParamsTOValidate ) \ REGISTER_TYPE( VTDRespTreatmentParamsTOValidate ) \ REGISTER_TYPE( VUIUltrafiltrationVolumeTOValidate ) \ REGISTER_TYPE( VTDRespUltrafiltrationVolumeTOValidate ) \ REGISTER_TYPE( VTDTreatmentParamRanges ) \ REGISTER_TYPE( VUITreatmentParamsConfirmed ) \ REGISTER_TYPE( VUIInitiateTreatmentWorkflow ) \ REGISTER_TYPE( VTDRespInitiateTreatmentWorkflow ) \ REGISTER_TYPE( VUIUFPauseResumeRequest ) \ REGISTER_TYPE( VTDUFPauseResumeResponse ) \ REGISTER_TYPE( VROGenWaterMode ) \ REGISTER_TYPE( VDDPreGenDialysateState ) \ REGISTER_TYPE( VDDPostGenDialysateState ) \ REGISTER_TYPE( VDDPreGenDialysateRequest ) \ REGISTER_TYPE( VROPreGenWaterMode ) \ REGISTER_TYPE( VTDEjector ) \ REGISTER_TYPE( VTDTreatmentSetPoints ) \ REGISTER_TYPE( VDDPistonPumpControl ) \ REGISTER_TYPE( VAckMessageThatRequiresAck ) \ /* END OF AUTO GENERATED CODE */ //--------------------------------------------------------------------------------//