From 60fce85863e07388db589bd26da73c3bbc1c7299 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期一, 24 三月 2025 10:16:25 +0800
Subject: [PATCH] 1.选中连接图中的节点,更新显示属性,为方便快速调试;
---
SourceCode/Bond/Servo/CPageGraph2.cpp | 25 ++++++++-----------------
SourceCode/Bond/Servo/EqsGraphWnd.h | 1 +
SourceCode/Bond/Servo/EqsGraphWnd.cpp | 17 +++++++++++++++--
SourceCode/Bond/Servo/ServoDlg.cpp | 4 ++--
4 files changed, 26 insertions(+), 21 deletions(-)
diff --git a/SourceCode/Bond/Servo/CPageGraph2.cpp b/SourceCode/Bond/Servo/CPageGraph2.cpp
index 00e7b4c..f29a3bb 100644
--- a/SourceCode/Bond/Servo/CPageGraph2.cpp
+++ b/SourceCode/Bond/Servo/CPageGraph2.cpp
@@ -54,11 +54,6 @@
ASSERT(pPin1->pData);
ASSERT(pPin2->pData);
- //int nRet = ((IPin*)pPin1->pData)->checkConnectPin((IPin*)pPin2->pData);
- //if (nRet >= 0) {
- // return true;
- //}
-
return false;
};
listener.onConnectPin = [](PIN* pPin1, PIN* pPin2) -> bool {
@@ -67,29 +62,18 @@
ASSERT(pPin1->pData);
ASSERT(pPin2->pData);
- //int nRet = ((IPin*)pPin1->pData)->connectPin((IPin*)pPin2->pData);
- //if (nRet >= 0) {
- // return true;
- //}
-
return false;
};
listener.onDisconnectPin = [](PIN* pPin) -> bool {
ASSERT(pPin);
ASSERT(pPin->pData);
- //int nRet = ((IPin*)pPin->pData)->disconnect();
- //if (nRet >= 0) {
- // return true;
- //}
-
return false;
};
listener.onDeleteEqItem = [&](EQITEM* pItem) -> bool {
ASSERT(pItem);
ASSERT(pItem->pData);
- return true;
- // return _filterManager.unload((CFilter*)pFilter->pData) >= 0;
+ return false;
};
listener.onEqItemPosChanged = [&](EQITEM* pItem, int x, int y) -> void {
ASSERT(pItem);
@@ -150,6 +134,13 @@
return true;
};
+ listener.onSelectEqItem = [&](EQITEM* pItem) -> bool {
+ ASSERT(pItem);
+ SERVO::CEquipment* pEquipment = (SERVO::CEquipment*)pItem->pData;
+ theApp.m_model.notifyPtr(RX_CODE_SELECT_EQUIPMENT, pEquipment);
+
+ return true;
+ };
m_pEqsGraphWnd = CEqsGraphWnd::FromHandle(GetDlgItem(IDC_EQSGRAPHWND1)->m_hWnd);
m_pEqsGraphWnd->SetBkgndColor(m_crBkgnd);
diff --git a/SourceCode/Bond/Servo/EqsGraphWnd.cpp b/SourceCode/Bond/Servo/EqsGraphWnd.cpp
index 8b8d441..50d569d 100644
--- a/SourceCode/Bond/Servo/EqsGraphWnd.cpp
+++ b/SourceCode/Bond/Servo/EqsGraphWnd.cpp
@@ -42,6 +42,7 @@
m_listener.onEqItemPosChanged = nullptr;
m_listener.onDblckEqItem = nullptr;
m_listener.onRclickEqItem = nullptr;
+ m_listener.onSelectEqItem = nullptr;
m_crItemBackground[0] = RGB(218, 218, 218);
m_crItemBackground[1] = RGB(193, 208, 227);
m_crItemFrame[0] = RGB(128, 128, 128);
@@ -492,6 +493,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 +1288,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 +1312,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 +1564,13 @@
}
+ if (bSelectChanged) {
+ if (m_listener.onSelectEqItem != nullptr) {
+ m_listener.onSelectEqItem(m_pCurItem);
+ }
+ }
+
+
return ::DefWindowProc(m_hWnd, WM_LBUTTONDOWN, wParam, lParam);
}
diff --git a/SourceCode/Bond/Servo/EqsGraphWnd.h b/SourceCode/Bond/Servo/EqsGraphWnd.h
index 1c4ff41..89b56f5 100644
--- a/SourceCode/Bond/Servo/EqsGraphWnd.h
+++ b/SourceCode/Bond/Servo/EqsGraphWnd.h
@@ -89,6 +89,7 @@
ONEQITEMPOSCHANGED onEqItemPosChanged;
ONDELETEEQITEM onDblckEqItem;
ONDELETEEQITEM onRclickEqItem;
+ ONDELETEEQITEM onSelectEqItem;
} EqsGraphListener;
class CEqsGraphWnd
diff --git a/SourceCode/Bond/Servo/ServoDlg.cpp b/SourceCode/Bond/Servo/ServoDlg.cpp
index cfc6034..5d96844 100644
--- a/SourceCode/Bond/Servo/ServoDlg.cpp
+++ b/SourceCode/Bond/Servo/ServoDlg.cpp
@@ -234,8 +234,8 @@
CHmTab* m_pTab = CHmTab::Hook(GetDlgItem(IDC_TAB1)->m_hWnd);
m_pTab->SetPaddingLeft(20);
m_pTab->SetItemMarginLeft(18);
- m_pTab->AddItem("报表", FALSE);
- m_pTab->AddItem("日志", TRUE);
+ m_pTab->AddItem("状态图", FALSE);
+ m_pTab->AddItem("连接图", TRUE);
m_pTab->SetCurSel(0);
m_pTab->SetBkgndColor(RGB(222, 222, 222));
ShowChildPage(0);
--
Gitblit v1.9.3