#pragma once
|
#include "DlgDeffectHistroy.h"
|
#include "DlgDefectHistoryMap.h"
|
#include "DlgAlignHistory.h"
|
|
typedef std::vector<CWnd*> VectorWndPtr;
|
typedef std::vector<CWnd*>::iterator VectorWndPtrIt;
|
|
typedef std::vector<CString> VectorString;
|
typedef std::vector<CString>::iterator VectorStringIt;
|
typedef std::vector<CString>::const_iterator constVectorStringIt;
|
|
// CDlgReviewHistoryTool 대화 상자
|
interface IDialogReviewHistory2Parent
|
{
|
virtual CGlassResult* ISP2P_GetNewHistoryResult(int& nHistoryResultCount) = 0; // new glass result
|
virtual CGlassResult* ISP2P_GetHistoryResult(int nIndex) = 0; // get glass result
|
virtual SDefectFilter* ISP2P_GetDefectFilter() = 0;
|
virtual void DDM2P_SelectDefect2(int nDefectPosX, int nDefectPosY, int nDefectMarginX, int nDefectMarginY, CGlassResult* pHistoryResult) = 0;
|
};
|
|
class CDlgReviewHistoryTool : public CDialogEx, public IDialogDefectHistoryList2Parent,public IDialogDefectHistoryMap2Parent,public IDialogAlignHistoryList2Parent
|
{
|
DECLARE_DYNAMIC(CDlgReviewHistoryTool)
|
|
public:
|
CDlgReviewHistoryTool(CWnd* pParent = nullptr); // 표준 생성자입니다.
|
virtual ~CDlgReviewHistoryTool();
|
|
protected:
|
IDialogReviewHistory2Parent* m_pDDL2P;
|
|
// 대화 상자 데이터입니다.
|
#ifdef AFX_DESIGN_TIME
|
enum { IDD = IDD_DLG_REVIEW_HISTORY_TOOL };
|
#endif
|
|
protected:
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 지원입니다.
|
void SetDefectImage(CString strReview, CGlassResult* pHistoryResult);
|
void UpdateSelectDefectMap(CDefectResult* pDefectResult);
|
void SetDefectIndexInfo(int nIndex);
|
void DefectnoImage();
|
int GetDefectIndex() { return m_nDefectIndex; }
|
void SetReviewName(CString strReviewName) { m_strReviewName = strReviewName; }
|
void DrawnoImage();
|
void AlignnoImage();
|
|
DECLARE_MESSAGE_MAP()
|
|
public:
|
CDlgDeffectHistroy* m_pDlgDefectHistory;
|
CDlgDefectHistoryMap* m_pDlgDefectHistoryMap;
|
CDlgAlignHistory* m_pDlgAlignHistory;
|
|
CDefectResult* pDefectInfo = NULL;
|
bool m_bHistory;
|
|
protected:
|
VectorWndPtr m_vecWndPtr;
|
VectorString m_vecString;
|
const MapDefectResult* m_pMapDefectResult;
|
const SDefectFilter* m_pDefectFilter;
|
|
int m_nDefectIndex;
|
CString m_strReviewName;
|
HICON m_hIcon;
|
int m_DefectIdx;
|
double m_dDefectReviewPosX;
|
double m_dDefectReviewPosY;
|
double m_dDefectAoiPosX;
|
double m_dDefectAoiPosY;
|
CString m_dDefectSizeType;
|
int m_dDefectSacnIdx;
|
int m_dDefectCamIdx;
|
CString m_dDefectAOIFileName;
|
|
CStatic m_PictureControl_AOI;
|
CStatic m_PictureControl_Review;
|
|
CStatic m_PictureControl_Align;
|
CStatic m_PictureControl_Align2;
|
|
int m_dDefectArea;
|
CRect m_picture_rect;
|
CRect m_picture_rect2;
|
|
CRect m_picture_rect3;
|
CRect m_picture_rect4;
|
|
CImage m_DefectImage;
|
CImage m_ReviewImage;
|
|
CImage m_AlignImage;
|
CImage m_AlignImage2;
|
|
CGridCtrl m_ctrlOriginInfo;
|
CGridCtrl m_ctrlAlignInfo;
|
|
CString m_strFirstImage;
|
CString m_strSecondImage;
|
|
public:
|
void SetDDL2P(IDialogReviewHistory2Parent* pDDL2P) { m_pDDL2P = pDDL2P; }
|
CListBox m_ctrlHistoryList;
|
afx_msg void OnBnClickedOk();
|
virtual BOOL OnInitDialog();
|
virtual BOOL UpdateSelectDefectInfoMap2(int nIndex);
|
virtual BOOL UpdateSelectDefectInfoMap3(int nIndex);
|
virtual void SelectDefect(int nDefectPosX, int nDefectPosY, int nDefectMarginX, int nDefectMarginY);
|
virtual BOOL Mathching(CDefectResult* pDefectResult);
|
void UpdateProcess(const CGlassResult* pGlassResult);
|
void OnDblclkList1();
|
afx_msg void OnSelchangeList1();
|
void SetSelectIndex(int nSelectIdx) { m_nSelectCount = nSelectIdx; }
|
int GetSelectIndex() { return m_nSelectCount; }
|
void SetSelectDefectIndex(int nSelectIdx) { m_nSelectDefectIndex = nSelectIdx; }
|
int GetSelectDefectIndex() { return m_nSelectDefectIndex; }
|
void UpdateDefectFilter(const SDefectFilter* pDefectFilter);
|
void CreateTabDlg();
|
void InitTabControl();
|
void UpdateSelectDefectMap2(CDefectResult* pDefectResult);
|
void UpdateSelect(CDefectResult* pDefectResult);
|
CString GetReviewName() { return m_strReviewName; }
|
|
int m_nListCount = 0;
|
int m_nSelectCount = 0;
|
int m_nSelectDefectIndex = 0;
|
BOOL m_bAllDefect = 0;
|
CTabCtrl m_ctrlHistoryTab;
|
afx_msg void OnSelchangeTabHistoryControl(NMHDR *pNMHDR, LRESULT *pResult);
|
|
void SetActiveDialog(int nTabIdx);
|
|
public:
|
void GetHistoryList();
|
void SetHistoryTemp(int nIndex);
|
void SetAllDefect(BOOL bCheck) { m_bAllDefect = bCheck; }
|
virtual BOOL GetAllDefect() { return m_bAllDefect; }
|
CStatic m_ctrlDefectMap;
|
CGlassResult* m_pHistoryTemp;
|
afx_msg void OnTimer(UINT_PTR nIDEvent);
|
afx_msg void OnPaint();
|
afx_msg void OnBnClickedUseDefect();
|
afx_msg void OnBnClickedImageRotation();
|
afx_msg void OnBnClickedImageFlip();
|
void InitGridOriginInfo();
|
void InitGridAlignInfo();
|
};
|