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/ServoDlg.cpp | 80 +++++++++++++++++++++++++++++++++-------
1 files changed, 66 insertions(+), 14 deletions(-)
diff --git a/SourceCode/Bond/Servo/ServoDlg.cpp b/SourceCode/Bond/Servo/ServoDlg.cpp
index f8a74b8..8bd8ca8 100644
--- a/SourceCode/Bond/Servo/ServoDlg.cpp
+++ b/SourceCode/Bond/Servo/ServoDlg.cpp
@@ -140,12 +140,20 @@
ON_UPDATE_COMMAND_UI(ID_MENU_FILE_SECSTEST, &CServoDlg::OnUpdateMenuFileSecsTest)
ON_COMMAND(ID_MENU_PROJECT_VARIABLE_LIST, &CServoDlg::OnMenuProjectVarialbleList)
ON_UPDATE_COMMAND_UI(ID_MENU_PROJECT_VARIABLE_LIST, &CServoDlg::OnUpdateMenuProjectVarialbleList)
+ ON_COMMAND(ID_MENU_TEST_ALARM_ON, &CServoDlg::OnMenuTestAlarmOn)
+ ON_UPDATE_COMMAND_UI(ID_MENU_TEST_ALARM_ON, &CServoDlg::OnUpdateMenuTestAlarmOn)
+ ON_COMMAND(ID_MENU_TEST_ALARM_OFF, &CServoDlg::OnMenuTestAlarmOff)
+ ON_UPDATE_COMMAND_UI(ID_MENU_TEST_ALARM_OFF, &CServoDlg::OnUpdateMenuTestAlarmOff)
ON_COMMAND(ID_MENU_TEST_MESSAGE_SET, &CServoDlg::OnMenuTestMessageSet)
ON_UPDATE_COMMAND_UI(ID_MENU_TEST_MESSAGE_SET, &CServoDlg::OnUpdateMenuTestMessageSet)
ON_COMMAND(ID_MENU_TEST_MESSAGE_CLEAR, &CServoDlg::OnMenuTestMessageClear)
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)
@@ -187,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();
}
@@ -276,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));
@@ -411,6 +419,12 @@
}
pBtn->EnableWindow(TRUE);
}
+}
+
+void CServoDlg::AckAlarm(int alarmId)
+{
+ m_ackAlarms.insert(alarmId);
+ RefreshAlarmBadge();
}
void CServoDlg::RaiseTestAlarm()
@@ -582,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));
@@ -615,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);
}
@@ -815,6 +837,26 @@
pCmdUI->Enable(TRUE);
}
+void CServoDlg::OnMenuTestAlarmOn()
+{
+ RaiseTestAlarm();
+}
+
+void CServoDlg::OnUpdateMenuTestAlarmOn(CCmdUI* pCmdUI)
+{
+ pCmdUI->Enable(TRUE);
+}
+
+void CServoDlg::OnMenuTestAlarmOff()
+{
+ ClearTestAlarm();
+}
+
+void CServoDlg::OnUpdateMenuTestAlarmOff(CCmdUI* pCmdUI)
+{
+ pCmdUI->Enable(TRUE);
+}
+
void CServoDlg::OnMenuTestMessageSet()
{
SERVO::CEquipment* pEquipment = m_pPanelMaster->GetActiveEquipment();
@@ -852,6 +894,28 @@
void CServoDlg::OnUpdateMenuToolsClientList(CCmdUI* pCmdUI)
{
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()
@@ -1464,18 +1528,6 @@
BOOL CServoDlg::PreTranslateMessage(MSG* pMsg)
{
- if (pMsg->message == WM_KEYDOWN) {
- const bool ctrl = (GetKeyState(VK_CONTROL) & 0x8000) != 0;
- const bool alt = (GetKeyState(VK_MENU) & 0x8000) != 0;
- if (ctrl && alt && pMsg->wParam == 'T') {
- RaiseTestAlarm();
- return TRUE;
- }
- if (ctrl && alt && pMsg->wParam == 'Y') {
- ClearTestAlarm();
- return TRUE;
- }
- }
return CDialogEx::PreTranslateMessage(pMsg);
}
--
Gitblit v1.9.3