|
// ServoDlg.h : 头文件
|
//
|
|
#pragma once
|
#include <vector>
|
#include <unordered_set>
|
#include "BlButton.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 对话框
|
class CServoDlg : public CDialogEx
|
{
|
// 构造
|
public:
|
CServoDlg(CWnd* pParent = NULL); // 标准构造函数
|
|
|
public:
|
void ShowTerminalText(const char* pszText, unsigned int duration = -1);
|
|
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);
|
|
private:
|
IObserver* m_pObserver;
|
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 支持
|
|
|
// 实现
|
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();
|
afx_msg HCURSOR OnQueryDragIcon();
|
DECLARE_MESSAGE_MAP()
|
public:
|
afx_msg void OnBnClickedOk();
|
afx_msg void OnBnClickedCancel();
|
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
|
afx_msg void OnDestroy();
|
afx_msg void OnSize(UINT nType, int cx, int cy);
|
afx_msg void OnClose();
|
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);
|
afx_msg void OnMenuFileSettings();
|
afx_msg void OnUpdateMenuFileSettings(CCmdUI* pCmdUI);
|
afx_msg void OnMenuFileSecsTest();
|
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 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 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);
|
};
|