LAPTOP-SNT8I5JK\Boounion
2024-12-13 09a0bd46861c8df221983f4ea1458a36c5d8a7c2
1.工具条增加“警告”按钮
已添加2个文件
已修改8个文件
28 ■■■■ 文件已修改
SourceCode/Bond/BondEq/AlarmPopupDlg.cpp 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/BondEq/BondEq.rc 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/BondEq/BondEqDlg.cpp 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/BondEq/CBonder.h 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/BondEq/CPageAlarm.cpp 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/BondEq/Resource.h 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/BondEq/TopToolbar.cpp 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/BondEq/TopToolbar.h 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/x64/Debug/Res/alarm_gray_32.ico 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/x64/Debug/Res/alarm_o_32.ico 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/BondEq/AlarmPopupDlg.cpp
@@ -202,7 +202,7 @@
    }
    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();
SourceCode/Bond/BondEq/BondEq.rc
Binary files differ
SourceCode/Bond/BondEq/BondEqDlg.cpp
@@ -155,9 +155,13 @@
            }
            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 {
@@ -251,6 +255,7 @@
    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);
@@ -608,6 +613,9 @@
        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();
SourceCode/Bond/BondEq/CBonder.h
@@ -18,6 +18,9 @@
#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;
SourceCode/Bond/BondEq/CPageAlarm.cpp
@@ -155,7 +155,7 @@
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();
@@ -174,7 +174,7 @@
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(""));
@@ -191,7 +191,7 @@
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++) {
SourceCode/Bond/BondEq/Resource.h
Binary files differ
SourceCode/Bond/BondEq/TopToolbar.cpp
@@ -28,6 +28,7 @@
    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);
}
@@ -50,6 +51,7 @@
    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));
@@ -115,6 +117,11 @@
    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;
@@ -170,6 +177,7 @@
    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;
SourceCode/Bond/BondEq/TopToolbar.h
@@ -32,6 +32,7 @@
private:
    CBlButton m_btnRun;
    CBlButton m_btnStop;
    CBlButton m_btnAlarm;
    CBlButton m_btnSettings;
    CBlButton m_btnOperator;
SourceCode/Bond/x64/Debug/Res/alarm_gray_32.ico
SourceCode/Bond/x64/Debug/Res/alarm_o_32.ico