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
#pragma once
 
#include "Global_Define.h"
#include "ImgDefect.h"
#include "InspectDefect.h"
#include "ImgListView.h"
#include "GlassRecipe.h"
#include "HardwareSettings.h"
#include "Glass_Data.h"
 
using namespace std;
typedef std::vector<CInspectDefect*>                LISTDefect;
typedef std::vector<CInspectDefect*>::iterator        LISTDefectit;
 
// CViewDefect ´ëÈ­ »óÀÚÀÔ´Ï´Ù.
 
class CViewDefect : public CDialogEx
{
    DECLARE_DYNAMIC(CViewDefect)
 
public:
    CViewDefect(CWnd* pParent = NULL);   // Ç¥ÁØ »ý¼ºÀÚÀÔ´Ï´Ù.
    virtual ~CViewDefect();
 
// ´ëÈ­ »óÀÚ µ¥ÀÌÅÍÀÔ´Ï´Ù.
    enum { IDD = IDD_DLG_DEFECT_VIEW };
 
protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV Áö¿øÀÔ´Ï´Ù.
    virtual BOOL OnInitDialog(void);
    virtual BOOL PreTranslateMessage(MSG* pMsg);
    afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
    afx_msg void OnGridClick(NMHDR *pNotifyStruct, LRESULT* pResult);    
    afx_msg void OnGridDBClick(NMHDR *pNotifyStruct, LRESULT* pResult);
    LRESULT OnCImgListViewItemCLK(WPARAM wParam, LPARAM lParam);
    DECLARE_MESSAGE_MAP()
 
public:
    void            SetRecipe(CHardwareSettings *pHW);
    void            SetV2M(IViewInterface2Parent* pV2M){m_pIV2M=pV2M;}
    void            SetGlassData(CGlass_Data *pGlass);
    void            SetDefectList(MapDefect* pMapDefect);
    void            SetDefectPath(CString strPath);
    void            ResetView();
    
protected:
    void            Init_DefectGrid();
    void            Init_DefectGridHeader();
    void            InitScrollInfo();
    void            FillDefectList();
    void            SortListDefect(int nCol);
    CInspectDefect    *FindDefectBuffer(int iGlassIdx);
    void            SelectDefect(int nSelDefect);
    void            SetSelectDefectImg(int iRow);
 
protected:
    CHardwareSettings        *m_pHardware;
    IViewInterface2Parent    *m_pIV2M;
    CGlass_Data                *m_pGlassData;    
    CGridCtrl                m_GrdDefect;
    LISTDefect                m_pOrgDefect;
    LISTDefect                m_pSortDefect;    
    CImgDefect                m_DefectImg;
    CRect                    m_rcDefectImg;
    CScrollBar                m_ctrlScrollH;
    BOOL                    m_bAsending;
    MapDefect                *m_pMapDefect;
    int                        m_nSelectedRow;
    int                        m_nSelectedCol;
    CInspectDefect            *m_pSelDefect;
    CImgListView            *m_pImgList;
    CCreateContext            m_pContextImgList;
    CString                    m_strDefectPath;
};