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 | 106 +++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 83 insertions(+), 23 deletions(-)
diff --git a/SourceCode/Bond/Servo/ServoDlg.h b/SourceCode/Bond/Servo/ServoDlg.h
index 2681c75..e05c9e5 100644
--- a/SourceCode/Bond/Servo/ServoDlg.h
+++ b/SourceCode/Bond/Servo/ServoDlg.h
@@ -1,57 +1,96 @@
-
-// ServoDlg.h : 头文件
+锘�
+// ServoDlg.h : 澶存枃浠�
//
#pragma once
-#include "ServoGraph.h"
+#include <vector>
+#include <unordered_set>
#include "BlButton.h"
-#include "LogDlg.h"
+#include "PageLog.h"
+#include "PageAlarm.h"
+#include "PageTransferLog.h"
+#include "PageRecipe.h"
#include "TerminalDisplayDlg.h"
+#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 UpdateLogBtn();
-
+ void SetLeftPanelType(int type, bool resize = true);
+ void ShowChildPage(int index);
+ void UpdateLoginStatus();
+ CString& GetRuntimeFormatText(CString& strText, const char* pszSuffix);
private:
IObserver* m_pObserver;
- BOOL m_bShowLogWnd;
- CLogDlg* m_pLogDlg;
CTerminalDisplayDlg* m_pTerminalDisplayDlg;
+ 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;
- CServoGraph* m_pGraph;
COLORREF m_crBkgnd;
HBRUSH m_hbrBkgnd;
- CBlButton m_btnLog;
+ 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();
@@ -62,10 +101,8 @@
afx_msg void OnBnClickedCancel();
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
afx_msg void OnDestroy();
- afx_msg void OnBnClickedButtonLog();
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnClose();
- afx_msg LRESULT OnLogDlgHide(WPARAM wParam, LPARAM lParam);
afx_msg void OnMoving(UINT fwSide, LPRECT pRect);
afx_msg void OnMove(int x, int y);
afx_msg void OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu);
@@ -73,10 +110,33 @@
afx_msg void OnUpdateMenuFileSettings(CCmdUI* pCmdUI);
afx_msg void OnMenuFileSecsTest();
afx_msg void OnUpdateMenuFileSecsTest(CCmdUI* pCmdUI);
- afx_msg void OnMenuWndLog();
- afx_msg void OnUpdateMenuWndLog(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