// 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 m_vecStrGridMultiHeader; CakGridCtrl m_gridReviewList; std::vector m_vecStrGridReviewHeader; std::vector m_vecStrGridReviewList; std::vector m_vecStrGridReviewPath; std::vector m_vecStrGridTimeList; std::vector<_DefectList> m_vecStrDefectList; CakGridCtrl m_gridDefectInfo; std::vector m_vecStrGridDefectHeader; CakGridCtrl m_gridGlassInfo; std::vector m_vecStrGridGlassHeader; std::vector 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; } };