From 61465900aac50bb595f44abd4fb98752c2e08a34 Mon Sep 17 00:00:00 2001
From: LAPTOP-T815PCOQ\25526 <mr.liuyang@126.com>
Date: 星期四, 09 一月 2025 14:01:58 +0800
Subject: [PATCH] 1. 完成PLC View操作按钮读写

---
 SourceCode/Bond/BoounionPLC/BoounionPLCDlg.cpp |   45 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 44 insertions(+), 1 deletions(-)

diff --git a/SourceCode/Bond/BoounionPLC/BoounionPLCDlg.cpp b/SourceCode/Bond/BoounionPLC/BoounionPLCDlg.cpp
index dbd2ea0..4930c5f 100644
--- a/SourceCode/Bond/BoounionPLC/BoounionPLCDlg.cpp
+++ b/SourceCode/Bond/BoounionPLC/BoounionPLCDlg.cpp
@@ -8,6 +8,8 @@
 #include "afxdialogex.h"
 #include "Common.h"
 #include "PlcView.h"
+#include "AlarmMonitor.h"
+
 
 #ifdef _DEBUG
 #define new DEBUG_NEW
@@ -60,6 +62,7 @@
 	m_crBkgnd = APP_MAIN_DLG_BACKGROUND;
 	m_hbrBkgnd = nullptr;
 	m_pActiveView = nullptr;
+	m_pPageLogcat = nullptr;
 }
 
 void CBoounionPLCDlg::DoDataExchange(CDataExchange* pDX)
@@ -112,10 +115,20 @@
 					if (m_pActiveView->GetContext() != (void*)pPlc) {
 						m_pActiveView->SetWindowText(pPlc->getName().c_str());
 						m_pActiveView->SetContext(pPlc);
+						m_pActiveView->SendMessage(WM_NCPAINT, 0, 0);
 					}
 				}
 			}
-
+			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 {
 			// onComplete
@@ -163,6 +176,7 @@
 	// toolbar
 	m_pTopToolbar = new CTopToolbar();
 	m_pTopToolbar->Create(IDD_TOP_TOOLBAR, this);
+	m_pTopToolbar->GetBtn(IDC_BUTTON_ALARM)->EnableWindow(FALSE);
 	m_pTopToolbar->ShowWindow(SW_SHOW);
 	HMENU hMenu = m_pTopToolbar->GetOperatorMenu();
 	ASSERT(hMenu);
@@ -179,6 +193,13 @@
 	m_pMainContainer = new CMainContainer();
 	m_pMainContainer->Create(IDD_MAIN_CONTAINER, this);
 	m_pMainContainer->ShowWindow(SW_SHOW);
+
+
+	// 日志
+	m_pPageLogcat = new CPageLogcat();
+	m_pPageLogcat->Create(IDD_PAGE_LOGCAT, m_pMainContainer);
+	m_pPageLogcat->ShowWindow(SW_SHOW);
+	m_pMainContainer->SetBottomWnd(m_pPageLogcat, 220);
 
 
 	// 菜单
@@ -554,3 +575,25 @@
 	m_pActiveView = nullptr;
 	m_pMainContainer->Resize();
 }
+
+void CBoounionPLCDlg::AlarmOn()
+{
+	if (m_pAlarmWnd == nullptr) {
+		m_pAlarmWnd = new CAlarmPopupDlg();
+		//m_pAlarmWnd->SetPLC(theApp.m_model.getBonder().getPLC("PLC(1)"));
+		m_pAlarmWnd->Create(IDD_DIALOG_POPUP_ALARM, this);
+		m_pAlarmWnd->CenterWindow();
+	}
+	m_pAlarmWnd->AlarmOn();
+}
+
+void CBoounionPLCDlg::AlarmOff()
+{
+	if (m_pAlarmWnd == nullptr) {
+		m_pAlarmWnd = new CAlarmPopupDlg();
+		//m_pAlarmWnd->SetPLC(theApp.m_model.getBonder().getPLC("PLC(1)"));
+		m_pAlarmWnd->Create(IDD_DIALOG_POPUP_ALARM, this);
+		m_pAlarmWnd->CenterWindow();
+	}
+	m_pAlarmWnd->AlarmOff();
+}

--
Gitblit v1.9.3