From bc7f1c4e028e69be51079b59dae4ae5c4d43f5bb Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期六, 31 一月 2026 21:54:56 +0800
Subject: [PATCH] 1.状态指示图,目前灰色表示掉线,绿色表示在线。增加Slot的小点表示有没有料,及加工状态 。 2.增加图示

---
 SourceCode/Bond/Servo/ServoDlg.cpp |   44 ++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 42 insertions(+), 2 deletions(-)

diff --git a/SourceCode/Bond/Servo/ServoDlg.cpp b/SourceCode/Bond/Servo/ServoDlg.cpp
index 9d50889..8bd8ca8 100644
--- a/SourceCode/Bond/Servo/ServoDlg.cpp
+++ b/SourceCode/Bond/Servo/ServoDlg.cpp
@@ -150,6 +150,10 @@
 	ON_UPDATE_COMMAND_UI(ID_MENU_TEST_MESSAGE_CLEAR, &CServoDlg::OnUpdateMenuTestMessageClear)
 	ON_COMMAND(ID_MENU_TOOLS_CLIENT_LIST, &CServoDlg::OnMenuToolsClientList)
 	ON_UPDATE_COMMAND_UI(ID_MENU_TOOLS_CLIENT_LIST, &CServoDlg::OnUpdateMenuToolsClientList)
+	ON_COMMAND(ID_MENU_TOOLS_CURVE_EMPTY, &CServoDlg::OnMenuToolsCurveEmptyMode)
+	ON_UPDATE_COMMAND_UI(ID_MENU_TOOLS_CURVE_EMPTY, &CServoDlg::OnUpdateMenuToolsCurveEmptyMode)
+	ON_COMMAND(ID_MENU_TOOLS_CURVE_PRODUCTION, &CServoDlg::OnMenuToolsCurveProductionMode)
+	ON_UPDATE_COMMAND_UI(ID_MENU_TOOLS_CURVE_PRODUCTION, &CServoDlg::OnUpdateMenuToolsCurveProductionMode)
 	ON_COMMAND(ID_MENU_WND_TEST_PANEL, &CServoDlg::OnMenuWndTestPanel)
 	ON_UPDATE_COMMAND_UI(ID_MENU_WND_TEST_PANEL, &CServoDlg::OnUpdateMenuWndTestPanel)
 	ON_COMMAND(ID_MENU_WND_PRO_PANEL, &CServoDlg::OnMenuWndProPanel)
@@ -191,7 +195,7 @@
 					ASSERT(m_pPanelAttributes);
 					m_pPanelEquipment->loadDataFromEquipment(pEquipment);
 					m_pPanelAttributes->ShowWindow(SW_HIDE);
-					if (!m_pPanelEquipment->IsWindowVisible()) {
+					if (!m_pPanelEquipment->IsWindowVisible() && m_nLeftPanelType == 1) {
 						m_pPanelEquipment->ShowWindow(SW_SHOW);
 						Resize();
 					}
@@ -280,7 +284,7 @@
 					text = _T("ControlJob: None");
 				}
 				if (m_pMyStatusbar != nullptr) {
-					m_pMyStatusbar->setRunTimeText((LPTSTR)(LPCTSTR)text);
+					m_pMyStatusbar->setJobText((LPTSTR)(LPCTSTR)text);
 					if (cj != nullptr && cj->state() == SERVO::CJState::Paused) {
 						m_pMyStatusbar->setBackgroundColor(STATUSBAR_BK_ALARM);
 						m_pMyStatusbar->setForegroundColor(RGB(0, 0, 0));
@@ -415,6 +419,12 @@
 		}
 		pBtn->EnableWindow(TRUE);
 	}
+}
+
+void CServoDlg::AckAlarm(int alarmId)
+{
+	m_ackAlarms.insert(alarmId);
+	RefreshAlarmBadge();
 }
 
 void CServoDlg::RaiseTestAlarm()
@@ -586,6 +596,7 @@
 	m_pMyStatusbar = new CMyStatusbar();
 	m_pMyStatusbar->Create(IDD_STATUSBAR, this);
 	m_pMyStatusbar->ShowWindow(SW_SHOW);
+	m_pMyStatusbar->setJobText("ControlJob: None");
 	LOGI("[BOOT][UI] statusbar created, elapsed=%llu ms", (unsigned long long)(GetTickCount64() - boot_ui_begin));
 
 
@@ -619,6 +630,13 @@
 			(unsigned long long)(GetTickCount64() - boot_master_begin),
 			(unsigned long long)(GetTickCount64() - boot_ui_begin));
 		theApp.m_model.loadPortParams();
+	}
+
+	// 杩樺師鐘舵�佹爮杩愯鏃堕棿鏄剧ず锛堥伩鍏嶄竴鐩村仠鐣欏湪鈥滄鍦ㄥ姞杞藉巻鍙茬紦瀛�...鈥濓級
+	if (m_pMyStatusbar != nullptr) {
+		CString strText;
+		GetRuntimeFormatText(strText, "");
+		m_pMyStatusbar->setRunTimeText((LPTSTR)(LPCTSTR)strText);
 	}
 
 
@@ -878,6 +896,28 @@
 	pCmdUI->Enable(TRUE);
 }
 
+void CServoDlg::OnMenuToolsCurveEmptyMode()
+{
+	theApp.m_model.getMaster().setCurveMode(SERVO::CurveMode::EmptyChamber);
+}
+
+void CServoDlg::OnUpdateMenuToolsCurveEmptyMode(CCmdUI* pCmdUI)
+{
+	pCmdUI->Enable(TRUE);
+	pCmdUI->SetCheck(theApp.m_model.getMaster().getCurveMode() == SERVO::CurveMode::EmptyChamber);
+}
+
+void CServoDlg::OnMenuToolsCurveProductionMode()
+{
+	theApp.m_model.getMaster().setCurveMode(SERVO::CurveMode::Production);
+}
+
+void CServoDlg::OnUpdateMenuToolsCurveProductionMode(CCmdUI* pCmdUI)
+{
+	pCmdUI->Enable(TRUE);
+	pCmdUI->SetCheck(theApp.m_model.getMaster().getCurveMode() == SERVO::CurveMode::Production);
+}
+
 void CServoDlg::OnMenuWndTestPanel()
 {
 	SetLeftPanelType(1);

--
Gitblit v1.9.3