|
// 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);
|
};
|