| | |
| | | { |
| | | CAlarmMonitor* pMonitor = (CAlarmMonitor*)theApp.m_model.getBonder().GetComponent(ALARM_MONITOR); |
| | | |
| | | |
| | | // 当前正在发生的报警 |
| | | pMonitor->Lock(); |
| | | std::map<int, CAlarm*>& alarmings = pMonitor->getAlarmingMap(); |
| | | std::list< CAlarm*>& alarms = pMonitor->getAlarmRecords(); |
| | | |
| | | for (auto item : alarmings) { |
| | | AddAlarm(pMonitor, item.second); |
| | | } |
| | | for (auto item : alarms) { |
| | | AddAlarm(pMonitor, item); |
| | | } |
| | | |
| | | pMonitor->Unlock(); |
| | | |
| | | |
| | | // 获取历史报警数据 |
| | | auto vecData = AlarmManager::getInstance().getAllAlarms(); |
| | | |
| | | // 填充数据 |
| | | CListCtrl* pListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST_ALARM); |
| | | for (auto item : vecData) { |
| | | pListCtrl->InsertItem(0, _T("")); |
| | | pListCtrl->SetItemText(0, 1, item[0].c_str()); |
| | | pListCtrl->SetItemText(0, 2, item[1].c_str()); |
| | | pListCtrl->SetItemText(0, 3, item[2].c_str()); |
| | | pListCtrl->SetItemText(0, 4, item[3].c_str()); |
| | | } |
| | | } |
| | | |
| | | void CPageAlarm::AddAlarm(CAlarmMonitor* pMonitor, CAlarm* pAlarm) |
| | |
| | | CListCtrl* pListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST_ALARM); |
| | | for (int i = 0; i < pListCtrl->GetItemCount(); i++) { |
| | | CAlarm* pAlarm = (CAlarm*)pListCtrl->GetItemData(i); |
| | | pAlarm->release(); |
| | | if (pAlarm != nullptr) { |
| | | pAlarm->release(); |
| | | } |
| | | } |
| | | |
| | | return CDialogEx::DestroyWindow(); |