From b9b6752e83c701cc67241923d2b74dc3a963d243 Mon Sep 17 00:00:00 2001
From: LYW <leeyeanwoo@diteam.co.kr>
Date: 월, 27 9월 2021 13:13:23 +0900
Subject: [PATCH] Ongoing100 #3486 CF AOI Review Review History 프로그램 테스트 및 적용

---
 ReviewHistory/ReveiwHistory/ReveiwHistoryDlg.h |  283 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 283 insertions(+), 0 deletions(-)

diff --git a/ReviewHistory/ReveiwHistory/ReveiwHistoryDlg.h b/ReviewHistory/ReveiwHistory/ReveiwHistoryDlg.h
new file mode 100644
index 0000000..94a0566
--- /dev/null
+++ b/ReviewHistory/ReveiwHistory/ReveiwHistoryDlg.h
@@ -0,0 +1,283 @@
+癤�
+// ReveiwHistoryDlg.h: �뿤�뜑 �뙆�씪
+//
+
+#pragma once
+
+#include "akFormationMap.h"
+#include "akGridData.h"
+#include "AlignDlg.h"
+#include "akWndArrange.h"
+#include "DitGlassRawServer.h"
+#include "GlassRawBase.h"
+#include "akCore/akFileDB.h"
+#include "afxcmn.h"
+#include "akGridCtrl/akGridCtrl.h"
+#include "akImageView.h"
+//#include "CameraImageView.h"
+//#include "CHImageControls/CHRectTracker.h"
+
+
+#define MAX_COUNT	100
+
+struct _DefectList
+{
+	int				m_nFileTime;
+	CString			m_strFileName;
+	CString			m_strLoading;
+	CString			m_strGlassID;
+	CString			m_strPPID;
+	int				m_nReviewCount;
+	int				m_nAllCount;
+	CString			m_strJudge;
+};
+
+// CReveiwHistoryDlg ���솕 �긽�옄
+class CReveiwHistoryDlg : public CDialogEx
+{
+// �깮�꽦�엯�땲�떎.
+public:
+	CReveiwHistoryDlg(CWnd* pParent = nullptr);	// �몴以� �깮�꽦�옄�엯�땲�떎.
+
+// ���솕 �긽�옄 �뜲�씠�꽣�엯�땲�떎.
+#ifdef AFX_DESIGN_TIME
+	enum { IDD = IDD_DLG_REVIEWHISTORY };
+#endif
+
+	protected:
+	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV 吏��썝�엯�땲�떎.
+
+public:
+	CFont m_Filelistfont;
+	CFont m_Defectfont;
+
+	_DefectDisplayOption m_DefectDisplayOption;
+	CakFormationMap m_FormationMap;
+	akDefectFormation m_Formation;
+	CString m_strRawFilePath;
+	CakWndArrange		m_WndArrange;
+
+	CakImageView m_ImageView;
+
+	CAlignDlg* m_pDlgAlign;
+
+	CakGridCtrl m_gridMultiLIst;
+	std::vector<CString> m_vecStrGridMultiHeader;
+
+	CakGridCtrl m_gridReviewList;
+	std::vector<CString> m_vecStrGridReviewHeader;
+	std::vector<CString> m_vecStrGridReviewList;
+	std::vector<CString> m_vecStrGridReviewPath;
+	std::vector<CString> m_vecStrGridTimeList;
+	std::vector<_DefectList> m_vecStrDefectList;
+
+	CakGridCtrl m_gridDefectInfo;
+	std::vector<CString> m_vecStrGridDefectHeader;
+
+	CakGridCtrl m_gridGlassInfo;
+	std::vector<CString> m_vecStrGridGlassHeader;
+
+	std::vector<CString> m_vecStrReviewTemp;
+	std::vector<_akFormation*>	m_vecSortForm;
+
+	std::vector<_akDefect> m_vectest;
+
+	CImage m_DefectImage;
+	//LYW 20210825 #3486 ADD START
+	CImage m_DefectRotateImage;
+	//LYW 20210825 #3486 ADD END
+	CImage m_ReviewImage;
+
+	CRect m_picture_rect;
+	CRect m_picture_rect2;
+
+	CImage m_AlignFirst;
+	CImage m_AlignSecend;
+
+	CRect m_Align_rect;
+	CRect m_Align_rect2;
+
+	CButton m_chkAllDefect;
+	CButton m_chkReviewDefect;
+	CButton m_chkMuti;
+	CButton m_chkSingle;
+
+	CSliderCtrl m_sldImg;
+	CEdit m_ctrCount;
+
+	CStatic m_ctrReviewImage;
+
+	CEdit m_ctlFileCount;
+
+	CProgressCtrl m_ctlProgress;
+
+	CakGridCtrl m_ctrlGridGlassList;
+
+	// tracker
+	BOOL			m_bDrawTracker;
+	CPoint			m_ptTrackerStart;
+	//CCHRectTracker	m_rectTracker;
+
+	// Scroll Pos
+	int			m_nVScroll;
+	int			m_nHScroll;
+	// Max Scroll Pos
+	int			m_nMaxVScroll;
+	int			m_nMaxHScroll;
+
+///////////////////////////////////////////////////////
+	CDitGlassRawServer m_Server;
+	CGlassRawBase* m_pGlassRawMaker;
+	CgrmGlassRawData m_GlassRawDataBuffer;
+///////////////////////////////////////////////////////
+
+	int m_nSelectedCol;
+	int m_nSelectedRow;
+
+	char m_strConfigFile[MAX_PATH];
+
+	bool m_bDefectAll;
+	bool m_bFirst;
+	int m_nCount;
+
+	int m_nGlassSelect;
+	int m_nFileCount;
+	int m_nSelectFile[105];
+	int m_nDefectSize[105];
+	int m_nCellSize[105];
+	int m_nCellSizeTemp[105];
+	int m_nImageSize[105];
+	int m_nSizeDefect;
+	int m_nSizeImage;
+	int m_nDefectCount;
+	int m_nImageCount;
+	int m_nCellCount;
+
+	BOOL m_bAsending;
+
+	struct _InitOption
+	{
+		int m_nMaxDataNumCell;
+		int m_nMaxDataNumDefect;
+
+		int m_nSelectRawType;
+
+		char m_strLogFilePath[256];
+
+		int  m_bUseStack;
+		char m_strStackLocalPath[256];
+		char m_strStackEquipID[32];
+		char m_strStackParam1[32];
+		char m_strStackParam2[32];
+	}m_ConfigOption;
+	
+// 援ы쁽�엯�땲�떎.
+protected:
+	HICON m_hIcon;
+
+	// �깮�꽦�맂 硫붿떆吏� 留� �븿�닔
+	virtual BOOL OnInitDialog();
+	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
+	afx_msg void OnPaint();
+	afx_msg HCURSOR OnQueryDragIcon();
+	virtual BOOL PreTranslateMessage(MSG* pMsg);
+
+	DECLARE_MESSAGE_MAP()
+
+	void AddVecFileHeader();
+	void AddVecGlassHeader();
+	void AddVecDefectHeader();
+
+	void SlideInit();
+
+	void InitGridReviewLIst(CakGridCtrl* pGrid, UINT nRectCtrlID);
+	void InitGridGlassLIst(CakGridCtrl * pGrid, UINT nRectCtrlID);
+	void InitGridDefectLIst(CakGridCtrl* pGrid, UINT nRectCtrlID);
+	
+	void CreateUserDirectory();
+	void CreateUserClass();
+	void DestroyUserClass();
+
+	void getDispInfoGlass(int nCol, int nRow, CString* pStrData);
+	void getDispInfoGlassInfo(int nCol, int nRow, CString * pStrData);
+	void getDispInfoDefect(int nCol, int nRow, CString* pStrData);
+
+public:
+	afx_msg void OnBnClickedButtonMapviewFit();
+	afx_msg void OnDestroy();
+	afx_msg LRESULT OnMapDefectSelected(WPARAM wParam, LPARAM lParam);
+	afx_msg LRESULT OnMapDefectMouseOver(WPARAM wParam, LPARAM lParam);
+	afx_msg LRESULT OnListDefectSelected(WPARAM wParam, LPARAM lParam);
+	afx_msg void OnSize(UINT nType, int cx, int cy);
+
+	afx_msg void OnOptionPathsetting();
+	afx_msg void OnViewAlldefect();
+	afx_msg void OnViewReviewdefect();
+	afx_msg void OnAlignView();
+	afx_msg void OnBnClickedBtnFindBin();
+	afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
+	afx_msg void OnChangeEditCount();
+
+	afx_msg void OnClickedChkAllDefect();
+	afx_msg void OnClickedChkMuti();
+	afx_msg void OnClickedChkReviewDefect();
+	afx_msg void OnClickedChkSingle();
+	afx_msg void OnChangeEditFileCount();
+
+	afx_msg void OnBnClickedButton3();
+
+	virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult);
+
+	void FileTime(CString strPath);
+	void OpenFileHeader(CString strPath, CString strFullPath);
+	void BinFileOpen(int nCount);
+	void OnCbnSelchangeComboRawtype();
+
+	
+	void ShowProgressBar();
+	void setDefectShow(int nDefectID, BOOL bEnsureVisible);
+	void ImageShow(int nDefectID);
+
+	void SetScrollSetting();
+	void SetScrollRest();
+
+	void Imagenoload();
+
+	//LYW 20210825 #3486 ADD START
+	void ImageRotate(CImage& SrcImage, CImage& DstImage, double degree = 180.0);
+	//LYW 20210825 #3486 ADD END
+
+	BOOL GetCheckFileLoad(int nCount);
+
+	void GlassInfoRest();
+	BOOL MultiSelectCheck(int nSelectCount);
+	int MultiInsert(int nSelectCount, int nDataCount);
+	void InitSelectGlass(int nSelectCount);
+
+	void AddVecDataImage(int nDataCount);
+	void AddVecDataDefct(int nDataCount);
+	void AddVecDataDefectAll(int nDataCount);
+	void AddVecDataDefct2(int nDataCount/*, int nRawCount*/);
+	void AddVecDataDefectAll2(int nDataCount/*, int nRawCount*/);
+	void AddVecGlassData(int nCount);
+	void AddVecCellData(int nCellCount);
+	void AddVecDateSorting(int nDataCount);
+	void AddVecImageSorting(int nDataCount);
+	void AddVecCellSorting(int nCellCount);
+
+	void SelectCell(int nDataCount);
+
+	void SortFileList(int nCol);
+	void SortListDefect(int nCol);
+
+	void SetDefectCount() {	m_nDefectCount = m_nDefectCount + 1; }
+	int	GetDefectCount() { return m_nDefectCount; }
+
+	void SetImageCount() { m_nImageCount = m_nImageCount + 1; }
+	int	GetImageCount() { return m_nImageCount; }
+
+	void SetCellCount() { m_nCellCount = m_nCellCount + 1; }
+	int	GetCellCount() { return m_nCellCount; }
+
+	afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
+};

--
Gitblit v1.9.3