mrDarker
2025-10-22 e8a27bb203fe2aff70390a5eca002d7438da9b0f
SourceCode/Bond/Servo/CControlJobManagerDlg.h
@@ -5,6 +5,8 @@
#include "ApredTreeCtrl2.h"
#define WM_AFTER_TVCHECK (WM_USER + 1000)
// CControlJobManagerDlg 对话框
class CControlJobManagerDlg : public CDialogEx
@@ -14,6 +16,7 @@
public:
   CControlJobManagerDlg(CWnd* pParent = nullptr);   // 标准构造函数
   virtual ~CControlJobManagerDlg();
   static void FreeState();
private:
   void Resize();
@@ -21,15 +24,26 @@
   void UpdateControlJob();
   bool AddPorcessJob(SERVO::CProcessJob* pj);
   bool RemovePorcessJob(SERVO::CProcessJob* pj);
   void UpProcessJobId(SERVO::CProcessJob* pJob);
   void UpProcessJobId(PJWarp* pjWarp);
   void UpControlJobId(SERVO::CControlJob* pControlJob);
   void InitData();
   void LoadState();
   void SaveState();
   int ShowPage(int index);
private:
   std::vector<CCjPageBase*> m_pages;
   SERVO::CControlJob* m_pControlJob;
   std::vector<SERVO::CProcessJob*> m_processJobs;
   std::vector<PJWarp> m_pjWarps;
   CApredTreeCtrl2 m_tree;
public:
   struct State {
      SERVO::CControlJob* pControlJob = nullptr;
      std::vector<PJWarp> pjWarps;
   };
   static bool m_bHasState;
   static State m_state;
// 对话框数据
#ifdef AFX_DESIGN_TIME
@@ -44,7 +58,12 @@
   virtual BOOL OnInitDialog();
   afx_msg void OnSize(UINT nType, int cx, int cy);
   afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);
   afx_msg void OnTvnSelchangedTree1(NMHDR* pNMHDR, LRESULT* pResult);
   afx_msg void OnTvnItemChangedTree(NMHDR* pNMHDR, LRESULT* pResult);
   afx_msg void OnDestroy();
   afx_msg void OnBnClickedButtonApply();
   afx_msg void OnTvnSelchangingTree1(NMHDR* pNMHDR, LRESULT* pResult);
   afx_msg void OnBnClickedButtonBathCompletion();
   afx_msg void OnTreeClick(NMHDR* pNMHDR, LRESULT* pResult);
   afx_msg void OnTreeKeyDown(NMHDR* pNMHDR, LRESULT* pResult);
   afx_msg LRESULT OnAfterTvCheck(WPARAM wParam, LPARAM lParam);
};