| | |
| | | } |
| | | |
| | | CString strText; |
| | | CAlarmMonitor* pAlarmMonitor = (CAlarmMonitor*)theApp.m_model.getBonder().GetComponent("警告信息"); |
| | | CAlarmMonitor* pAlarmMonitor = (CAlarmMonitor*)theApp.m_model.getBonder().GetComponent(ALARM_MONITOR); |
| | | m_pActiveAlarm = pAlarmMonitor->getActiveAlarm(); |
| | | if (m_pActiveAlarm != nullptr) { |
| | | m_pActiveAlarm->addRef(); |
| | |
| | | } |
| | | else if (code == RX_CODE_ALARM_ON) { |
| | | AlarmOn(); |
| | | CAlarmMonitor* pComponent = (CAlarmMonitor*)theApp.m_model.getBonder().GetComponent(ALARM_MONITOR); |
| | | m_pTopToolbar->GetBtn(IDC_BUTTON_ALARM)->EnableWindow(pComponent->isAlarming()); |
| | | } |
| | | else if (code == RX_CODE_ALARM_OFF) { |
| | | AlarmOff(); |
| | | CAlarmMonitor* pComponent = (CAlarmMonitor*)theApp.m_model.getBonder().GetComponent(ALARM_MONITOR); |
| | | m_pTopToolbar->GetBtn(IDC_BUTTON_ALARM)->EnableWindow(pComponent->isAlarming()); |
| | | } |
| | | pAny->release(); |
| | | }, [&]() -> void { |
| | |
| | | m_pTopToolbar->Create(IDD_TOP_TOOLBAR, this); |
| | | m_pTopToolbar->ShowWindow(SW_SHOW); |
| | | m_pTopToolbar->GetBtn(IDC_BUTTON_STOP)->EnableWindow(FALSE); |
| | | m_pTopToolbar->GetBtn(IDC_BUTTON_ALARM)->EnableWindow(FALSE); |
| | | HMENU hMenu = m_pTopToolbar->GetOperatorMenu(); |
| | | ASSERT(hMenu); |
| | | ::EnableMenuItem(hMenu, ID_OPEATOR_SWITCH, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); |
| | |
| | | m_pTopToolbar->GetBtn(IDC_BUTTON_STOP)->EnableWindow(FALSE); |
| | | logManager.log(SystemLogManager::LogType::Operation, _T("ֹͣ...")); |
| | | } |
| | | else if (id == IDC_BUTTON_ALARM) { |
| | | AlarmOn(); |
| | | } |
| | | else if (id == IDC_BUTTON_SETTINGS) { |
| | | CSettingsDlg dlg; |
| | | dlg.DoModal(); |
| | |
| | | #define STATE_ERROR 3 /* 发生故障 */ |
| | | |
| | | |
| | | #define ALARM_MONITOR _T("警告信息") |
| | | |
| | | |
| | | typedef std::function<void(void* pFrom, int)> ONBONDSTATECHANGED; |
| | | typedef std::function<void(void* pFrom, int)> ONPLCSTATECHANGED; |
| | | typedef std::function<void(void* pFrom, const char* pszAddr, int port, int)> ONEFEMSTATECHANGED; |
| | |
| | | |
| | | void CPageAlarm::LoadAlarms() |
| | | { |
| | | CAlarmMonitor* pMonitor = (CAlarmMonitor*)theApp.m_model.getBonder().GetComponent("警告信息"); |
| | | CAlarmMonitor* pMonitor = (CAlarmMonitor*)theApp.m_model.getBonder().GetComponent(ALARM_MONITOR); |
| | | |
| | | pMonitor->Lock(); |
| | | std::map<int, CAlarm*>& alarmings = pMonitor->getAlarmingMap(); |
| | |
| | | void CPageAlarm::AddAlarm(CAlarmMonitor* pMonitor, CAlarm* pAlarm) |
| | | { |
| | | if (pMonitor == nullptr) { |
| | | pMonitor = (CAlarmMonitor*)theApp.m_model.getBonder().GetComponent("警告信息"); |
| | | pMonitor = (CAlarmMonitor*)theApp.m_model.getBonder().GetComponent(ALARM_MONITOR); |
| | | } |
| | | CListCtrl* pListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST_ALARM); |
| | | pListCtrl->InsertItem(0, _T("")); |
| | |
| | | void CPageAlarm::UpdateAlarm(CAlarmMonitor* pMonitor, CAlarm* pAlarm) |
| | | { |
| | | if (pMonitor == nullptr) { |
| | | pMonitor = (CAlarmMonitor*)theApp.m_model.getBonder().GetComponent("警告信息"); |
| | | pMonitor = (CAlarmMonitor*)theApp.m_model.getBonder().GetComponent(ALARM_MONITOR); |
| | | } |
| | | CListCtrl* pListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST_ALARM); |
| | | for (int i = 0; i < pListCtrl->GetItemCount(); i++) { |
| | |
| | | CDialogEx::DoDataExchange(pDX); |
| | | DDX_Control(pDX, IDC_BUTTON_RUN, m_btnRun); |
| | | DDX_Control(pDX, IDC_BUTTON_STOP, m_btnStop); |
| | | DDX_Control(pDX, IDC_BUTTON_ALARM, m_btnAlarm); |
| | | DDX_Control(pDX, IDC_BUTTON_SETTINGS, m_btnSettings); |
| | | DDX_Control(pDX, IDC_BUTTON_OPERATOR, m_btnOperator); |
| | | } |
| | |
| | | |
| | | InitBtn(m_btnRun, "Run_High_32.ico", "Run_Gray_32.ico"); |
| | | InitBtn(m_btnStop, "Stop_High_32.ico", "Stop_Gray_32.ico"); |
| | | InitBtn(m_btnAlarm, "Alarm_o_32.ico", "Alarm_gray_32.ico"); |
| | | InitBtn(m_btnSettings, "Settings_High_32.ico", "Settings_Gray_32.ico"); |
| | | InitBtn(m_btnOperator, "Operator_High_32.ico", "Operator_Gray_32.ico"); |
| | | HMENU hMenu = LoadMenu(AfxGetInstanceHandle(), MAKEINTRESOURCEA(IDR_MENU_OPEATOR)); |
| | |
| | | x += BTN_WIDTH; |
| | | x += 2; |
| | | |
| | | pItem = GetDlgItem(IDC_BUTTON_ALARM); |
| | | pItem->MoveWindow(x, y, BTN_WIDTH, nBthHeight); |
| | | x += BTN_WIDTH; |
| | | x += 2; |
| | | |
| | | pItem = GetDlgItem(IDC_TOOLBAR_LINE1); |
| | | pItem->MoveWindow(x, y + 6, 2, nBthHeight - 12); |
| | | x += 4; |
| | |
| | | switch (LOWORD(wParam)) { |
| | | case IDC_BUTTON_RUN: |
| | | case IDC_BUTTON_STOP: |
| | | case IDC_BUTTON_ALARM: |
| | | case IDC_BUTTON_SETTINGS: |
| | | GetParent()->SendMessage(ID_MSG_TOOLBAR_BTN_CLICKED, 0, LOWORD(wParam)); |
| | | break; |
| | |
| | | private: |
| | | CBlButton m_btnRun; |
| | | CBlButton m_btnStop; |
| | | CBlButton m_btnAlarm; |
| | | CBlButton m_btnSettings; |
| | | CBlButton m_btnOperator; |
| | | |