From aedb3b85fed48cb2cf0abb5fafa8e7591644c9f4 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期一, 02 十二月 2024 08:53:06 +0800
Subject: [PATCH] Merge branch 'liuyang' into clh

---
 SourceCode/Bond/BondEq/View/AxisSettingsDlg.h |  108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 108 insertions(+), 0 deletions(-)

diff --git a/SourceCode/Bond/BondEq/View/AxisSettingsDlg.h b/SourceCode/Bond/BondEq/View/AxisSettingsDlg.h
new file mode 100644
index 0000000..bd1f4d6
--- /dev/null
+++ b/SourceCode/Bond/BondEq/View/AxisSettingsDlg.h
@@ -0,0 +1,108 @@
+锘�#pragma once
+#include "afxdialogex.h"
+#include "BlButton.h"
+#include "BLLabel.h"
+#include "CPLC.h"
+
+// CAxisSettingsDlg 瀵硅瘽妗�
+
+enum class AxisOperationType {
+	OPR = 0,    // 鍥炲師鐐�
+	JOG_ADD,    // 姝e悜鐐瑰姩
+	JOG_SUB,    // 鍙嶅悜鐐瑰姩
+	STOP,		// 鍋滄鎿嶄綔
+	POSITION_1, // 瀹氫綅鐐�1
+	POSITION_2, // 瀹氫綅鐐�2
+	POSITION_3, // 瀹氫綅鐐�3
+	POSITION_4, // 瀹氫綅鐐�4
+	POSITION_5  // 瀹氫綅鐐�5
+};
+
+class CAxisSettingsDlg : public CDialogEx
+{
+	DECLARE_DYNAMIC(CAxisSettingsDlg)
+
+public:
+	CAxisSettingsDlg(CWnd* pParent = nullptr);   // 鏍囧噯鏋勯�犲嚱鏁�
+	virtual ~CAxisSettingsDlg();
+
+public:
+	void SetPLC(CPLC* pPLC);
+	void SetRecipeName(const CString& strRecipeName);
+
+// 瀵硅瘽妗嗘暟鎹�
+#ifdef AFX_DESIGN_TIME
+	enum { IDD = IDD_DIALOG_AXIS_SETTINGS };
+#endif
+
+private:
+	UINT FindIDByName(const CString& strControlID);
+	CFont* GetOrCreateFont(int nFontSize);
+	void SetDefaultFont();
+	void AdjustControls(float dScaleX, float dScaleY);
+	void AdjustControlFont(CWnd* pWnd, int nWidth, int nHeight);
+	void AdjustLabelFont(CBLLabel& label);
+	void SetStatusColor(CBLLabel& label, BOOL bStatus);
+	void updatePageButtonStates();
+	int getCurrentSelectedAxisID();
+	void initializeAxisIDCombo();
+	void refreshAxisDetails(int nAxisId);
+	void refreshPositionDetails(int nAxisId, int pageNumber);
+	void updateAxisSelection(int offset);
+	void updateDataFromUI(int nAxisId);
+	void switchToPage(int targetPage);
+	void writeAxisDataToPLC(int nAxisId);
+	void handleAxisOperation(AxisOperationType eOpType, bool bPressed);
+
+
+private:
+	CPLC* m_pPLC;
+	int m_nInitialWidth;
+	int m_nInitialHeight;
+
+	// 褰撳墠閫変腑鐨勫畾浣嶉〉闈㈢储寮�
+	int m_currentPage;
+
+	// 閰嶆柟鍚嶇О
+	CString m_strRecipeName;
+
+	// 鎸変笅鏍囪瘑
+	BOOL m_bJogAddPressed;
+	BOOL m_bJogSubPressed;
+
+	// 鎺т欢
+	CBLLabel m_staticFLS, m_staticDOG, m_staticRLS, m_staticReady, m_staticBusy, m_staticErr;
+	CComboBox m_comboAxisNO;
+	CStatic m_staticAxisNO, m_staticAxisDescription, m_staticStartAddress;
+	CEdit m_editManualSpeed, m_editAutoSpeed, m_editAccelerationTime, m_editDecelerationTime, m_editJogDistance;
+	CBlButton m_pageButtons[5];
+
+	std::map<int, CRect> m_mapCtrlLayouts;
+	std::map<int, CFont*> m_mapFonts;
+
+protected:
+	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 鏀寔
+	virtual BOOL OnInitDialog();
+	virtual BOOL PreTranslateMessage(MSG* pMsg);
+	afx_msg void OnSize(UINT nType, int cx, int cy);
+	afx_msg void OnSizing(UINT fwSide, LPRECT pRect);
+	afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
+	afx_msg void OnBnClickedButtonAxisLast();
+	afx_msg void OnBnClickedButtonAxisNext();
+	afx_msg void OnBnClickedButtonAxisAnchorPointGroup1();
+	afx_msg void OnBnClickedButtonAxisAnchorPointGroup2();
+	afx_msg void OnBnClickedButtonAxisAnchorPointGroup3();
+	afx_msg void OnBnClickedButtonAxisAnchorPointGroup4();
+	afx_msg void OnBnClickedButtonAxisAnchorPointGroup5();
+	afx_msg void OnBnClickedButtonAxisAnchorPoint1();
+	afx_msg void OnBnClickedButtonAxisAnchorPoint2();
+	afx_msg void OnBnClickedButtonAxisAnchorPoint3();
+	afx_msg void OnBnClickedButtonAxisAnchorPoint4();
+	afx_msg void OnBnClickedButtonAxisAnchorPoint5();
+	afx_msg void OnBnClickedButtonAxisTestOpr();
+	afx_msg void OnBnClickedButtonAxisTestStop();
+	afx_msg void OnSelchangeComboAxisName();
+	afx_msg void OnBnClickedButtonAxisSave();
+	afx_msg void OnTimer(UINT_PTR nIDEvent);
+	DECLARE_MESSAGE_MAP()
+};

--
Gitblit v1.9.3