#pragma once #include "afxcmn.h" #include #include #include "CHReviewResult/GlassResult.h" #include "CHReviewResult/DefectResult.h" #include "ModuleStatus.h" #include "DlgReviewHistoryTool.h" typedef std::vector LISTDefect; typedef std::vector::iterator LISTDefectit; // CDlgDeffectImage 대화 상자 interface IDialogDefectHistoryList2Parent { virtual BOOL UpdateSelectDefectInfoMap2(int nIndex) = 0; virtual BOOL Mathching(CDefectResult* pDefectResult) = 0; virtual BOOL GetAllDefect() = 0; }; class CDlgDeffectHistroy : public CDialogEx { DECLARE_DYNAMIC(CDlgDeffectHistroy) public: CDlgDeffectHistroy(CWnd* pParent = nullptr); // 표준 생성자입니다. virtual ~CDlgDeffectHistroy(); void SetDDL2P(IDialogDefectHistoryList2Parent* pDDL2P) { m_pDDL2P = pDDL2P; } // 대화 상자 데이터입니다. enum { IDD = IDD_DLG_DEFECT_HISTORY_TAB }; static CDlgDeffectHistroy* GetInstance(); protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 지원입니다. static CDlgDeffectHistroy* CDlgHistoryDefelist; DECLARE_MESSAGE_MAP() public: CListCtrl m_ctrlListDefectHistory; afx_msg void OnColumnclickListHistoryDefect(NMHDR *pNMHDR, LRESULT *pResult); IDialogDefectHistoryList2Parent* m_pDDL2P; public: BOOL m_bAsending; LISTDefect m_pOrgDefect; LISTDefect m_pSortDefect; SDefectFilter m_sDefectFilter; CGlassResult* m_pReviewResult; int m_nProcessStatus; const MapDefectResult* m_pMapDefectResult; protected: void SortListDefect(int nCol); void SetDefect(); void SetData(CString & strItem, int nRow, int nCol); void SetSortData(); BOOL Mathching(CDefectResult* pDefectResult); void SetListHeader(CString &strItem, int nRow, int nCol); void UpdateColumn(); virtual void UpdateDefectFilter(const SDefectFilter* pDefectFilter); afx_msg LRESULT OnProcessStatusUpdate(WPARAM wParam, LPARAM lParam); afx_msg LRESULT OnDefectFilterUpdate(WPARAM wParam, LPARAM lParam); public: virtual BOOL OnInitDialog(); virtual BOOL PreTranslateMessage(MSG* pMsg); void UpdateSelectDefectList(int nDefectIdx); virtual void UpdateProcessStatus(const CGlassResult* pGlassResult); afx_msg void OnGetdispinfoListHistoryDefect(NMHDR *pNMHDR, LRESULT *pResult); afx_msg void OnDblclkListHistoryDefect(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); };