#pragma once #include "afxwin.h" #include "CHCommonControls/FontStatic.h" #include "CHCommonControls/GridCtrl.h" #include "ModuleStatus.h" //#include "akIPCNetAOISystem.h" #include "akAOISharedSystem.h"//191017 #include "akControlPack/akGroupCtrl.h" #include "akControlPack/akButtonColorCtrl.h" #include "akControlPack/akStaticTextCtrl.h" #include "akControlPack/akRadio.h" enum DefectFilterType { DefectType_Gray=0, DefectType_Stack, DefectType_Size, DefectType_Judge, DefectType_Process, DefectType_Position, DefectType_Optic, DefectType_Count }; //enum DefectFilterType { DefectType_Optic=0, DefectType_Gray, DefectType_Stack, DefectType_Count }; interface IDialogDefectFilter2Parent { virtual CString DDF2P_GetProgramVersion() = 0; virtual void DDF2P_SetDefectFilter(const SDefectFilter *pDefectFilter) = 0; }; // CDlgDefectFilter 대화 상자입니다. class CDlgDefectFilter : public CDialog, public IUpdateDefectFilter, public IUpdateReviewResult { DECLARE_DYNAMIC(CDlgDefectFilter) public: CDlgDefectFilter(CWnd* pParent = NULL); // 표준 생성자입니다. virtual ~CDlgDefectFilter(); public: void SetDDF2P(IDialogDefectFilter2Parent* pDDF2P) { m_pDDF2P = pDDF2P; } IDialogDefectFilter2Parent* GetpDDF2P(){return m_pDDF2P;}; virtual void UpdateDefectFilter(const SDefectFilter* pDefectFilter); virtual void UpdateReviewResult(int nModuleIndex, const CGlassResult* pGlassResult, int nPlanIndex); public: // 대화 상자 데이터입니다. enum { IDD = IDD_DLG_DEFECT_FILTER }; protected: CakGroupCtrl m_ctrlGroupCtrlObjectShow; CakGroupCtrl m_ctrlGroupCtrlReviewDoDone; CakGroupCtrl m_ctrlGroupCtrlDefectType; CakButtonColorCtrl m_ctrlDrawCell; CakButtonColorCtrl m_ctrlBtDrawDefect; CakButtonColorCtrl m_ctrlBtDrawReviewPath; CakButtonColorCtrl m_ctrlBtDrawUserPath; CakButtonColorCtrl m_ctrlBtDrawWsiDefect; CakButtonColorCtrl m_ctrlBtDrawWsiPath; CakButtonColorCtrl m_ctrlBtUseWsi; CakButtonColorCtrl m_ctrlBtUseWsiMeasurement; CakButtonColorCtrl m_ctrlBtReviewDefect; CakButtonColorCtrl m_ctrlBtSelected_Defect; CakButtonColorCtrl m_ctrlBtCameraPos; CakButtonColorCtrl m_ctrlBtMeasurePath; protected: IDialogDefectFilter2Parent* m_pDDF2P; const CGlassResult* m_pGlassResult; CString m_strProgramVersion; CButton *m_ctrlUseWSI; CButton *m_ctrlUseWSIMeasurement; CButton *m_ctrlDraw[MapDrawCount]; SDefectFilter m_sDefectFilter; int m_nDefectFilter; BOOL m_CheckValue[4]; COLORREF m_RowColor[4]; CGridCtrl m_ctrlGridDefectFilter; CStatic m_ctrlVersion; CFontStatic m_ctrlReviewCount; CFontStatic m_ctrlReviewedCount; CFontStatic m_ctrlWsiCount; CFontStatic m_ctrlWsiedCount; CFontStatic m_ctrlTotalCount; public: void FillGridDefectFilter(); void InitGridDefectFilter(); void FillGridDefectFilterOptic(); void FillGridDefectFilterGray(); void FillGridDefectFilterSize(); void FillGridDefectFilterStack(); void FillGridDefectFilterJudge(); void FillGridDefectFilterProcess(); void FillGridDefectFilterPosition(); void GetGridDefectFilter(); afx_msg LRESULT OnDefectFilterUpdate(WPARAM wParam, LPARAM lParam); afx_msg LRESULT OnReviewResultUpdate(WPARAM wParam, LPARAM lParam); virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 지원입니다. DECLARE_MESSAGE_MAP() public: virtual BOOL OnInitDialog(); virtual BOOL PreTranslateMessage(MSG* pMsg); afx_msg void OnBnClickedRadioDefectFilter(); static CDlgDefectFilter* GetInstance(CWnd* it); static CDlgDefectFilter* GetInstance(); protected: virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult); static CDlgDefectFilter* pDlgDefectFilter; public: afx_msg void OnBnClickedCheckUseWSI(); afx_msg void OnBnClickedCheckUseWSIMeasurement(); afx_msg void OnBnClickedCheckDrawCell(); afx_msg void OnBnClickedCheckDrawDefect(); afx_msg void OnBnClickedCheckDrawReviewDefect(); afx_msg void OnBnClickedCheckDrawReviewPath(); afx_msg void OnBnClickedCheckDrawSelectedDefect(); afx_msg void OnBnClickedCheckDrawCameraPosition(); afx_msg void OnBnClickedCheckDrawWsiDefect(); afx_msg void OnBnClickedCheckDrawWsiPath(); afx_msg void OnBnClickedCheckDrawUserPath(); afx_msg void OnBnClickedCheckDrawMeasurePath(); // [2017:1:18]-[WEZASW] : Review 설비 및 WSI 설비 UI 분리 public: BOOL SetMachineType(int nType); BOOL ShowDefectFilter(int nType); protected: int m_nMachineType; public: CButton m_btnctrlVersion; afx_msg void OnBnClickedButtonVersion(); CString m_strMachineType; CStatic m_staticMachineType; // afx_msg BOOL OnEraseBkgnd(CDC* pDC); // afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); // afx_msg BOOL OnEraseBkgnd(CDC* pDC); // afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); afx_msg BOOL OnEraseBkgnd(CDC* pDC); afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); CBrush m_brushBk; };