SDC C-Project CF Review 프로그램
LYW
2021-07-08 9cbd9e554f9956b3b945b51602f1d4a3fa0353e1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
#pragma once
#include "afxwin.h"
 
#include "CHCommonControls/FontStatic.h"
#include "CHCommonControls/GridCtrl.h"
#include "ModuleStatus.h"
//#include "akIPCNetAOISystem.h"
#include "akAOISharedSystem.h"//191017
 
#include "akControlPack/akGroupCtrl.h"
#include "akControlPack/akButtonColorCtrl.h"
#include "akControlPack/akStaticTextCtrl.h"
#include "akControlPack/akRadio.h"
 
enum DefectFilterType { DefectType_Gray=0, DefectType_Stack, DefectType_Size, DefectType_Judge, DefectType_Process, DefectType_Position, DefectType_Optic, DefectType_Count };
 
//enum DefectFilterType { DefectType_Optic=0, DefectType_Gray, DefectType_Stack, DefectType_Count };
 
interface IDialogDefectFilter2Parent
{
    virtual CString        DDF2P_GetProgramVersion() = 0;
    virtual void        DDF2P_SetDefectFilter(const SDefectFilter *pDefectFilter) = 0;
};
 
// CDlgDefectFilter 대화 상자입니다.
class CDlgDefectFilter :    public CDialog, 
                            public IUpdateDefectFilter,
                            public IUpdateReviewResult
{
    DECLARE_DYNAMIC(CDlgDefectFilter)
 
public:
    CDlgDefectFilter(CWnd* pParent = NULL);   // 표준 생성자입니다.
    virtual ~CDlgDefectFilter();
 
public:
    void SetDDF2P(IDialogDefectFilter2Parent* pDDF2P)            { m_pDDF2P = pDDF2P; }
    IDialogDefectFilter2Parent* GetpDDF2P(){return m_pDDF2P;};
    virtual void UpdateDefectFilter(const SDefectFilter* pDefectFilter);
    virtual void UpdateReviewResult(int nModuleIndex, const CGlassResult* pGlassResult, int nPlanIndex);
 
public:
 
// 대화 상자 데이터입니다.
    enum { IDD = IDD_DLG_DEFECT_FILTER };
 
protected:
     CakGroupCtrl  m_ctrlGroupCtrlObjectShow;
    CakGroupCtrl    m_ctrlGroupCtrlReviewDoDone;
    CakGroupCtrl    m_ctrlGroupCtrlDefectType;
    CakButtonColorCtrl m_ctrlDrawCell;
    CakButtonColorCtrl m_ctrlBtDrawDefect;
    CakButtonColorCtrl m_ctrlBtDrawReviewPath;
    CakButtonColorCtrl m_ctrlBtDrawUserPath;
    CakButtonColorCtrl m_ctrlBtDrawWsiDefect;
    CakButtonColorCtrl m_ctrlBtDrawWsiPath;
    CakButtonColorCtrl m_ctrlBtUseWsi;
    CakButtonColorCtrl m_ctrlBtUseWsiMeasurement;
 
    CakButtonColorCtrl m_ctrlBtReviewDefect;
    CakButtonColorCtrl m_ctrlBtSelected_Defect;
    CakButtonColorCtrl m_ctrlBtCameraPos;
    CakButtonColorCtrl m_ctrlBtMeasurePath;
 
 
 
 
protected:
    IDialogDefectFilter2Parent*    m_pDDF2P;
    const CGlassResult* m_pGlassResult;
    CString                m_strProgramVersion;
    CButton                *m_ctrlUseWSI;
    CButton                *m_ctrlUseWSIMeasurement;
    CButton                *m_ctrlDraw[MapDrawCount];
 
    SDefectFilter        m_sDefectFilter;
    int                    m_nDefectFilter;
    BOOL                m_CheckValue[4];
    COLORREF            m_RowColor[4];
    CGridCtrl            m_ctrlGridDefectFilter;
    CStatic                m_ctrlVersion;
 
    CFontStatic            m_ctrlReviewCount;
    CFontStatic            m_ctrlReviewedCount;
    CFontStatic            m_ctrlWsiCount;
    CFontStatic            m_ctrlWsiedCount;
    CFontStatic            m_ctrlTotalCount;
 
public:
    void FillGridDefectFilter();
    void InitGridDefectFilter();
 
    void FillGridDefectFilterOptic();
    void FillGridDefectFilterGray();
    void FillGridDefectFilterSize();
    void FillGridDefectFilterStack();
    void FillGridDefectFilterJudge();
    void FillGridDefectFilterProcess();
    void FillGridDefectFilterPosition();
    void GetGridDefectFilter();
    afx_msg    LRESULT    OnDefectFilterUpdate(WPARAM wParam, LPARAM lParam);
    afx_msg    LRESULT    OnReviewResultUpdate(WPARAM wParam, LPARAM lParam); 
 
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 지원입니다.
    DECLARE_MESSAGE_MAP()
public:
    virtual BOOL OnInitDialog();
    virtual BOOL PreTranslateMessage(MSG* pMsg);
    afx_msg void OnBnClickedRadioDefectFilter();
    static CDlgDefectFilter* GetInstance(CWnd* it);
    static CDlgDefectFilter* GetInstance();
protected:
    virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult);
    static CDlgDefectFilter* pDlgDefectFilter;
    
public:
    afx_msg void OnBnClickedCheckUseWSI();
    afx_msg void OnBnClickedCheckUseWSIMeasurement();
    afx_msg void OnBnClickedCheckDrawCell();
    afx_msg void OnBnClickedCheckDrawDefect();
    afx_msg void OnBnClickedCheckDrawReviewDefect();
    afx_msg void OnBnClickedCheckDrawReviewPath();
    afx_msg void OnBnClickedCheckDrawSelectedDefect();
    afx_msg void OnBnClickedCheckDrawCameraPosition();
    afx_msg void OnBnClickedCheckDrawWsiDefect();
    afx_msg void OnBnClickedCheckDrawWsiPath();
    afx_msg void OnBnClickedCheckDrawUserPath();
    afx_msg void OnBnClickedCheckDrawMeasurePath();
 
// [2017:1:18]-[WEZASW] : Review 설비 및 WSI 설비 UI 분리
public:
    BOOL SetMachineType(int nType);
    BOOL ShowDefectFilter(int nType);
    
protected:
    int m_nMachineType;
public:
    CButton m_btnctrlVersion;
    afx_msg void OnBnClickedButtonVersion();
    CString m_strMachineType;
    CStatic m_staticMachineType;
//    afx_msg BOOL OnEraseBkgnd(CDC* pDC);
//    afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
//    afx_msg BOOL OnEraseBkgnd(CDC* pDC);
//    afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
    afx_msg BOOL OnEraseBkgnd(CDC* pDC);
    afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
 
    CBrush m_brushBk;
};