From 92dee0d8070594c351008d02fd9645c9e5de80a7 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期五, 11 四月 2025 09:01:04 +0800
Subject: [PATCH] 1.车间测试部分功能; 2.警告测试,修复未能显示警告到报表中的问题。

---
 SourceCode/Bond/Servo/CPageGraph2.cpp |  129 +++++++++++++++++++++++++++++++++++++-----
 1 files changed, 112 insertions(+), 17 deletions(-)

diff --git a/SourceCode/Bond/Servo/CPageGraph2.cpp b/SourceCode/Bond/Servo/CPageGraph2.cpp
index 83c2471..bdc4da1 100644
--- a/SourceCode/Bond/Servo/CPageGraph2.cpp
+++ b/SourceCode/Bond/Servo/CPageGraph2.cpp
@@ -5,6 +5,10 @@
 #include "Servo.h"
 #include "CPageGraph2.h"
 #include "afxdialogex.h"
+#include "CHMPropertyDlg.h"
+#include "CEquipmentPage1.h"
+#include "CEquipmentPage2.h"
+#include "CPageCassetteCtrlCmd.h"
 
 
 // CPageGraph2 瀵硅瘽妗�
@@ -54,11 +58,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,39 +66,135 @@
 		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);
 	};
 	listener.onDblckEqItem = [&](EQITEM* pItem) -> bool {
 		ASSERT(pItem);
+		SERVO::CEquipment* pEquipment = (SERVO::CEquipment*)pItem->pData;
+
+		CHMPropertyDlg dlg(pEquipment->getName().c_str(), 600, 680);
+		CEquipmentPage1* pPage1 = new CEquipmentPage1();
+		pPage1->setEquipment(pEquipment);
+		pPage1->Create(IDD_PAGE_EQUIPMENT1);
+		dlg.addPage(pPage1, "test1");
+
+		CEquipmentPage2* pPage2 = new CEquipmentPage2();
+		pPage2->setEquipment(pEquipment);
+		pPage2->Create(IDD_PAGE_EQUIPMENT2);
+		dlg.addPage(pPage2, "Glass");
+
+		if (pEquipment->getID() == EQ_ID_LOADPORT1
+			|| pEquipment->getID() == EQ_ID_LOADPORT2) {
+			CPageCassetteCtrlCmd* pPage = new CPageCassetteCtrlCmd();
+			pPage->setEquipment(pEquipment);
+			pPage->Create(IDD_PAGE_CASSETTE_CTRL_CMD);
+			dlg.addPage(pPage, "Cassette control command");
+		}
+
+		dlg.DoModal();
 		return true;
 	};
 	listener.onRclickEqItem = [&](EQITEM* pItem) -> bool {
 		ASSERT(pItem);
+
+		CMenu menu, menuCommand;
+		CMenu* pPopupMenu;
+		menu.LoadMenu(IDR_MENU_EQSGRAPH_ITEM);
+		pPopupMenu = menu.GetSubMenu(0);
+
+
+		// 鏄剧ず妯″紡
+		pPopupMenu->EnableMenuItem(ID_EQSGRAPHITEM_SMALL, MF_DISABLED | MF_GRAYED);
+		pPopupMenu->EnableMenuItem(ID_EQSGRAPHITEM_NORMAL, MF_DISABLED | MF_GRAYED);
+		pPopupMenu->EnableMenuItem(ID_EQSGRAPHITEM_LARGE, MF_DISABLED | MF_GRAYED);
+		if (pItem->nShowType == ITEM_SMALL) {
+			pPopupMenu->CheckMenuRadioItem(ID_EQSGRAPHITEM_SMALL, ID_EQSGRAPHITEM_LARGE, ID_EQSGRAPHITEM_SMALL, MF_CHECKED);
+		}
+		else if (pItem->nShowType == ITEM_LARGE) {
+			pPopupMenu->CheckMenuRadioItem(ID_EQSGRAPHITEM_SMALL, ID_EQSGRAPHITEM_LARGE, ID_EQSGRAPHITEM_LARGE, MF_CHECKED);
+		}
+		else {
+			pPopupMenu->CheckMenuRadioItem(ID_EQSGRAPHITEM_SMALL, ID_EQSGRAPHITEM_LARGE, ID_EQSGRAPHITEM_NORMAL, MF_CHECKED);
+		}
+
+
+
+		POINT pt;
+		GetCursorPos(&pt);
+		int nCmd = pPopupMenu->TrackPopupMenu(TPM_RETURNCMD | TPM_LEFTALIGN | TPM_TOPALIGN, pt.x, pt.y, this, NULL);
+		if (nCmd == ID_EQSGRAPHITEM_SMALL) {
+			m_pEqsGraphWnd->SetItemType(pItem, ITEM_SMALL);
+		}
+		else if (nCmd == ID_EQSGRAPHITEM_NORMAL) {
+			m_pEqsGraphWnd->SetItemType(pItem, ITEM_NORMAL);
+		}
+		else if (nCmd == ID_EQSGRAPHITEM_LARGE) {
+			m_pEqsGraphWnd->SetItemType(pItem, ITEM_LARGE);
+		}
+
+
+		// 娴嬭瘯
+		else if (nCmd == ID_EQSGRAPHITEM_TEST1) {
+			SERVO::CEquipment* pEquipment = (SERVO::CEquipment*)pItem->pData;
+			pEquipment->outputGlass(0);
+		}
+		else if (nCmd == ID_EQSGRAPHITEM_TEST2) {
+			SERVO::CEquipment* pEquipment = (SERVO::CEquipment*)pItem->pData;
+			pEquipment->outputGlass(1);
+		}
+		else if (nCmd == ID_EQSGRAPHITEM_TEST3) {
+			SERVO::CEquipment* pEquipment = (SERVO::CEquipment*)pItem->pData;
+			if (pEquipment->getID() == EQ_ID_Bonder1
+				|| pEquipment->getID() == EQ_ID_Bonder2) {
+				static int ii = 0; ii++;
+				pEquipment->setCimMode(ii % 2 == 0);
+			}
+
+			/*
+			SERVO::CEquipment* pEquipment = (SERVO::CEquipment*)pItem->pData;
+			if (pEquipment->getID() == EQ_ID_Bonder1
+				|| pEquipment->getID() == EQ_ID_Bonder2) {
+				static int ii = 0; ii++;
+				pEquipment->setEqMode((ii % 5) + 1);
+			}
+			*/
+			/*
+			SERVO::CEquipment* pEquipment = (SERVO::CEquipment*)pItem->pData;
+			SERVO::CGlass* pGlass = pEquipment->getFrontGlass();
+			if (pGlass != nullptr) {
+				std::string strDescription;
+				SERVO::CPath* pPath = pGlass->getPath();
+				while (pPath != nullptr) {
+					pPath->getDescription(strDescription);
+					AfxMessageBox(strDescription.c_str());
+					pPath = pPath->getNext();
+				}
+			}
+			*/
+		}
+
+
+		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;
 	};
 

--
Gitblit v1.9.3