SDC C-Project CF Review 프로그램
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;
@@ -1043,6 +1101,11 @@
      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;
}
@@ -1066,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;
@@ -1098,3 +1169,20 @@
    
   
}
/*< 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 >*/