From e8a27bb203fe2aff70390a5eca002d7438da9b0f Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期三, 22 十月 2025 14:24:34 +0800
Subject: [PATCH] Merge branch 'clh' into liuyang

---
 SourceCode/Bond/Servo/CControlJobManagerDlg.h |   69 ++++++++++++++++++++++++++++++++++
 1 files changed, 69 insertions(+), 0 deletions(-)

diff --git a/SourceCode/Bond/Servo/CControlJobManagerDlg.h b/SourceCode/Bond/Servo/CControlJobManagerDlg.h
new file mode 100644
index 0000000..031ed7c
--- /dev/null
+++ b/SourceCode/Bond/Servo/CControlJobManagerDlg.h
@@ -0,0 +1,69 @@
+锘�#pragma once
+#include "CCjPage1.h"
+#include "CCjPage2.h"
+#include "CCjPage3.h"
+#include "ApredTreeCtrl2.h"
+
+
+#define WM_AFTER_TVCHECK (WM_USER + 1000)
+
+// CControlJobManagerDlg 瀵硅瘽妗�
+
+class CControlJobManagerDlg : public CDialogEx
+{
+	DECLARE_DYNAMIC(CControlJobManagerDlg)
+
+public:
+	CControlJobManagerDlg(CWnd* pParent = nullptr);   // 鏍囧噯鏋勯�犲嚱鏁�
+	virtual ~CControlJobManagerDlg();
+	static void FreeState();
+
+private:
+	void Resize();
+	void UpdateCtrlState();
+	void UpdateControlJob();
+	bool AddPorcessJob(SERVO::CProcessJob* pj);
+	bool RemovePorcessJob(SERVO::CProcessJob* pj);
+	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<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
+	enum { IDD = IDD_DIALOG_CONTROL_JOB_MANAGER };
+#endif
+
+protected:
+	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 鏀寔
+
+	DECLARE_MESSAGE_MAP()
+public:
+	virtual BOOL OnInitDialog();
+	afx_msg void OnSize(UINT nType, int cx, int cy);
+	afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);
+	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);
+};

--
Gitblit v1.9.3