#pragma once #include "afxcmn.h" #include #include #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 LISTDefect; typedef std::vector::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); };