SDC C-Project CF Review 프로그램
ReviewHistory/ReveiwHistory/ReveiwHistoryDlg.cpp
@@ -54,6 +54,11 @@
CReveiwHistoryDlg::CReveiwHistoryDlg(CWnd* pParent /*=nullptr*/)
   : CDialogEx(IDD_DLG_REVIEWHISTORY, pParent)
   , m_nFileCount(0)
   , m_nEditCamIdx(0)
   , m_nEditScanIdx(0)
   , m_dEditOffsetX(0)
   , m_dEditOffsetY(0)
   , m_strGantryIdx(_T(""))
{
   m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
@@ -73,6 +78,10 @@
   m_nImageCount = 0;
   m_nCellCount = 0;
   m_bAsending = FALSE;
   /*< LYW 20211018 - #3684 ADD Start >*/
   m_dCurDefectIdx = 0;
   m_dCurDefectID = 0;
   /*< LYW 20211018 - #3684 ADD End >*/
   for (int i = 0; i < 105; i++)
   {
@@ -97,6 +106,11 @@
   DDX_Text(pDX, IDC_EDIT_FILE_COUNT, m_nFileCount);
   DDX_Control(pDX, IDC_EDIT_FILE_COUNT, m_ctlFileCount);
   DDX_Control(pDX, IDC_PROGRESS_LOAD, m_ctlProgress);
   DDX_Text(pDX, IDC_EDIT_OFFSET_CAM_IDX, m_nEditCamIdx);
   DDX_Text(pDX, IDC_EDIT_OFFSET_SCAN_IDX, m_nEditScanIdx);
   DDX_Text(pDX, IDC_EDIT_OFFSET_X, m_dEditOffsetX);
   DDX_Text(pDX, IDC_EDIT_OFFSET_Y, m_dEditOffsetY);
   DDX_Text(pDX, IDC_EDIT_DFFSET_GANTRY_IDX, m_strGantryIdx);
}
BEGIN_MESSAGE_MAP(CReveiwHistoryDlg, CDialogEx)
@@ -109,6 +123,7 @@
   ON_BN_CLICKED(IDC_BUTTON_MAPVIEW_FIT, &CReveiwHistoryDlg::OnBnClickedButtonMapviewFit)
   ON_MESSAGE(UM_FORMMAP_DEFECTSELECT, OnMapDefectSelected)
   ON_MESSAGE(UM_FORMMAP_DEFECTMOUSEOVER, OnMapDefectMouseOver)
   ON_MESSAGE(UM_FORMMAP_IMAGEMOUSECLICK, OnImageClick)
   ON_COMMAND(ID_OPTION_PATHSETTING, &CReveiwHistoryDlg::OnOptionPathsetting)
   ON_COMMAND(ID_VIEW_ALLDEFECT, &CReveiwHistoryDlg::OnViewAlldefect)
   ON_COMMAND(ID_VIEW_REVIEWDEFECT, &CReveiwHistoryDlg::OnViewReviewdefect)
@@ -1220,6 +1235,61 @@
   return 0;
}
/*< LYW 20211018 - #3684 ADD Start >*/
LRESULT CReveiwHistoryDlg::OnImageClick(WPARAM wParam, LPARAM lParam)
{
   CPathSettingDlg* lpDlg = CPathSettingDlg::GetMgr();
   if (lpDlg == NULL) return 0;
   _akDefect         *pDefect;
    pDefect = &m_Formation.m_vecDefects[m_dCurDefectIdx];
   if (pDefect == NULL) return 0;
   CPoint Point;
   Point.x = GET_X_LPARAM(lParam);
   Point.y = GET_Y_LPARAM(lParam);
   int dOffsetDrectionX;
   int dOffsetDrectionY;
   if (lpDlg->m_comboDirectionX.GetCurSel() == 1) dOffsetDrectionX = -1;
   else dOffsetDrectionX = 1;
   if (lpDlg->m_comboDirectionY.GetCurSel() == 1) dOffsetDrectionY = -1;
   else dOffsetDrectionY = 1;
   if (pDefect->m_nDefectID == m_dCurDefectID)
   {
      m_nEditCamIdx = pDefect->m_nCameraID;
      m_nEditScanIdx = pDefect->m_nScanIdx;
      if (pDefect->m_nModelIdx == 0)
      {
         m_strGantryIdx = _T("Left");
         m_dEditOffsetX = (double)(dOffsetDrectionX * (Point.x / 5)) / 1000;
         m_dEditOffsetY = (double)-(dOffsetDrectionY * (Point.y / 5)) / 1000;
      }
      else if (pDefect->m_nModelIdx == 1)
      {
         m_strGantryIdx = _T("Right");
         m_dEditOffsetX = (double)-(dOffsetDrectionX * (Point.x / 5)) / 1000;
         m_dEditOffsetY = (double)-(dOffsetDrectionY * (Point.y / 5)) / 1000;
      }
      else AfxMessageBox(_T("겐트리 인덱스가 비정상 입니다."), MB_OK | MB_ICONWARNING);
   }
   else
   {
      if (IDOK == AfxMessageBox(_T("이미지 인덱스가 일치하지 않습니다."), MB_OK | MB_ICONWARNING))
      {
         return 0;
      }
   }
   UpdateData(FALSE);
   return 0;
}
/*< LYW 20211018 - #3684 ADD End >*/
LRESULT CReveiwHistoryDlg::OnMapDefectMouseOver(WPARAM wParam, LPARAM lParam)
{
   int nSelectDefect = static_cast<int>(wParam);
@@ -2022,6 +2092,13 @@
      }
   }
   _akReviewList* pImageInfo = &m_Formation.m_vecImage[nIndex];
   m_dCurDefectID = pImageInfo->m_nDefectID;
    m_dCurDefectIdx = nIndex;
//    _akDefect         *pDefect;
//    pDefect = &m_Formation.m_vecDefects[nIndex];
//    m_dCurDefectCam = pDefect->m_nCameraID;
//    m_dCurDefectModuleIdx = pDefect->m_nModelIdx;
//    m_dCurDefectScan = pDefect->m_nScanIdx;
   //몇 번째 인지 던진다.
   CString wekfjlwe = pImageInfo->m_strReviewImageName;