#pragma once
|
|
#include "afxcmn.h"
|
#include <map>
|
#include <vector>
|
#include "CHReviewResult/GlassResult.h"
|
#include "CHReviewResult/DefectResult.h"
|
#include "ModuleStatus.h"
|
#include "akControlPack/akGroupCtrl.h"
|
#include "akControlPack/akButtonColorCtrl.h"
|
#include "akControlPack/akStaticTextCtrl.h"
|
#include "akControlPack/akRadio.h"
|
typedef std::vector<CDefectResult*> LISTDefect;
|
typedef std::vector<CDefectResult*>::iterator LISTDefectit;
|
|
using namespace std;
|
|
// CDlgDefectList 대화 상자입니다.
|
interface IDialogDefectList2Parent
|
{
|
virtual void DDL2P_SelectDefect(int nDefectIdx) = 0;
|
};
|
|
class CDlgDefectList : public CDialog,
|
public IUpdateDefectFilter,
|
public IUpdateProcessStatus
|
{
|
DECLARE_DYNAMIC(CDlgDefectList)
|
|
public:
|
CDlgDefectList(CWnd* pParent = NULL); // 표준 생성자입니다.
|
virtual ~CDlgDefectList();
|
void SetDDL2P(IDialogDefectList2Parent* pDDL2P) { m_pDDL2P = pDDL2P; }
|
|
public:
|
void SetDefect(MapDefectResult* pMapDefectResult, const SDefectFilter& mapOption);
|
void SetDefect();
|
void SelectDefect(int nSelDefect);
|
void UpdateSelectDefectList(int nDefectIdx);
|
virtual void UpdateDefectFilter(const SDefectFilter* pDefectFilter);
|
virtual void UpdateProcessStatus(int nLineType, int nMachineType, int nProcessStatus, const CGlassResult* pGlassResult);
|
|
protected:
|
void SetData(CString& strItem,int nRow,int nCol);
|
void SetListHeader(CString &strItem,int nRow,int nCol);
|
void SetSortData();
|
void SortListDefect(int nCol);
|
void UpdateColumn();
|
|
public:
|
IDialogDefectList2Parent* m_pDDL2P;
|
int m_nProcessStatus;
|
const MapDefectResult* m_pMapDefectResult;
|
LISTDefect m_pOrgDefect;
|
LISTDefect m_pSortDefect;
|
BOOL m_bAsending;
|
SDefectFilter m_sDefectFilter;
|
// 대화 상자 데이터입니다.
|
enum { IDD = IDD_DLG_TAB_DEFECT_LIST };
|
static CDlgDefectList* GetInstance();
|
SDefectFilter* m_sDefectFilterpoint;
|
SDefectFilter* GetSDefecFilter(){return m_sDefectFilterpoint = &m_sDefectFilter;};
|
protected:
|
afx_msg LRESULT OnDefectFilterUpdate(WPARAM wParam, LPARAM lParam);
|
afx_msg LRESULT OnProcessStatusUpdate(WPARAM wParam, LPARAM lParam);
|
|
|
static CDlgDefectList* CDlgDefelist;
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 지원입니다.
|
|
DECLARE_MESSAGE_MAP()
|
public:
|
|
virtual BOOL OnInitDialog();
|
virtual BOOL PreTranslateMessage(MSG* pMsg);
|
CListCtrl m_ctrlListDefect;
|
afx_msg void OnLvnGetdispinfoListDefect(NMHDR *pNMHDR, LRESULT *pResult);
|
afx_msg void OnLvnColumnclickListDefect(NMHDR *pNMHDR, LRESULT *pResult);
|
afx_msg void OnNMDblclkListDefect(NMHDR *pNMHDR, LRESULT *pResult);
|
afx_msg void OnSize(UINT nType, int cx, int cy);
|
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
|
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
|
};
|