SDC C-Project CF Review 프로그램
LYW
2021-11-12 039bde2990b5b015232b5da9ff4df0cf1d88ddac
Ongoing60 #3708 CF AOI Review 전설비 AFM 세팅 모드 기능 추가

1. HWSetting Mode Dlg 추가
2. H/W 버튼 클릭시 Dlg 생성
3. AFM, ReviewCam, AlignCam 별로 DisConnect, Connect 버튼 클릭시 해당 기능 작동
2개 파일 추가됨
13개 파일 변경됨
431 ■■■■■ 파일 변경됨
ReviewSystem/ReviewSystem/DlgHardwareSettingMode.cpp 177 ●●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/DlgHardwareSettingMode.h 65 ●●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/DlgLogo.cpp 9 ●●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/DlgLogo.h 4 ●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/ObserverInterface.cpp 7 ●●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/ObserverInterface.h 3 ●●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/ReviewInterface.cpp 54 ●●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/ReviewInterface.h 23 ●●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/ReviewSystem.rc 44 ●●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/ReviewSystem.vcxproj 2 ●●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/ReviewSystem.vcxproj.filters 6 ●●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/ReviewSystemView.cpp 11 ●●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/ReviewSystemView.h 8 ●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/resource.h 17 ●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/stdafx.h 1 ●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/DlgHardwareSettingMode.cpp
»õ ÆÄÀÏ
@@ -0,0 +1,177 @@
// DlgHardwareSettingMode.cpp: êµ¬í˜„ íŒŒì¼
//
#include "stdafx.h"
#include "ReviewSystem.h"
#include "DlgHardwareSettingMode.h"
#include "afxdialogex.h"
// DlgHardwareSettingMode ëŒ€í™” ìƒìž
IMPLEMENT_DYNAMIC(DlgHardwareSettingMode, CDialogEx)
DlgHardwareSettingMode::DlgHardwareSettingMode(CWnd* pParent /*=nullptr*/)
    : CDialogEx(IDD_DLG_HARDWARE_SETTING_MODE, pParent)
{
}
DlgHardwareSettingMode::~DlgHardwareSettingMode()
{
}
void DlgHardwareSettingMode::DoDataExchange(CDataExchange* pDX)
{
    CDialogEx::DoDataExchange(pDX);
    DDX_Control(pDX, IDC_BUTTON_REVIEW_CAM_CONNECT, m_ctrlReviewCamConnect);
    DDX_Control(pDX, IDC_BUTTON_REVIEW_CAM_DISCONNECT, m_ctrlReviewCamDisConnect);
    DDX_Control(pDX, IDC_BUTTON_ALIGN_CAM_CONNECT, m_ctrlAlignCamConnect);
    DDX_Control(pDX, IDC_BUTTON_ALIGN_CAM_DISCONNECT, m_ctrlAlignCamDisConnect);
    DDX_Control(pDX, IDC_BUTTON_AFM_CONNECT, m_ctrlAFMConnect);
    DDX_Control(pDX, IDC_BUTTON_AFM_DISCONNECT, m_ctrlAFMDisConnect);
}
BEGIN_MESSAGE_MAP(DlgHardwareSettingMode, CDialogEx)
    ON_WM_CTLCOLOR()
    ON_BN_CLICKED(IDC_BUTTON_REVIEW_CAM_CONNECT, &DlgHardwareSettingMode::OnBnClickedButtonReviewCamConnect)
    ON_BN_CLICKED(IDC_BUTTON_REVIEW_CAM_DISCONNECT, &DlgHardwareSettingMode::OnBnClickedButtonReviewCamDisconnect)
    ON_BN_CLICKED(IDC_BUTTON_ALIGN_CAM_CONNECT, &DlgHardwareSettingMode::OnBnClickedButtonAlignCamConnect)
    ON_BN_CLICKED(IDC_BUTTON_ALIGN_CAM_DISCONNECT, &DlgHardwareSettingMode::OnBnClickedButtonAlignCamDisconnect)
    ON_BN_CLICKED(IDC_BUTTON_AFM_CONNECT, &DlgHardwareSettingMode::OnBnClickedButtonAfmConnect)
    ON_BN_CLICKED(IDC_BUTTON_AFM_DISCONNECT, &DlgHardwareSettingMode::OnBnClickedButtonAfmDisconnect)
END_MESSAGE_MAP()
// DlgHardwareSettingMode ë©”시지 ì²˜ë¦¬ê¸°
HBRUSH DlgHardwareSettingMode::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
    HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
    // TODO:  ì—¬ê¸°ì„œ DC의 íŠ¹ì„±ì„ ë³€ê²½í•©ë‹ˆë‹¤.
    pDC->SetBkColor(RGB(25, 25, 25));
    // TODO:  ê¸°ë³¸ê°’이 ì ë‹¹í•˜ì§€ ì•Šìœ¼ë©´ ë‹¤ë¥¸ ë¸ŒëŸ¬ì‹œë¥¼ ë°˜í™˜í•©ë‹ˆë‹¤.
    return hbr;
}
BOOL DlgHardwareSettingMode::OnInitDialog()
{
    CDialogEx::OnInitDialog();
    SetBackgroundColor(RGB(255, 255, 210));
    // TODO:  ì—¬ê¸°ì— ì¶”ê°€ ì´ˆê¸°í™” ìž‘업을 ì¶”가합니다.
    CString strFont = _T("MS Sans Serif");
    m_ctrlReviewCamConnect.SetFontStatic(strFont, 9, RGB(240, 240, 240), FS_CENTER | FS_BOLD);
    m_ctrlReviewCamConnect.SetBackground(RGB(10, 10, 10));
    m_ctrlReviewCamConnect.SetWindowText(_T("CONNECT"));
    m_ctrlReviewCamDisConnect.SetFontStatic(strFont, 9, RGB(240, 240, 240), FS_CENTER | FS_BOLD);
    m_ctrlReviewCamDisConnect.SetBackground(RGB(10, 10, 10));
    m_ctrlReviewCamDisConnect.SetWindowText(_T("DISCONNECT"));
    m_ctrlAlignCamConnect.SetFontStatic(strFont, 9, RGB(240, 240, 240), FS_CENTER | FS_BOLD);
    m_ctrlAlignCamConnect.SetBackground(RGB(10, 10, 10));
    m_ctrlAlignCamConnect.SetWindowText(_T("CONNECT"));
    m_ctrlAlignCamDisConnect.SetFontStatic(strFont, 9, RGB(240, 240, 240), FS_CENTER | FS_BOLD);
    m_ctrlAlignCamDisConnect.SetBackground(RGB(10, 10, 10));
    m_ctrlAlignCamDisConnect.SetWindowText(_T("DISCONNECT"));
    m_ctrlAFMConnect.SetFontStatic(strFont, 9, RGB(240, 240, 240), FS_CENTER | FS_BOLD);
    m_ctrlAFMConnect.SetBackground(RGB(10, 10, 10));
    m_ctrlAFMConnect.SetWindowText(_T("CONNECT"));
    m_ctrlAFMDisConnect.SetFontStatic(strFont, 9, RGB(240, 240, 240), FS_CENTER | FS_BOLD);
    m_ctrlAFMDisConnect.SetBackground(RGB(10, 10, 10));
    m_ctrlAFMDisConnect.SetWindowText(_T("DISCONNECT"));
    return TRUE;  // return TRUE unless you set the focus to a control
                  // ì˜ˆì™¸: OCX ì†ì„± íŽ˜ì´ì§€ëŠ” FALSE를 ë°˜í™˜í•´ì•¼ í•©ë‹ˆë‹¤.
}
void DlgHardwareSettingMode::OnBnClickedButtonReviewCamConnect()
{
    // TODO: ì—¬ê¸°ì— ì»¨íŠ¸ë¡¤ ì•Œë¦¼ ì²˜ë¦¬ê¸° ì½”드를 ì¶”가합니다.
    if (m_pDHM2P->IDHM2P_InitReviewCamera())
    {
        m_pDHM2P->IDHM2P_ConnectReviewCamera();
        m_ctrlReviewCamDisConnect.SetBackground(RGB(10, 10, 10));
        m_ctrlReviewCamConnect.SetBackground(RGB(10, 255, 10));
        g_pLog->DisplayMessage(_T("[HWSettingMode] ReviewCam Connect Success"));
    }
    else
    {
        g_pLog->DisplayMessage(_T("[HWSettingMode] ReviewCam Connect Fail!"));
    }
}
void DlgHardwareSettingMode::OnBnClickedButtonReviewCamDisconnect()
{
    // TODO: ì—¬ê¸°ì— ì»¨íŠ¸ë¡¤ ì•Œë¦¼ ì²˜ë¦¬ê¸° ì½”드를 ì¶”가합니다.
    m_pDHM2P->IDHM2P_DisconnectReviewCamera();
    m_pDHM2P->IDHM2P_DeinitReviewCamera();
    m_pDHM2P->IDHM2P_ClearCameraControlObserverVector();
    m_ctrlReviewCamConnect.SetBackground(RGB(10, 10, 10));
    m_ctrlReviewCamDisConnect.SetBackground(RGB(200, 0, 0));
    g_pLog->DisplayMessage(_T("[HWSettingMode] ReviewCam DisConnect Success"));
}
void DlgHardwareSettingMode::OnBnClickedButtonAlignCamConnect()
{
    // TODO: ì—¬ê¸°ì— ì»¨íŠ¸ë¡¤ ì•Œë¦¼ ì²˜ë¦¬ê¸° ì½”드를 ì¶”가합니다.
    if (m_pDHM2P->IDHM2P_InitAlignCamera())
    {
        m_ctrlAlignCamDisConnect.SetBackground(RGB(10, 10, 10));
        m_ctrlAlignCamConnect.SetBackground(RGB(10, 255, 10));
        g_pLog->DisplayMessage(_T("[HWSettingMode] AlignCamera Connect Success"));
    }
    else
    {
        g_pLog->DisplayMessage(_T("[HWSettingMode] AlignCamera Connect Fail!"));
    }
}
void DlgHardwareSettingMode::OnBnClickedButtonAlignCamDisconnect()
{
    // TODO: ì—¬ê¸°ì— ì»¨íŠ¸ë¡¤ ì•Œë¦¼ ì²˜ë¦¬ê¸° ì½”드를 ì¶”가합니다.
    m_pDHM2P->IDHM2P_DeinitAlignCamera();
    m_ctrlAlignCamConnect.SetBackground(RGB(10, 10, 10));
    m_ctrlAlignCamDisConnect.SetBackground(RGB(200, 0, 0));
    g_pLog->DisplayMessage(_T("[HWSettingMode] AlignCamera DisConnect Success"));
}
void DlgHardwareSettingMode::OnBnClickedButtonAfmConnect()
{
    // TODO: ì—¬ê¸°ì— ì»¨íŠ¸ë¡¤ ì•Œë¦¼ ì²˜ë¦¬ê¸° ì½”드를 ì¶”가합니다.
    if (m_pDHM2P->IDHM2P_InitAFMControl())
    {
        m_ctrlAFMDisConnect.SetBackground(RGB(10, 10, 10));
        m_ctrlAFMConnect.SetBackground(RGB(10, 255, 10));
        g_pLog->DisplayMessage(_T("[HWSettingMode] Afm Connect Success"));
    }
    else
    {
        g_pLog->DisplayMessage(_T("[HWSettingMode] Afm Connect Fail!"));
    }
}
void DlgHardwareSettingMode::OnBnClickedButtonAfmDisconnect()
{
    // TODO: ì—¬ê¸°ì— ì»¨íŠ¸ë¡¤ ì•Œë¦¼ ì²˜ë¦¬ê¸° ì½”드를 ì¶”가합니다.
    m_pDHM2P->IDHM2P_DeinitAFMControl();
    m_ctrlAFMConnect.SetBackground(RGB(10, 10, 10));
    m_ctrlAFMDisConnect.SetBackground(RGB(200, 0, 0));
    g_pLog->DisplayMessage(_T("[HWSettingMode] Afm DisConnect Success"));
}
ReviewSystem/ReviewSystem/DlgHardwareSettingMode.h
»õ ÆÄÀÏ
@@ -0,0 +1,65 @@
#include "CHCommonControls/FontStatic.h"
#pragma once
interface IDialogHardwareSettingMode2Parent
{
    //virtual BOOL DAC2P_GetAlignImage(int nType, int nIndex, CCHImageData* pImageData) = 0;
    // review camera
    virtual int        IDHM2P_InitReviewCamera() = 0;
    virtual void    IDHM2P_DeinitReviewCamera() = 0;
    virtual int        IDHM2P_ConnectReviewCamera() = 0;
    virtual void    IDHM2P_DisconnectReviewCamera() = 0;
    virtual void    IDHM2P_ClearCameraControlObserverVector() = 0;
    // AFM Control
    virtual int        IDHM2P_InitAFMControl() = 0;
    virtual void    IDHM2P_DeinitAFMControl() = 0;
    // align camera
    virtual int        IDHM2P_InitAlignCamera() = 0;
    virtual void    IDHM2P_DeinitAlignCamera() = 0;
};
// DlgHardwareSettingMode ëŒ€í™” ìƒìž
class DlgHardwareSettingMode : public CDialogEx
{
    DECLARE_DYNAMIC(DlgHardwareSettingMode)
public:
    DlgHardwareSettingMode(CWnd* pParent = nullptr);   // í‘œì¤€ ìƒì„±ìžìž…니다.
    virtual ~DlgHardwareSettingMode();
// ëŒ€í™” ìƒìž ë°ì´í„°ìž…니다.
#ifdef AFX_DESIGN_TIME
    enum { IDD = IDD_DLG_HARDWARE_SETTING_MODE };
#endif
protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV ì§€ì›ìž…니다.
public:
    void SetDHM2P(IDialogHardwareSettingMode2Parent* pDHM2P) { m_pDHM2P = pDHM2P; }
protected:
    IDialogHardwareSettingMode2Parent* m_pDHM2P;
    DECLARE_MESSAGE_MAP()
public:
    afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
    virtual BOOL OnInitDialog();
    afx_msg void OnBnClickedButtonReviewCamConnect();
    afx_msg void OnBnClickedButtonReviewCamDisconnect();
    afx_msg void OnBnClickedButtonAlignCamConnect();
    afx_msg void OnBnClickedButtonAlignCamDisconnect();
    afx_msg void OnBnClickedButtonAfmConnect();
    afx_msg void OnBnClickedButtonAfmDisconnect();
    CFontStatic m_ctrlReviewCamConnect;
    CFontStatic m_ctrlReviewCamDisConnect;
    CFontStatic m_ctrlAlignCamConnect;
    CFontStatic m_ctrlAlignCamDisConnect;
    CFontStatic m_ctrlAFMConnect;
    CFontStatic m_ctrlAFMDisConnect;
};
ReviewSystem/ReviewSystem/DlgLogo.cpp
@@ -49,6 +49,7 @@
ON_STN_CLICKED(IDC_STATIC_LOGO, &CDlgLogo::OnStnClickedStaticLogo)
ON_BN_CLICKED(IDC_BUTTON5, &CDlgLogo::OnBnClickedButton5)
ON_BN_CLICKED(IDC_BUTTON6, &CDlgLogo::OnClickedButton6)
ON_BN_CLICKED(IDC_BUTTON_HW_SETTING_MODE, &CDlgLogo::OnBnClickedButtonHwSettingMode)
END_MESSAGE_MAP()
@@ -298,3 +299,11 @@
    //     g_pLog->DisplayMessage(_T("[ReviewProcessor] History Open"));
    /*< LYW 20211109 - #3662 Delete End >*/
}
void CDlgLogo::OnBnClickedButtonHwSettingMode()
{
    m_pDL2P->IDL2P_OpenHWSettingTool();
    g_pLog->DisplayMessage(_T("[ReviewProcessor] HW SettingMode Start"));
    // TODO: ì—¬ê¸°ì— ì»¨íŠ¸ë¡¤ ì•Œë¦¼ ì²˜ë¦¬ê¸° ì½”드를 ì¶”가합니다.
}
ReviewSystem/ReviewSystem/DlgLogo.h
@@ -9,6 +9,9 @@
    virtual void    IDL2P_DisplayMessage(const TCHAR* lpstrFormat, ...) = 0;
    virtual void   IDL2P_OpenOffSetTool() = 0;
    virtual void   IDL2P_OpenHistoryTool() = 0;
    /*< LYW 20211112 - #3708 ADD Start >*/
    virtual void   IDL2P_OpenHWSettingTool() = 0;
    /*< LYW 20211112 - #3708 ADD End >*/
};
interface
@@ -68,4 +71,5 @@
    afx_msg void OnBnClickedButton5();
    afx_msg void OnClickedButton6();
    CButton m_ctrlHistory;
    afx_msg void OnBnClickedButtonHwSettingMode();
};
ReviewSystem/ReviewSystem/ObserverInterface.cpp
@@ -25,6 +25,13 @@
    m_obsUpdateReviewProcessStatus.clear();
}
void CObserverInterface::ClearCameraControlObserverVector()
{
    m_obsUpdateCameraControl.clear();
}
// Map Option
void CObserverInterface::UpdateDefectFilter(const SDefectFilter* pDefectFilter)
{
ReviewSystem/ReviewSystem/ObserverInterface.h
@@ -10,6 +10,9 @@
    CObserverInterface(void);
    virtual ~CObserverInterface(void);
    void    ClearAllObserverVector();
    /*< LYW 20211112 - #3708 ADD Start >*/
    void    ClearCameraControlObserverVector();
    /*< LYW 20211112 - #3708 ADD End >*/
    // Map Option
    void    UpdateDefectFilter(const SDefectFilter* pDefectFilter);
ReviewSystem/ReviewSystem/ReviewInterface.cpp
@@ -1183,6 +1183,10 @@
            BOOL bConnection = pCameraControlReview->GetConnected();
            pConnectionStatus->m_vecReviewCameraStatus.push_back(bConnection);
            /*< LYW 20211112 - #3708 ADD Start >*/
            g_pLog->DisplayMessage(_T("[ReviewCamera] %d is connected"), nModuleIndex);
            /*< LYW 20211112 - #3708 ADD End >*/
            nModuleIndex++; // module status++
        } // for HeaderIdx
    } // for nGantryIdx
@@ -8615,6 +8619,56 @@
    m_pView->ShowHistoryTool();
}
void CReviewInterface::IDL2P_OpenHWSettingTool()
{
    m_pView->ShowHWSettingMode();
}
int CReviewInterface::IDHM2P_InitReviewCamera()
{
    return InitReviewCamera();
}
void CReviewInterface::IDHM2P_DeinitReviewCamera()
{
    DeinitReviewCamera();
}
int CReviewInterface::IDHM2P_ConnectReviewCamera()
{
    return ConnectReviewCamera();
}
void CReviewInterface::IDHM2P_DisconnectReviewCamera()
{
    DisconnectReviewCamera();
}
void CReviewInterface::IDHM2P_ClearCameraControlObserverVector()
{
    ClearCameraControlObserverVector();
}
int CReviewInterface::IDHM2P_InitAFMControl()
{
    return InitAFMControl();
}
void CReviewInterface::IDHM2P_DeinitAFMControl()
{
    DeinitAFMControl();
}
int CReviewInterface::IDHM2P_InitAlignCamera()
{
    return InitAlignCamera();
}
void CReviewInterface::IDHM2P_DeinitAlignCamera()
{
    DeinitAlignCamera();
}
//181203
BOOL CReviewInterface::IRP2P_SaveDefectMap(const CString& strPath)
{
ReviewSystem/ReviewSystem/ReviewInterface.h
@@ -46,6 +46,7 @@
#include "DlgCommand.h"
#include "DlgReviewPopUp.h"
#include "DlgReviewHistoryTool.h"
#include "DlgHardwareSettingMode.h"
#include "CHTotalPitchMeasure/TotalPitchMeasure.h"
#include "CHResultFileManager/StringRaw.h"
@@ -107,7 +108,8 @@
                            public IDialogReviewPopUP2Parent,
                            public IDiagnosisProcessor2Parent,
                            public IDialogReviewOffSet2Parent,
                            public IDialogReviewHistory2Parent
                            public IDialogReviewHistory2Parent,
                            public IDialogHardwareSettingMode2Parent
{
public:
    CReviewInterface(void);
@@ -516,6 +518,25 @@
    virtual void    IDL2P_DisplayMessage(const TCHAR* lpstrFormat, ...);
    virtual void   IDL2P_OpenOffSetTool();
    virtual void   IDL2P_OpenHistoryTool();
    /*< LYW 20211112 - #3708 ADD Start >*/
    virtual void IDL2P_OpenHWSettingTool();
    /*< LYW 20211112 - #3708 ADD End >*/
    // dialog HardwareSettingMode 2 Parent
    // review camera
    virtual int        IDHM2P_InitReviewCamera();
    virtual void    IDHM2P_DeinitReviewCamera();
    virtual int        IDHM2P_ConnectReviewCamera();
    virtual void    IDHM2P_DisconnectReviewCamera();
    virtual void    IDHM2P_ClearCameraControlObserverVector();
    // AFM Control
    virtual int        IDHM2P_InitAFMControl();
    virtual void    IDHM2P_DeinitAFMControl();
    // align camera
    virtual int        IDHM2P_InitAlignCamera();
    virtual void    IDHM2P_DeinitAlignCamera();
protected:
    // Motor Control command
ReviewSystem/ReviewSystem/ReviewSystem.rc
@@ -509,13 +509,14 @@
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
    CONTROL         IDD_DLG_TAB_LOG,IDC_STATIC_LOGO,"Static",SS_BITMAP | NOT WS_VISIBLE,3,4,97,90
    CONTROL         IDD_DLG_TAB_LOG,IDC_STATIC_LOGO,"Static",SS_BITMAP | NOT WS_VISIBLE,3,5,97,90
    PUSHBUTTON      "Left",IDC_BUTTON_LEFT,5,68,28,14
    PUSHBUTTON      "Center",IDC_BUTTON_CENTER,39,68,27,14
    PUSHBUTTON      "Right",IDC_BUTTON_RIGHT,71,68,25,14
    CONTROL         "Reduce",IDC_CHECK_REDUCE,"Button",BS_AUTOCHECKBOX | BS_PUSHLIKE | WS_TABSTOP,28,49,49,16
    PUSHBUTTON      "OFFSET",IDC_BUTTON5,65,11,33,14
    PUSHBUTTON      "History",IDC_BUTTON6,6,11,33,14
    PUSHBUTTON      "OFFSET",IDC_BUTTON5,68,7,30,14
    PUSHBUTTON      "History",IDC_BUTTON6,6,7,29,14
    PUSHBUTTON      "H / W",IDC_BUTTON_HW_SETTING_MODE,35,7,33,14
END
IDD_DLG_RESULT_GRAPH DIALOGEX 0, 0, 409, 264
@@ -956,6 +957,30 @@
    CONTROL         "Custom1",IDC_ALIGN_GRID_ORIGIN_INFO,"MFCGridCtrl",WS_TABSTOP,7,4,233,30
END
IDD_DLG_HARDWARE_SETTING_MODE DIALOGEX 0, 0, 309, 176
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "HardWare Setting Mode"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
    DEFPUSHBUTTON   "확인",IDOK,198,155,50,14
    PUSHBUTTON      "취소",IDCANCEL,252,155,50,14
    GROUPBOX        "ReviewCamera",IDC_STATIC_REVIEW_CAMERA,14,14,86,103
    GROUPBOX        "Connect",IDC_STATIC,19,25,76,39
    GROUPBOX        "DisConnect",IDC_STATIC,19,69,76,39
    GROUPBOX        "Align Camera",IDC_STATIC,111,14,86,103
    GROUPBOX        "Connect",IDC_STATIC,117,25,76,39
    GROUPBOX        "DisConnect",IDC_STATIC,117,69,76,39
    GROUPBOX        "AFM",IDC_STATIC,207,14,86,103
    GROUPBOX        "Connect",IDC_STATIC,213,25,76,39
    GROUPBOX        "DisConnect",IDC_STATIC,213,69,76,39
    PUSHBUTTON      "Connect",IDC_BUTTON_AFM_CONNECT,220,38,63,18
    PUSHBUTTON      "DisConnect",IDC_BUTTON_AFM_DISCONNECT,220,85,63,17
    PUSHBUTTON      "Connect",IDC_BUTTON_ALIGN_CAM_CONNECT,124,38,63,18
    PUSHBUTTON      "DisConnect",IDC_BUTTON_ALIGN_CAM_DISCONNECT,124,84,63,18
    PUSHBUTTON      "Connect",IDC_BUTTON_REVIEW_CAM_CONNECT,26,39,63,19
    PUSHBUTTON      "DisConnect",IDC_BUTTON_REVIEW_CAM_DISCONNECT,26,84,63,19
END
/////////////////////////////////////////////////////////////////////////////
//
@@ -1339,6 +1364,14 @@
        TOPMARGIN, 4
        BOTTOMMARGIN, 82
    END
    IDD_DLG_HARDWARE_SETTING_MODE, DIALOG
    BEGIN
        LEFTMARGIN, 7
        RIGHTMARGIN, 302
        TOPMARGIN, 7
        BOTTOMMARGIN, 169
    END
END
#endif    // APSTUDIO_INVOKED
@@ -1448,6 +1481,11 @@
    0
END
IDD_DLG_HARDWARE_SETTING_MODE AFX_DIALOG_LAYOUT
BEGIN
    0
END
/////////////////////////////////////////////////////////////////////////////
//
ReviewSystem/ReviewSystem/ReviewSystem.vcxproj
@@ -238,6 +238,7 @@
    <ClCompile Include="DlgGlassAndConnectionInfo.cpp" />
    <ClCompile Include="DlgGlassInfo.cpp" />
    <ClCompile Include="DlgGraph.cpp" />
    <ClCompile Include="DlgHardwareSettingMode.cpp" />
    <ClCompile Include="DlgLog.cpp" />
    <ClCompile Include="DlgLogMessage.cpp" />
    <ClCompile Include="DlgLogo.cpp" />
@@ -332,6 +333,7 @@
    <ClInclude Include="DlgGlassAndConnectionInfo.h" />
    <ClInclude Include="DlgGlassInfo.h" />
    <ClInclude Include="DlgGraph.h" />
    <ClInclude Include="DlgHardwareSettingMode.h" />
    <ClInclude Include="DlgLog.h" />
    <ClInclude Include="DlgLogMessage.h" />
    <ClInclude Include="DlgLogo.h" />
ReviewSystem/ReviewSystem/ReviewSystem.vcxproj.filters
@@ -276,6 +276,9 @@
    <ClCompile Include="DlgAlignHistory.cpp">
      <Filter>소스 íŒŒì¼</Filter>
    </ClCompile>
    <ClCompile Include="DlgHardwareSettingMode.cpp">
      <Filter>소스 íŒŒì¼</Filter>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="CameraControlAlign.h">
@@ -551,6 +554,9 @@
    <ClInclude Include="DlgAlignHistory.h">
      <Filter>헤더 íŒŒì¼</Filter>
    </ClInclude>
    <ClInclude Include="DlgHardwareSettingMode.h">
      <Filter>헤더 íŒŒì¼</Filter>
    </ClInclude>
  </ItemGroup>
  <ItemGroup>
    <None Include="res\ReviewSystem.ico">
ReviewSystem/ReviewSystem/ReviewSystemView.cpp
@@ -479,6 +479,12 @@
        m_DlgOffSetTool->Create(IDD_DLG_REVIEW_OFFSET_TOOL, this);
        m_DlgOffSetTool->SetDDL2P(static_cast<IDialogReviewOffSet2Parent*>(pMainFrame));
        /*< LYW 20211112 - #3708 ADD Start >*/
        m_DlgHardWareSettingMode = new DlgHardwareSettingMode(this);
        m_DlgHardWareSettingMode->Create(IDD_DLG_HARDWARE_SETTING_MODE, this);
        m_DlgHardWareSettingMode->SetDHM2P(static_cast<IDialogHardwareSettingMode2Parent*>(pMainFrame));
        /*< LYW 20211112 - #3708 ADD End >*/
        /*< LYW 20211109 - #3662 Delete Start >*/
        ////Review HistoryTool ìƒì„±
        //m_DlgHistoryTool = new CDlgReviewHistoryTool(this);
@@ -919,6 +925,11 @@
    m_DlgHistoryTool->GetHistoryList();
}
void CReviewSystemView::ShowHWSettingMode()
{
    m_DlgHardWareSettingMode->ShowWindow(SW_SHOW);
}
//181203
BOOL CReviewSystemView::SaveDefectMap( const CString& strPath )
{
ReviewSystem/ReviewSystem/ReviewSystemView.h
@@ -32,6 +32,7 @@
#include "DlgReviewPopUp.h"
#include "DlgReviewOffSetTool.h"
#include "DlgReviewHistoryTool.h"
#include "DlgHardwareSettingMode.h"
class CSys_SystemManager;
class CSys_GlassTypeManager;
@@ -100,6 +101,9 @@
    
    void ShowOffSetTool();
    void ShowHistoryTool();
    /*< LYW 20211112 - #3708 ADD Start >*/
    void ShowHWSettingMode();
    /*< LYW 20211112 - #3708 ADD End >*/
    DlgReviewOffSetTool* GetReviewOffSetToolHandle() { return m_DlgOffSetTool; }
    CDlgReviewHistoryTool* GetReviewHistoryToolHandle() { return m_DlgHistoryTool; }
@@ -161,7 +165,9 @@
    BOOL                    isReviewPopUp;
    DlgReviewOffSetTool*    m_DlgOffSetTool;
    CDlgReviewHistoryTool*    m_DlgHistoryTool;    
    /*< LYW 20211112 - #3708 ADD Start >*/
    DlgHardwareSettingMode* m_DlgHardWareSettingMode;
    /*< LYW 20211112 - #3708 ADD End >*/
// ìƒì„±ëœ ë©”시지 ë§µ í•¨ìˆ˜
protected:
ReviewSystem/ReviewSystem/resource.h
@@ -1,6 +1,6 @@
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++에서 ìƒì„±í•œ í¬í•¨ íŒŒì¼ìž…니다.
// ReviewSystem.rc에서 ì‚¬ìš©ë˜ê³  ìžˆìŠµë‹ˆë‹¤.
// Microsoft Visual C++에서 ìƒì„±í•œ í¬í•¨ íŒŒì¼ìž…니다.
// ReviewSystem.rc에서 ì‚¬ìš©ë˜ê³  ìžˆìŠµë‹ˆë‹¤.
//
#define IDCANCEL                        2
#define IDD_ABOUTBOX                    100
@@ -68,6 +68,7 @@
#define IDD_DLG_DEFECT_MAP_TAB          374
#define IDD_DLG_ALIGN_TAB               376
#define IDB_BITMAP2                     379
#define IDD_DLG_HARDWARE_SETTING_MODE   381
#define IDC_RADIO1                      1001
#define IDC_RADIO_ZOOM_LEVEL_0          1001
#define IDC_RADIO_IMAGE_MODE_0          1001
@@ -315,6 +316,8 @@
#define IDC_EDIT_REVIEW_PANEL_POS_Y4    1109
#define IDC_BT_CAMERA_GRAB              1109
#define IDC_BUTTION_TARGET_POS          1109
#define IDC_BUTTON_HW_SETTING_MODE      1109
#define IDC_BUTTON_AFM_CONNECT          1109
#define IDC_GRID_ALIGN_INFO             1110
#define IDC_EDIT_UPDATE_NOTE            1110
#define IDC_BUTTON4                     1110
@@ -330,17 +333,22 @@
#define IDC_EDIT_REVIEW_PANEL_POS_Y5    1111
#define IDC_LOGIN_STATUS                1112
#define IDC_EDIT_REVIEW_PANEL_POS_X6    1112
#define IDC_BUTTON_AFM_DISCONNECT       1112
#define IDC_EDIT_REVIEW_PANEL_POS_Y6    1113
#define IDC_BUTTON_ALIGN_CAM_CONNECT    1113
#define IDC_TAB1                        1115
#define IDC_TAB_CTRL                    1115
#define IDC_SELF_DIAGNOSIS_TAB_MAIN     1115
#define IDC_GO_WSI                      1116
#define IDC_CHECK_USE_WSI_CONTROL       1116
#define IDC_BUTTON_ALIGN_CAM_DISCONNECT 1116
#define IDC_CHECK4                      1117
#define IDC_SELECT_OFFSET_ON            1117
#define IDC_BUTTON_REVIEW_CAM_CONNECT   1117
#define IDC_CHECK5                      1118
#define IDC_NOT_USE_CENTER_POS          1118
#define IDC_CHECK_USE_SIMULATION        1118
#define IDC_BUTTON_REVIEW_CAM_DISCONNECT 1120
#define IDC_LIST1                       1121
#define IDC_LIST_CONTROL_DEFOCUS_LIST   1121
#define IDC_LIST                        1121
@@ -436,6 +444,7 @@
#define IDC_EDIT_WARN_STANDARD          1186
#define IDC_EDIT_HARD_STANDARD          1187
#define IDC_BUTTON_STANDARD_SAVE        1188
#define IDC_STATIC_REVIEW_CAMERA        1189
#define ID_INS_HOOK                     32772
#define ID_UNINS_HOOK                   32773
@@ -443,9 +452,9 @@
// 
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE        381
#define _APS_NEXT_RESOURCE_VALUE        383
#define _APS_NEXT_COMMAND_VALUE         32775
#define _APS_NEXT_CONTROL_VALUE         1189
#define _APS_NEXT_CONTROL_VALUE         1190
#define _APS_NEXT_SYMED_VALUE           346
#endif
#endif
ReviewSystem/ReviewSystem/stdafx.h
@@ -215,6 +215,7 @@
#include <afxcontrolbars.h>
#include <afxcontrolbars.h>
#include <afxcontrolbars.h>
#include <afxcontrolbars.h>
enum MsgSystem2Rev
{