From 1bc4fecb9cc1641ed3ad0a2fda30766fc06fb13e Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期二, 01 四月 2025 16:05:07 +0800
Subject: [PATCH] Merge branch 'clh' into liuyang
---
SourceCode/Bond/Servo/EqsGraphWnd.cpp | 24 +++++++++++++++---------
1 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/SourceCode/Bond/Servo/EqsGraphWnd.cpp b/SourceCode/Bond/Servo/EqsGraphWnd.cpp
index 8b8d441..466ca8e 100644
--- a/SourceCode/Bond/Servo/EqsGraphWnd.cpp
+++ b/SourceCode/Bond/Servo/EqsGraphWnd.cpp
@@ -35,13 +35,7 @@
m_hWnd = NULL;
m_crFrame = GetSysColor(COLOR_WINDOWFRAME);
m_crBkgnd = RGB(255, 255, 255);
- m_listener.onConnectPin = nullptr;
- m_listener.onCheckConnectPin = nullptr;
- m_listener.onDisconnectPin = nullptr;
- m_listener.onDeleteEqItem = nullptr;
- m_listener.onEqItemPosChanged = nullptr;
- m_listener.onDblckEqItem = nullptr;
- m_listener.onRclickEqItem = nullptr;
+ m_listener = {nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr };
m_crItemBackground[0] = RGB(218, 218, 218);
m_crItemBackground[1] = RGB(193, 208, 227);
m_crItemFrame[0] = RGB(128, 128, 128);
@@ -492,6 +486,7 @@
m_listener.onEqItemPosChanged = listener.onEqItemPosChanged;
m_listener.onDblckEqItem = listener.onDblckEqItem;
m_listener.onRclickEqItem = listener.onRclickEqItem;
+ m_listener.onSelectEqItem = listener.onSelectEqItem;
}
BOOL CEqsGraphWnd::SetCurSel(int nSel)
@@ -1286,6 +1281,7 @@
PIN *pLastPin = m_pCurPin;
PIN *pLastSelLineOutPin = m_pSelLineOutPin;
BOOL bChanged = FALSE;
+ BOOL bSelectChanged = FALSE;
EQITEM* pHitItem = NULL;
PIN *pHitPin = NULL;
PIN *pPin2 = NULL;
@@ -1309,8 +1305,11 @@
}
if (nRet == HT_ITEM) {
- m_pCurItem = pHitItem;
- m_pCurItem->bHighlight = TRUE;
+ if (m_pCurItem != pHitItem) {
+ m_pCurItem = pHitItem;
+ m_pCurItem->bHighlight = TRUE;
+ bSelectChanged = TRUE;
+ }
}
else if (nRet == HT_PIN) {
m_pCurPin = pHitPin;
@@ -1558,6 +1557,13 @@
}
+ if (bSelectChanged) {
+ if (m_listener.onSelectEqItem != nullptr) {
+ m_listener.onSelectEqItem(m_pCurItem);
+ }
+ }
+
+
return ::DefWindowProc(m_hWnd, WM_LBUTTONDOWN, wParam, lParam);
}
--
Gitblit v1.9.3