#pragma once // CDlgDefectMap 대화 상자입니다. #include "ModuleStatus.h" #include "DefectMap.h" #include "afxwin.h" interface IDialogDefectMap2Parent { virtual void DDM2P_SelectDefect(int nDefectPosX, int nDefectPosY, int nDefectMarginX, int nDefectMarginY) = 0; virtual void DDM2P_MoveGlassPos(double dGlassPosX, double dGlassPosY) = 0; }; typedef std::vector VectorMotorPosition; typedef std::vector::iterator VectorMotorPositionIt; class CDlgDefectMap : public CDialog, public IUpdateDefectFilter, public IUpdateProcessStatus, public IUpdateMotorPosition, public IUpdateReviewResult { DECLARE_DYNAMIC(CDlgDefectMap) public: CDlgDefectMap(CWnd* pParent = NULL); // 표준 생성자입니다. virtual ~CDlgDefectMap(); void SetDDM2P(IDialogDefectMap2Parent* pDDM2P) { m_pDDM2P = pDDM2P; } CDefectMap* GetDefectMap() { return m_pDefectMap; } virtual void UpdateDefectFilter(const SDefectFilter* pDefectFilter); virtual void UpdateProcessStatus(int nLineType, int nMachineType, int nProcessStatus, const CGlassResult* pGlassResult); virtual void UpdateMotorPosition(int nModuleIndex, BOOL bSelected, const SMotorPosition* pMotorPosition); virtual void UpdateReviewResult(int nModuleIndex, const CGlassResult* pGlassResult,int nPlanIdex); void UpdateSelectDefectMap(CDefectResult* pDefectResult); void SetDefaultGlassType(const CGlassResult* pGlassResult); BOOL SaveDefectMap(const CString &strPath); // 대화 상자 데이터입니다. enum { IDD = IDD_DLG_DEFECT_MAP }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 지원입니다. DECLARE_MESSAGE_MAP() public: virtual BOOL OnInitDialog(); virtual BOOL PreTranslateMessage(MSG* pMsg); afx_msg LRESULT OnMotorPositionUpdate(WPARAM wParam, LPARAM lParam); afx_msg LRESULT OnDefectFilterUpdate(WPARAM wParam, LPARAM lParam); afx_msg LRESULT OnProcessStatusUpdate(WPARAM wParam, LPARAM lParam); afx_msg LRESULT OnReviewResultUpdate(WPARAM wParam, LPARAM lParam); afx_msg LRESULT OnDBLCLKDefectMap(WPARAM wParam, LPARAM lParam); afx_msg LRESULT OnDBRCLKDefectMap(WPARAM wParam, LPARAM lParam); afx_msg LRESULT OnLBDOWNDefectMap(WPARAM wParam, LPARAM lParam); protected: IDialogDefectMap2Parent* m_pDDM2P; int m_nProcessStatus; CDefectMap* m_pDefectMap; const SDefectFilter* m_pDefectFilter; const CGlassResult* m_pGlassResult; int m_nSelectedIndex; VectorMotorPosition m_vecMotorPos; BOOL m_bTimerColor; CDefectResult m_measurePoint; CDefectResult* m_pSelectDefectResult; public: virtual BOOL DestroyWindow(); afx_msg void OnTimer(UINT_PTR nIDEvent); afx_msg BOOL OnEraseBkgnd(CDC* pDC); afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); };