From 1e64f6279358f5c838463497894e020857b37311 Mon Sep 17 00:00:00 2001 From: LYW <leeyeanwoo@diteam.co.kr> Date: 화, 21 12월 2021 09:37:24 +0900 Subject: [PATCH] Ongoing90 #3835 CF AOI Review Offset Grid 클릭시 해당 되는 결함 DefectMap표시 --- ReviewSystem/ReviewSystem/DlgReviewOffSetTool.cpp | 136 ++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 132 insertions(+), 4 deletions(-) diff --git a/ReviewSystem/ReviewSystem/DlgReviewOffSetTool.cpp b/ReviewSystem/ReviewSystem/DlgReviewOffSetTool.cpp index 2b88f05..190b7db 100644 --- a/ReviewSystem/ReviewSystem/DlgReviewOffSetTool.cpp +++ b/ReviewSystem/ReviewSystem/DlgReviewOffSetTool.cpp @@ -25,6 +25,8 @@ , m_editGlassOffSetmodeScanIndex(0) , m_editGlassOffSetmodeXpos(0) , m_editGlassOffSetmodeYpos(0) + , m_dWarnStandard(0) + , m_dHardStandard(0) { m_EditChangeTargetXpos = 0; m_EditChangeTargetYpos = 0; @@ -72,6 +74,8 @@ DDX_Text(pDX, IDC_EDIT_SCAN_INDEX, m_editGlassOffSetmodeScanIndex); DDX_Text(pDX, IDC_EDIT_MOTOR_XPOS, m_editGlassOffSetmodeXpos); DDX_Text(pDX, IDC_EDIT_MOTOR_YPOS, m_editGlassOffSetmodeYpos); + DDX_Text(pDX, IDC_EDIT_WARN_STANDARD, m_dWarnStandard); + DDX_Text(pDX, IDC_EDIT_HARD_STANDARD, m_dHardStandard); } @@ -90,6 +94,7 @@ ON_MESSAGE(WM_OFFSETTOOL_MESSAGE2, OnUpdatedata) ON_BN_CLICKED(IDC_BUTTON_SAVE_SETTING_FILE, &DlgReviewOffSetTool::OnBnClickedButtonSaveSettingFile) ON_BN_CLICKED(IDC_CHECK_OFFSET_MODE, &DlgReviewOffSetTool::OnBnClickedCheckOffsetMode) + ON_BN_CLICKED(IDC_OFFSET_LOAD, &DlgReviewOffSetTool::OnBnClickedOffsetLoad) END_MESSAGE_MAP() @@ -422,8 +427,10 @@ int nRow = 1; int nCol = 1; CString strData; + /*< LYW 20211111 - #3766 ADD Start >*/ + BOOL b_checkHardAlarm = FALSE; + /*< LYW 20211111 - #3766 ADD End >*/ - nModuleidx = m_ctrlComboModule.GetCurSel(); for (int nCamidx = 0; nCamidx < m_nCameraCount; nCamidx++) @@ -440,8 +447,39 @@ strData.Format(_T("%.03lf"), pOffSet.dXoffSetValue); m_ctrlGridReviewOffSetInfo.SetItemText(nCol, nRow,strData); + /*< LYW 20211111 - #3766 ADD Start >*/ + if (abs(pOffSet.dXoffSetValue) * 1000 >= m_dHardStandard) + { + m_ctrlGridReviewOffSetInfo.SetItemBkColour(nCol, nRow, RGB(255, 0, 0)); + b_checkHardAlarm = TRUE; + } + else if (abs(pOffSet.dXoffSetValue) * 1000 >= m_dWarnStandard) + { + m_ctrlGridReviewOffSetInfo.SetItemBkColour(nCol, nRow, RGB(255, 255, 0)); + } + else + { + m_ctrlGridReviewOffSetInfo.SetItemBkColour(nCol, nRow, RGB(255, 255, 210)); + } + /*< LYW 20211111 - #3766 ADD End >*/ + strData.Format(_T("%.03lf"), pOffSet.dYoffSetValue); m_ctrlGridReviewOffSetInfo.SetItemText( nCol, nRow + 1, strData); + /*< LYW 20211111 - #3766 ADD Start >*/ + if (abs(pOffSet.dYoffSetValue) * 1000 >= m_dHardStandard) + { + m_ctrlGridReviewOffSetInfo.SetItemBkColour(nCol, nRow + 1, RGB(255, 0, 0)); + b_checkHardAlarm = TRUE; + } + else if (abs(pOffSet.dYoffSetValue) * 1000 >= m_dWarnStandard) + { + m_ctrlGridReviewOffSetInfo.SetItemBkColour(nCol, nRow + 1, RGB(255, 255, 0)); + } + else + { + m_ctrlGridReviewOffSetInfo.SetItemBkColour(nCol, nRow + 1, RGB(255, 255, 210)); + } + /*< LYW 20211111 - #3766 ADD End >*/ nRow += 2; } nRow = 1; @@ -450,7 +488,10 @@ } } - + if (b_checkHardAlarm == TRUE) + { + AfxMessageBox(_T("湲곗� 珥덇낵�맂 Offset 媛믪씠 議댁옱 �빀�땲�떎."), MB_OK | MB_ICONINFORMATION); + } //UpdateData(FALSE); //Invalidate(TRUE); } @@ -869,12 +910,17 @@ pDlgOffsetTool->InitProcess(); pDlgOffsetTool->EnableBT(); } - else + else if(pDlgOffsetTool->nThreadType == 1) { pDlgOffsetTool->DissableBT(); pDlgOffsetTool->SaveConfigFile(); pDlgOffsetTool->EnableBT(); - + } + else + { + pDlgOffsetTool->DissableBT(); + pDlgOffsetTool->OffsetLoad(); + pDlgOffsetTool->EnableBT(); } return 0; } @@ -914,6 +960,10 @@ macroFile.GetItem(_T("CAMERA_COUNT"),m_nCameraCount , 0); macroFile.GetItem(_T("SCAN_COUNT"), m_nScanCount, 0); macroFile.GetItem(_T("XPOS_COUNT"), m_XposCount, 0); + /*< LYW 20211111 - #3766 ADD Start >*/ + macroFile.GetItem(_T("WARN_STANDARD"), m_dWarnStandard, 0); + macroFile.GetItem(_T("HARD_STANDARD"), m_dHardStandard, 0); + /*< LYW 20211111 - #3766 ADD End >*/ CString strItem = _T(""); double dXoffset=0; double dYoffset=0; @@ -992,6 +1042,14 @@ strItem.Format(_T("XPOS_COUNT")); macroFile.SetItem(strItem, m_XposCount); + /*< LYW 20211111 - #3766 ADD Start >*/ + strItem.Format(_T("WARN_STANDARD")); + macroFile.SetItem(strItem, m_dWarnStandard); + + strItem.Format(_T("HARD_STANDARD")); + macroFile.SetItem(strItem, m_dHardStandard); + /*< LYW 20211111 - #3766 ADD End >*/ + CString strData; double dData= 0; @@ -1033,6 +1091,22 @@ bReturn = macroFile.Write(strFilePath); + + // #3563 LYW_ CF AOI Review Offset �뙆�씪誘명꽣 ���옣�떆 �셿猷� �뙘�뾽 異붽� ADD START + CString strMessage; + strMessage.Format(_T("Save Offset Success!!")); + + if (IDOK == AfxMessageBox(strMessage, MB_OK | MB_ICONINFORMATION)) + { + g_pLog->DisplayMessage(_T("Save Offset Success!!")); + } + // #3563 LYW_ CF AOI Review Offset �뙆�씪誘명꽣 ���옣�떆 �셿猷� �뙘�뾽 異붽� ADD END + /*< LYW 20211111 - #3766 ADD Start >*/ + UpdateGridcontrol(); + UpdateData(TRUE); + Invalidate(FALSE); + /*< LYW 20211111 - #3766 ADD End >*/ + return bReturn; } @@ -1055,6 +1129,14 @@ LRESULT DlgReviewOffSetTool::OnUserFunc(WPARAM wParam, LPARAM lParam) { + int nmsg = (int)wParam; + if (nmsg == 0) + { + nThreadType = 2; + m_ctrlProcessBar.SetPos(0); + m_pThread = AfxBeginThread(ThradProcess, this); + return 0; + } UpdateData(FALSE); Invalidate(TRUE); return 0; @@ -1087,3 +1169,49 @@ } + +/*< LYW 20211025 - #3684 ADD Start >*/ +void DlgReviewOffSetTool::OnBnClickedOffsetLoad() +{ + // TODO: �뿬湲곗뿉 而⑦듃濡� �븣由� 泥섎━湲� 肄붾뱶瑜� 異붽��빀�땲�떎. + nThreadType = 2; + m_ctrlProcessBar.SetPos(0); + m_pThread = AfxBeginThread(ThradProcess, this); +} +void DlgReviewOffSetTool::OffsetLoad() +{ + ReadConfigFile(); + UpdateGridcontrol(); + UpdateData(TRUE); + Invalidate(FALSE); +} +/*< LYW 20211025 - #3684 ADD End >*/ + + +BOOL DlgReviewOffSetTool::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) +{ + // TODO: �뿬湲곗뿉 �듅�닔�솕�맂 肄붾뱶瑜� 異붽� 諛�/�삉�뒗 湲곕낯 �겢�옒�뒪瑜� �샇異쒗빀�땲�떎. + if (m_ctrlGridReviewOffSetInfo.GetSafeHwnd() && wParam == (WPARAM)m_ctrlGridReviewOffSetInfo.GetDlgCtrlID()) + { + //*pResult = 1; + GV_DISPINFO *pDispInfo = (GV_DISPINFO*)lParam; + if (NM_DBLCLK == pDispInfo->hdr.code) + { + //int nCol = pDispInfo->item.col; + if (pDispInfo->item.row) + { + int nRow = (pDispInfo->item.row) - 1; + int CamIdx = nRow / m_nScanCount; + int scanIdx = nRow % m_nScanCount; + + if (m_pDDL2P) + { + m_pDDL2P->IDRO2P_SetOffsetPram(CamIdx, scanIdx, TRUE); + } + + } + } + } + + return CDialogEx::OnNotify(wParam, lParam, pResult); +} -- Gitblit v1.9.3