From e15e0d2f9305e71cd160f1ddceab93c7889eab20 Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期四, 05 六月 2025 17:37:33 +0800
Subject: [PATCH] 1. 解决自定义按钮资源泄露问题 2. 增加Slot点击回调和鼠标悬停/点击高亮效果
---
SourceCode/Bond/Servo/CPageGraph2.cpp | 32 +++++++++++++++++++++-----------
1 files changed, 21 insertions(+), 11 deletions(-)
diff --git a/SourceCode/Bond/Servo/CPageGraph2.cpp b/SourceCode/Bond/Servo/CPageGraph2.cpp
index 1b4c9ae..d2a356e 100644
--- a/SourceCode/Bond/Servo/CPageGraph2.cpp
+++ b/SourceCode/Bond/Servo/CPageGraph2.cpp
@@ -128,6 +128,11 @@
CHMPropertyDlg dlg(pEquipment->getName().c_str(), 658, 788);
+ CEquipmentPage1* pPage1 = new CEquipmentPage1();
+ pPage1->setEquipment(pEquipment);
+ pPage1->Create(IDD_PAGE_EQUIPMENT1);
+ dlg.addPage(pPage1, "Link Signal");
+
if (_strcmpi(pEquipment->getClassName(), "CLoadPort") == 0) {
CPagePortProperty* pPageA = new CPagePortProperty();
pPageA->setLoadPort((SERVO::CLoadPort*)pEquipment);
@@ -204,26 +209,31 @@
// 娴嬭瘯
else if (nCmd == ID_EQSGRAPHITEM_TEST1) {
+ BOOL bTestGenerate = FALSE;
SERVO::CEquipment* pEquipment = (SERVO::CEquipment*)pItem->pData;
- if (pEquipment->getID() == EQ_ID_LOADPORT1) {
+ if (pEquipment->getID() == EQ_ID_LOADPORT1 && !pEquipment->hasGlass()) {
((SERVO::CLoadPort*)pEquipment)->testGenerateGlassList(SERVO::MaterialsType::G1,
"P20250320G1X", 1);
+ bTestGenerate = TRUE;
}
- else if (pEquipment->getID() == EQ_ID_LOADPORT2) {
+ else if (pEquipment->getID() == EQ_ID_LOADPORT2 && !pEquipment->hasGlass()) {
((SERVO::CLoadPort*)pEquipment)->testGenerateGlassList(SERVO::MaterialsType::G2,
"P20250320G2X", 1);
+ bTestGenerate = TRUE;
}
- /*
- SERVO::CGlass* pGlass = pEquipment->getAnyGlass();
- if (pGlass != nullptr) {
- SERVO::CJobDataB* pJobDataB = pGlass->getJobDataB();
- SERVO::CJobDataS* pJobDataS = pGlass->getJobDataS();
- if (pJobDataB != nullptr && pJobDataS != nullptr) {
- pEquipment->fetchedOutJob(pJobDataB);
- pEquipment->onSentOutJob(0, pJobDataS);
+
+ if (!bTestGenerate) {
+ SERVO::CRobotTask* pTask = theApp.m_model.getMaster().getActiveRobotTask();
+ if (pTask != nullptr) {
+ SERVO::CGlass* pGlass = (SERVO::CGlass*)pTask->getContext();
+ SERVO::CJobDataB* pJobDataB = pGlass->getJobDataB();
+ SERVO::CJobDataS* pJobDataS = pGlass->getJobDataS();
+ if (pJobDataB != nullptr && pJobDataS != nullptr) {
+ pEquipment->onFetchedOutJob(0, pJobDataB);
+ pEquipment->onSentOutJob(0, pJobDataS);
+ }
}
}
- */
}
else if (nCmd == ID_EQSGRAPHITEM_TEST2) {
SERVO::CEquipment* pEquipment = (SERVO::CEquipment*)pItem->pData;
--
Gitblit v1.9.3