Index: sources/view/valarmstatus.cpp =================================================================== diff -u -rb798668f16ad0967ab97e96f5f9a2cdd821e899f -ra7aa20b149cfc003091bfbf9a90e26eb0ae032d5 --- sources/view/valarmstatus.cpp (.../valarmstatus.cpp) (revision b798668f16ad0967ab97e96f5f9a2cdd821e899f) +++ sources/view/valarmstatus.cpp (.../valarmstatus.cpp) (revision a7aa20b149cfc003091bfbf9a90e26eb0ae032d5) @@ -13,18 +13,40 @@ */ #include "valarmstatus.h" -// Qt +using namespace Gui; +using namespace View; -// Project -#include "guicontroller.h" -#include "format.h" +VAlarmStatus::VAlarmStatus(QObject *parent) +{ + Q_UNUSED(parent); -VIEW_DEF(VAlarmStatus, AlarmStatusData) + connect(&_GuiController, SIGNAL(didActionReceive(AlarmStatusData)), + this , SLOT(onActionReceive(AlarmStatusData))); -using namespace Gui; + connect(this, SIGNAL(requestActionTransmit(GuiActionType,QVariantList)), + &_GuiController, SLOT(doActionTransmit(GuiActionType,QVariantList))); +} void VAlarmStatus::onActionReceive(const AlarmStatusData &vData) { + GuiAlarmID alarmID = static_cast(vData.mTop); + + if (gDisableTimeout && alarmID == GuiAlarmID::ALARM_ID_HD_COMM_TIMEOUT) { + LOG_EVENT(tr("Suppressing HD communication timeout.")); + return; + } + + if (acknowledgedAlarms.contains(alarmID)) { + qDebug() << "Alarm ID " << alarmID << " has been acknowleged and is visible. "; + LOG_EVENT(tr("Alarm ID %0 has been acknowleged and is visible. ").arg(alarmID)); + return; + } + + if (vData.mTop <= GuiAlarmID::ALARM_ID_NO_ALARM) { + emit hideAlarm(); + return; + } + alarm_Priority (vData.mState ); alarm_AlarmID (vData.mTop ); alarm_EscalateIn (vData.mMuteTimeout ); @@ -39,6 +61,10 @@ alarm_Flag_bypassDialyzer (vData.mFlags.at(AlarmStatusFlag::eFlag_bypassDialyzer )); alarm_Flag_alarmsToEscalate (vData.mFlags.at(AlarmStatusFlag::eFlag_alarmsToEscalate)); alarm_Flag_alarmsSilenced (vData.mFlags.at(AlarmStatusFlag::eFlag_alarmsSilenced )); + + emit raiseAlarm(); + + } /*! @@ -66,42 +92,58 @@ /*! * \brief VAlarmStatus::alarmIDText - * \details this code is the place holder for the alarms description mapping - * since it is another feature - * it returns the enum name for now + * \details Looks up the alarm text from the alarm ID * \param vEnum - The Alarm ID - * \return String representation of the Alarm Id Enum name + * \return The alarm text (QString) */ QString VAlarmStatus::alarmIDText(GuiAlarmID vEnum) { - // TEST : this code is the place holder for the alarms description mapping - // since it is another feature - // it returns the enum name for now const QMetaObject *mo = qt_getEnumMetaObject(vEnum); int enumIdx = mo->indexOfEnumerator(qt_getEnumName(vEnum)); const char *key = mo->enumerator(enumIdx).valueToKey(vEnum); if (key) - return qPrintable(key); + return Model::MAlarmStatus::toText(vEnum); else return QString("ALARM_ID_UNDEFINED [%1]").arg(vEnum); } -QString View::VAlarmStatus::text() +/*! + * \brief VAlarmStatus::text + * \return Gets the alarm text from the alarm ID and returns it as a QString + */ +QString VAlarmStatus::text() { - QString text; - if (alarm_AlarmID() != GuiAlarmID::ALARM_ID_NO_ALARM) - text = alarmIDText (static_cast(alarm_AlarmID())) + " , " + - FSN(alarm_EscalateIn ()) + " , " + - FSN(alarm_MuteTimeout ()) + " ["+ - (alarm_Flag_systemFault () ? "1" : "0" ) + " " + - (alarm_Flag_stop () ? "1" : "0" ) + " " + - (alarm_Flag_noClear () ? "1" : "0" ) + " " + - (alarm_Flag_noResume () ? "1" : "0" ) + " " + - (alarm_Flag_noRinseback () ? "1" : "0" ) + " " + - (alarm_Flag_noEndTreatment () ? "1" : "0" ) + " " + - (alarm_Flag_noNewTreatment () ? "1" : "0" ) + " " + - (alarm_Flag_bypassDialyzer () ? "1" : "0" ) + " " + - (alarm_Flag_alarmsToEscalate() ? "1" : "0" ) + " " + - (alarm_Flag_alarmsSilenced () ? "1" : "0" ) + "]" ; - return text; + return alarmIDText(static_cast(alarm_AlarmID())); } + +/*! + * \brief VAlarmStatus::id + * \return Gets the id of the alarm and returns the ID number as a QString + */ +QString VAlarmStatus::id() +{ + // coco begin validated: Has been validated manually + return QString("%0").arg(static_cast(alarm_AlarmID())); + // coco end +} + +/*! + * \brief VAlarmStatus::requestOkay + * Send out a request to acknowledge alarms. + */ +void VAlarmStatus::requestOkay(GuiAlarmID alarmID) +{ + acknowledgedAlarms.append(alarmID); +} + +/*! + * \brief VAlarmStatus::requestSilence + * Send out a request to silence alarms. + */ +void VAlarmStatus::requestSilence() +{ + // TODO: Update with needed data. Placeholder for now. + QVariantList messageData = {1,2,3,4,5}; + GuiActionType messageAction = GuiActions::AlarmSilenceReq; + emit requestActionTransmit(messageAction, messageData); +}