SDC C-Project CF Review 프로그램
LYW
2021-08-25 03152a241b9463c582b56896f5f5f73717497ab4
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
#pragma once
 
#include "afxcmn.h"
#include <map>
#include <vector>
#include "CHReviewResult/GlassResult.h"
#include "CHReviewResult/DefectResult.h"
#include "ModuleStatus.h"
#include "akControlPack/akGroupCtrl.h"
#include "akControlPack/akButtonColorCtrl.h"
#include "akControlPack/akStaticTextCtrl.h"
#include "akControlPack/akRadio.h"
typedef std::vector<CDefectResult*>                        LISTDefect;
typedef std::vector<CDefectResult*>::iterator            LISTDefectit;
 
using namespace std;
 
// CDlgDefectList 대화 상자입니다.
interface IDialogDefectList2Parent
{
    virtual void DDL2P_SelectDefect(int nDefectIdx) = 0;
};
 
class CDlgDefectList :    public CDialog, 
                        public IUpdateDefectFilter,
                        public IUpdateProcessStatus
{
    DECLARE_DYNAMIC(CDlgDefectList)
 
public:
    CDlgDefectList(CWnd* pParent = NULL);   // 표준 생성자입니다.
    virtual ~CDlgDefectList();
    void SetDDL2P(IDialogDefectList2Parent* pDDL2P)        { m_pDDL2P = pDDL2P; }
 
public:
    void                SetDefect(MapDefectResult* pMapDefectResult, const SDefectFilter& mapOption);
    void                SetDefect();
    void                SelectDefect(int nSelDefect);
    void                UpdateSelectDefectList(int nDefectIdx);
    virtual void        UpdateDefectFilter(const SDefectFilter* pDefectFilter);
    virtual void        UpdateProcessStatus(int nLineType, int nMachineType, int nProcessStatus, const CGlassResult* pGlassResult);
 
protected:    
    void                SetData(CString& strItem,int nRow,int nCol);
    void                SetListHeader(CString &strItem,int nRow,int nCol);
    void                SetSortData();    
    void                SortListDefect(int nCol);
    void                UpdateColumn();
 
public:
    IDialogDefectList2Parent*    m_pDDL2P;
    int                            m_nProcessStatus;
     const MapDefectResult*        m_pMapDefectResult;
     LISTDefect                    m_pOrgDefect;
     LISTDefect                    m_pSortDefect;
    BOOL                        m_bAsending;
    SDefectFilter                m_sDefectFilter;
// 대화 상자 데이터입니다.
    enum { IDD = IDD_DLG_TAB_DEFECT_LIST };
    static CDlgDefectList* GetInstance();
        SDefectFilter*    m_sDefectFilterpoint;
    SDefectFilter* GetSDefecFilter(){return m_sDefectFilterpoint = &m_sDefectFilter;};
protected:
    afx_msg LRESULT        OnDefectFilterUpdate(WPARAM wParam, LPARAM lParam);
    afx_msg LRESULT        OnProcessStatusUpdate(WPARAM wParam, LPARAM lParam);
 
 
    static CDlgDefectList* CDlgDefelist;
 
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 지원입니다.
 
    DECLARE_MESSAGE_MAP()
public:
 
    virtual BOOL OnInitDialog();
    virtual BOOL PreTranslateMessage(MSG* pMsg);
    CListCtrl m_ctrlListDefect;
    afx_msg void OnLvnGetdispinfoListDefect(NMHDR *pNMHDR, LRESULT *pResult);
    afx_msg void OnLvnColumnclickListDefect(NMHDR *pNMHDR, LRESULT *pResult);
    afx_msg void OnNMDblclkListDefect(NMHDR *pNMHDR, LRESULT *pResult);
    afx_msg void OnSize(UINT nType, int cx, int cy);
    afx_msg BOOL OnEraseBkgnd(CDC* pDC);
    afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
};