From 829fe6c6bc33d53fda9c31fd45a37e1df87befff Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期五, 30 一月 2026 11:16:24 +0800
Subject: [PATCH] Merge branch 'clh' into liuyang
---
SourceCode/Bond/Servo/ServoDlg.h | 57 ++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 48 insertions(+), 9 deletions(-)
diff --git a/SourceCode/Bond/Servo/ServoDlg.h b/SourceCode/Bond/Servo/ServoDlg.h
index 454d778..e05c9e5 100644
--- a/SourceCode/Bond/Servo/ServoDlg.h
+++ b/SourceCode/Bond/Servo/ServoDlg.h
@@ -1,8 +1,10 @@
-
-// ServoDlg.h : 头文件
+锘�
+// ServoDlg.h : 澶存枃浠�
//
#pragma once
+#include <vector>
+#include <unordered_set>
#include "BlButton.h"
#include "PageLog.h"
#include "PageAlarm.h"
@@ -12,27 +14,40 @@
#include "CPanelMaster.h"
#include "CPanelEquipment.h"
#include "CPanelAttributes.h"
+#include "CPanelProduction.h"
#include "CPageGraph1.h"
#include "CPageGraph2.h"
+#include "HmTab.h"
#include "TopToolbar.h"
#include "CMyStatusbar.h"
#include "CRobotTaskDlg.h"
+#include "CPageGlassList.h"
+#include "CPageVarialbles.h"
+#include "CPageDataVarialbles.h"
+#include "AlarmPopupDlg.h"
+#include "AlarmManager.h"
-// CServoDlg 对话框
+// CServoDlg 瀵硅瘽妗�
class CServoDlg : public CDialogEx
{
-// 构造
+// 鏋勯��
public:
- CServoDlg(CWnd* pParent = NULL); // 标准构造函数
+ CServoDlg(CWnd* pParent = NULL); // 鏍囧噯鏋勯�犲嚱鏁�
public:
void ShowTerminalText(const char* pszText, unsigned int duration = -1);
+ void AckAlarm(int alarmId);
private:
void InitRxWindows();
+ void RefreshAlarmBadge();
+ void MarkAlarmsRead();
+ void RaiseTestAlarm();
+ void ClearTestAlarm();
void Resize();
+ void SetLeftPanelType(int type, bool resize = true);
void ShowChildPage(int index);
void UpdateLoginStatus();
CString& GetRuntimeFormatText(CString& strText, const char* pszSuffix);
@@ -43,32 +58,39 @@
CRobotTaskDlg* m_pRobotTaskDlg;
CPageGraph1* m_pPageGraph1;
CPageGraph2* m_pPageGraph2;
+ CPageGlassList* m_pPageGlassList;
CPageRecipe* m_pPageRecipe;
CPageAlarm* m_pPageAlarm;
CPageLog* m_pPageLog;
CPageTransferLog* m_pPageTransferLog;
+ CAlarmPopupDlg* m_pAlarmPopupDlg;
+ CHmTab* m_pTab;
+ std::vector<AlarmData> m_unreadAlarms;
+ std::unordered_set<int> m_ackAlarms;
-// 对话框数据
+// 瀵硅瘽妗嗘暟鎹�
#ifdef AFX_DESIGN_TIME
enum { IDD = IDD_SERVO_DIALOG };
#endif
protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
+ virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 鏀寔
-// 实现
+// 瀹炵幇
protected:
HICON m_hIcon;
COLORREF m_crBkgnd;
HBRUSH m_hbrBkgnd;
+ int m_nLeftPanelType; // 1: CPanelMaster, 2: CPanelProduction
CTopToolbar* m_pTopToolbar;
CPanelMaster* m_pPanelMaster;
+ CPanelProduction* m_pPanelProduction;
CPanelEquipment* m_pPanelEquipment;
CPanelAttributes* m_pPanelAttributes;
CMyStatusbar* m_pMyStatusbar;
- // 生成的消息映射函数
+ // 鐢熸垚鐨勬秷鎭槧灏勫嚱鏁�
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
@@ -90,14 +112,31 @@
afx_msg void OnUpdateMenuFileSecsTest(CCmdUI* pCmdUI);
afx_msg void OnMenuFileExit();
afx_msg void OnUpdateMenuFileExit(CCmdUI* pCmdUI);
+ afx_msg void OnMenuProjectVarialbleList();
+ afx_msg void OnUpdateMenuProjectVarialbleList(CCmdUI* pCmdUI);
+ afx_msg void OnMenuTestAlarmOn();
+ afx_msg void OnUpdateMenuTestAlarmOn(CCmdUI* pCmdUI);
+ afx_msg void OnMenuTestAlarmOff();
+ afx_msg void OnUpdateMenuTestAlarmOff(CCmdUI* pCmdUI);
afx_msg void OnMenuTestMessageSet();
afx_msg void OnUpdateMenuTestMessageSet(CCmdUI* pCmdUI);
afx_msg void OnMenuTestMessageClear();
afx_msg void OnUpdateMenuTestMessageClear(CCmdUI* pCmdUI);
+ afx_msg void OnMenuToolsClientList();
+ afx_msg void OnUpdateMenuToolsClientList(CCmdUI* pCmdUI);
+ afx_msg void OnMenuToolsCurveEmptyMode();
+ afx_msg void OnUpdateMenuToolsCurveEmptyMode(CCmdUI* pCmdUI);
+ afx_msg void OnMenuToolsCurveProductionMode();
+ afx_msg void OnUpdateMenuToolsCurveProductionMode(CCmdUI* pCmdUI);
+ afx_msg void OnMenuWndTestPanel();
+ afx_msg void OnUpdateMenuWndTestPanel(CCmdUI* pCmdUI);
+ afx_msg void OnMenuWndProPanel();
+ afx_msg void OnUpdateMenuWndProPanel(CCmdUI* pCmdUI);
afx_msg void OnMenuHelpAbout();
afx_msg void OnTimer(UINT_PTR nIDEvent);
afx_msg LRESULT OnPanelResize(WPARAM wParam, LPARAM lParam);
afx_msg void OnTabSelChanged(NMHDR* nmhdr, LRESULT* result);
LRESULT OnToolbarBtnClicked(WPARAM wParam, LPARAM lParam);
LRESULT OnStatusbarBtnClicked(WPARAM wParam, LPARAM lParam);
+ virtual BOOL PreTranslateMessage(MSG* pMsg);
};
--
Gitblit v1.9.3