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/CPanelProduction.h | 64 ++++++++++++++++++++++++++++++++
1 files changed, 64 insertions(+), 0 deletions(-)
diff --git a/SourceCode/Bond/Servo/CPanelProduction.h b/SourceCode/Bond/Servo/CPanelProduction.h
new file mode 100644
index 0000000..a4bd705
--- /dev/null
+++ b/SourceCode/Bond/Servo/CPanelProduction.h
@@ -0,0 +1,64 @@
+锘�#pragma once
+#include "BlButton.h"
+#include <afxmt.h>
+#include "AccordionWnd.h"
+#include "ProductionStats.h"
+#include "CPageProdOverview.h"
+#include "CPageCtrlState.h"
+
+// CPanelProduction dialog
+class CPanelProduction : public CDialogEx
+{
+ DECLARE_DYNAMIC(CPanelProduction)
+
+public:
+ CPanelProduction(CWnd* pParent = nullptr); // standard constructor
+ virtual ~CPanelProduction();
+ int getPanelWidth();
+ void setPanelWidth(int width);
+
+private:
+ COLORREF m_crBkgnd;
+ HBRUSH m_hbrBkgnd;
+ int m_nPanelWidth;
+ CBlButton m_btnClose;
+ HWND m_hPlaceholder;
+ CAccordionWnd* m_pAccordionWnd;
+
+ // Production shift summaries (updated by background thread)
+ ProductionShiftSummary m_daySummary;
+ ProductionShiftSummary m_nightSummary;
+ BOOL m_bShiftSummaryValid;
+ CCriticalSection m_csShiftSummary;
+ CWinThread* m_pStatsThread;
+ CEvent m_evStopStats;
+ CPageProdOverview* m_pPageProdOverview;
+ CPageCtrlState* m_pPageCtrlState;
+
+protected:
+ virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
+
+// 瀵硅瘽妗嗘暟鎹�
+#ifdef AFX_DESIGN_TIME
+ enum { IDD = IDD_PANEL_PRODUCTION };
+#endif
+
+ DECLARE_MESSAGE_MAP()
+public:
+ virtual BOOL OnInitDialog();
+ 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 OnVLineMoveX(NMHDR* nmhdr, LRESULT* result);
+ afx_msg void OnBnClickedButtonClose();
+
+ // Thread-safe snapshots for UI timer display
+ BOOL TryGetDayNightSummaries(ProductionShiftSummary& outDay, ProductionShiftSummary& outNight);
+
+private:
+ static UINT AFX_CDECL StatsThreadProc(LPVOID pParam);
+ void StartStatsThread();
+ void StopStatsThread();
+public:
+ afx_msg void OnTimer(UINT_PTR nIDEvent);
+};
--
Gitblit v1.9.3