// DlgReview_FIC.cpp : ���� �����Դϴ�.
|
//
|
|
#include "stdafx.h"
|
#include "ReviewRecipeEditor.h"
|
#include "DlgReview.h"
|
#include "afxdialogex.h"
|
#include "ReviewRecipeEditorDlg.h"
|
#include "DlgFilterSizeOption.h"
|
|
// CDlgReview ��ȭ �����Դϴ�.
|
|
IMPLEMENT_DYNAMIC(CDlgReview, CDialog)
|
|
CDlgReview::CDlgReview(int nType, int nMachineType, CWnd* pParent /*=NULL*/)
|
: CDialog(CDlgReview::IDD, pParent)
|
,m_nFilterCount(0)
|
, m_dDefocusValue(0)
|
{
|
m_nType = nType;
|
m_nMachineType = nMachineType;
|
m_nLightCount = 0;
|
m_nAFMCount = 0;
|
m_nReviewCount = 0;
|
m_dDefocusValue = 0;
|
}
|
|
CDlgReview::~CDlgReview()
|
{
|
}
|
|
void CDlgReview::DoDataExchange(CDataExchange* pDX)
|
{
|
CDialog::DoDataExchange(pDX);
|
|
DDX_Control(pDX, IDC_GRID_REVIEW_CODE, m_ctrlGridFilterinfo);
|
|
DDX_Control(pDX, IDC_REVIEW_SORT_SIZE, m_ctrlSortType);
|
DDX_Control(pDX, IDC_REVIEW_SORT_PEAK, m_ctrlSortType2);
|
DDX_Control(pDX, IDC_REVIEW_SORT_DEC, m_ctrlSortOrder);
|
DDX_Control(pDX, IDC_REVIEW_SORT_ASC, m_ctrlSortOrder2);
|
DDX_Control(pDX, IDC_REVIEW_SORT_PRIORITY_NONE, m_ctrlSortPriority);
|
DDX_Control(pDX, IDC_REVIEW_SORT_PRIORITY_CIRCLE, m_ctrlSortPriority2);
|
DDX_Control(pDX, IDC_REVIEW_SORT_PRIORITY_SCRATCH, m_ctrlSortPriority3);
|
DDX_Control(pDX, IDC_REVIEW_SORT_PRIORITY_BUBBLE, m_ctrlSortPriority4);
|
|
DDX_Control(pDX, IDC_GRID_RCP_REVIEW_LIGHT_INFO, m_ctrlGridLightInfo);
|
DDX_Control(pDX, IDC_GRID_RCP_REVIEW_AFM_RECIPE_INFO, m_ctrlGridAFMRecipeInfo);
|
DDX_Control(pDX, IDC_CHECK_AUTO_LIGHT, m_ctrlAutoLight);
|
|
DDX_Text(pDX, IDC_EDIT_RCP_FILTER_COUNT, m_nFilterCount);
|
|
DDX_Control(pDX, IDC_COMBO2, m_comboctrlSortPriority);
|
DDX_Text(pDX, IDC_REVIEW_DEFOCUS_VALUE, m_dDefocusValue);
|
DDX_Control(pDX, IDC_CHECK_REVIEW_DEFOCUS_ALARM, m_ctrlDefocusAlarm);
|
}
|
|
|
BEGIN_MESSAGE_MAP(CDlgReview, CDialog)
|
ON_BN_CLICKED(IDC_BUTTON_REVIEW_RESET, &CDlgReview::OnBnClickedButtonReviewReset)
|
ON_BN_CLICKED(IDC_BUTTON_REVIEW_APPLY, &CDlgReview::OnBnClickedButtonReviewApply)
|
ON_EN_CHANGE(IDC_EDIT_RCP_FILTER_COUNT, &CDlgReview::OnEnChangeEditRcpFilterCount)
|
ON_NOTIFY(NM_CLICK, IDC_GRID_REVIEW_CODE, &CDlgReview::OnGridClick)
|
|
END_MESSAGE_MAP()
|
|
|
// CDlgReview ���� ó�����Դϴ�.
|
BOOL CDlgReview::OnInitDialog()
|
{
|
CDialog::OnInitDialog();
|
|
// TODO: ��� �߰� �ʱ�ȭ �۾��� �߰��մϴ�.
|
InitFilterGridControl();
|
InitLightInfoGridControl();
|
InitAFMRecipeGridControl();
|
FillFilterInfo(m_nType);
|
|
return TRUE;
|
}
|
|
|
void CDlgReview::OnBnClickedButtonReviewReset()
|
{
|
// TODO: ��� ��Ʈ�� �˸� ó���� �ڵ带 �߰��մϴ�.
|
//CDialog::OnOK();
|
// TODO: ��� ��Ʈ�� �˸� ó���� �ڵ带 �߰��մϴ�.
|
//CDialog::OnOK();
|
UpdateData(FALSE);
|
}
|
|
|
void CDlgReview::OnBnClickedButtonReviewApply()
|
{
|
// TODO: ��� ��Ʈ�� �˸� ó���� �ڵ带 �߰��մϴ�.
|
//CDialog::OnCancel();
|
|
SetFilterInfo(m_nType);
|
SetLightAFMInfo(m_nType);
|
}
|
|
void CDlgReview::UpdateDialogData(int nType)
|
{
|
FillFilterInfo(nType);
|
FillLightInfoInfo(nType);
|
FillAFMRecipeInfo(nType);
|
|
Invalidate(FALSE);
|
}
|
|
void CDlgReview::InitFilterGridControl()
|
{
|
int nRowIdx, nColIdx, nCols, nFixRows, nFixCols, nMargin, nDataColumnWidth;
|
CString strTemp;
|
CRect rect;
|
|
nCols = PRIORITY_INFO_GRID_COL_COUNT;
|
nFixRows = 1;
|
nFixCols = 1;
|
nRowIdx = 0;
|
nColIdx = 0;
|
|
CFont font;
|
|
font.CreateFont(
|
14, // nHeight
|
5, // nWidth
|
0, // nEscapement
|
0, // nOrientation
|
FW_NORMAL, // nWeight
|
FALSE, // bItalic
|
FALSE, // bUnderline
|
0, // cStrikeOut
|
ANSI_CHARSET, // nCharSet
|
OUT_DEFAULT_PRECIS, // nOutPrecision
|
CLIP_DEFAULT_PRECIS, // nClipPrecision
|
DEFAULT_QUALITY, // nQuality
|
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
|
_T("Arial"));
|
|
m_ctrlGridFilterinfo.SetFont(&font);
|
m_ctrlGridFilterinfo.GetWindowRect(&rect);
|
m_ctrlGridFilterinfo.GetDefaultCell(FALSE, FALSE)->SetBackClr(RGB(0xFF, 0xFF, 0xE0));
|
m_ctrlGridFilterinfo.SetColumnCount(nCols);
|
m_ctrlGridFilterinfo.SetFixedRowCount(nFixRows);
|
m_ctrlGridFilterinfo.SetFixedColumnCount(nFixCols);
|
|
GV_ITEM Item;
|
|
Item.mask = GVIF_TEXT;
|
Item.row = nRowIdx;
|
Item.col = nColIdx;
|
strTemp.Format(_T("Idx"));
|
Item.strText = strTemp;
|
m_ctrlGridFilterinfo.SetItem(&Item);
|
m_ctrlGridFilterinfo.SetColumnWidth(nColIdx++, 35);
|
|
nMargin = 5;
|
nDataColumnWidth = (rect.Width() - 35 - nMargin) / (PRIORITY_INFO_GRID_COL_COUNT-1);
|
|
Item.col = nColIdx;
|
strTemp.Format(_T("Defect Code"));
|
Item.strText = strTemp;
|
m_ctrlGridFilterinfo.SetItem(&Item);
|
m_ctrlGridFilterinfo.SetColumnWidth(nColIdx++, nDataColumnWidth+30);
|
|
Item.col = nColIdx;
|
strTemp.Format(_T("Grade Type"));
|
Item.strText = strTemp;
|
m_ctrlGridFilterinfo.SetItem(&Item);
|
m_ctrlGridFilterinfo.SetColumnWidth(nColIdx++, nDataColumnWidth);
|
|
Item.col = nColIdx;
|
strTemp.Format(_T("Stack Type"));
|
Item.strText = strTemp;
|
m_ctrlGridFilterinfo.SetItem(&Item);
|
m_ctrlGridFilterinfo.SetColumnWidth(nColIdx++, nDataColumnWidth);
|
|
Item.col = nColIdx;
|
strTemp.Format(_T("Gray Type"));
|
Item.strText = strTemp;
|
m_ctrlGridFilterinfo.SetItem(&Item);
|
m_ctrlGridFilterinfo.SetColumnWidth(nColIdx++, nDataColumnWidth);
|
|
Item.col = nColIdx;
|
strTemp.Format(_T("Model Type"));
|
Item.strText = strTemp;
|
m_ctrlGridFilterinfo.SetItem(&Item);
|
m_ctrlGridFilterinfo.SetColumnWidth(nColIdx++, nDataColumnWidth);
|
|
Item.col = nColIdx;
|
strTemp.Format(_T("Size Filter"));
|
Item.strText = strTemp;
|
m_ctrlGridFilterinfo.SetItem(&Item);
|
m_ctrlGridFilterinfo.SetColumnWidth(nColIdx++, nDataColumnWidth-30);
|
|
m_ctrlGridFilterinfo.Invalidate(FALSE);
|
}
|
|
void CDlgReview::FillFilterInfo(int nType)
|
{
|
int nRowIdx, nColIdx;
|
CGridCellCheck* pCellCheck = NULL;
|
CString strItemText;
|
CGridCellCombo* pCellCombo = NULL;
|
CStringArray strArrayOption;
|
|
CRcp_RsReviewManager* pRcpRsReviewManager = NULL;
|
|
CReviewRecipeEditorDlg* pDlg = (CReviewRecipeEditorDlg*)AfxGetMainWnd();
|
if(pDlg == NULL) return;
|
|
pRcpRsReviewManager = pDlg->GetRsReviewManager();
|
if(pRcpRsReviewManager == NULL) return;
|
|
const CRsRcpReviewInfo* pRsRcpReviewInfo = pRcpRsReviewManager->GetRsRcpReviewInfo();
|
if (pRsRcpReviewInfo == NULL) return;
|
|
if (nType)
|
{
|
//WSI
|
int nFilterCount = pRsRcpReviewInfo->GetRcpWsiPriorityInfoCount();
|
if(nFilterCount > 0)
|
{
|
m_nFilterCount = nFilterCount;
|
}
|
UpdateData(FALSE);
|
OnEnChangeEditRcpFilterCount();
|
|
nRowIdx = 1;
|
|
for(int i=0;i<m_nFilterCount;i++)
|
{
|
nColIdx = 1;
|
|
const CRcpPriorityInfo* pRcpPriorityInfo = pRsRcpReviewInfo->GetRcpWsiPriorityInfo(i);
|
if (pRcpPriorityInfo == NULL) continue;
|
|
/*pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx);
|
if(pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
pCellCombo->GetOptions(strArrayOption);
|
|
if(strArrayOption.GetSize() > 0)
|
{*/
|
//strItemText = strArrayOption.GetAt(pRcpPriorityInfo->GetPriorityOpticData());
|
//strItemText = strArrayOption.GetAt(pRcpPriorityInfo->GetPriorityDefectCode()); //WSI ������ //20210608
|
//m_ctrlGridFilterinfo.SetItemText(nRowIdx, nColIdx++, strItemText);
|
|
//LYW #3428 CF AOI Review Recipe Editor 리뷰 우선순위 조건 타입 변경기능 적용 및 검증 MOD START
|
strItemText.Format(_T("%s"), pRcpPriorityInfo->GetPriorityDefectCode());
|
m_ctrlGridFilterinfo.SetItemText(nRowIdx, nColIdx++, strItemText);
|
//LYW #3428 CF AOI Review Recipe Editor 리뷰 우선순위 조건 타입 변경기능 적용 및 검증 MOD END
|
// }
|
//}
|
|
|
pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx);
|
if (pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
pCellCombo->GetOptions(strArrayOption);
|
|
if (strArrayOption.GetSize() > 0)
|
{
|
strItemText = strArrayOption.GetAt(pRcpPriorityInfo->GetPriorityGradeData());
|
m_ctrlGridFilterinfo.SetItemText(nRowIdx, nColIdx++, strItemText);
|
}
|
}
|
|
pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx);
|
if(pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
pCellCombo->GetOptions(strArrayOption);
|
|
if(strArrayOption.GetSize() > 0)
|
{
|
strItemText = strArrayOption.GetAt(pRcpPriorityInfo->GetPriorityStackData());
|
m_ctrlGridFilterinfo.SetItemText(nRowIdx, nColIdx++, strItemText);
|
}
|
}
|
|
pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx);
|
if(pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
pCellCombo->GetOptions(strArrayOption);
|
|
if(strArrayOption.GetSize() > 0)
|
{
|
//LYW ERR수정
|
strItemText = strArrayOption.GetAt(pRcpPriorityInfo->GetPriorityGrayData());
|
m_ctrlGridFilterinfo.SetItemText(nRowIdx, nColIdx++, strItemText);
|
}
|
}
|
|
pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx);
|
if(pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
pCellCombo->GetOptions(strArrayOption);
|
|
if(strArrayOption.GetSize() > 0)
|
{
|
strItemText = strArrayOption.GetAt(pRcpPriorityInfo->GetPriorityModelData());
|
m_ctrlGridFilterinfo.SetItemText(nRowIdx, nColIdx++, strItemText);
|
}
|
}
|
|
pCellCheck = (CGridCellCheck*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx++);
|
if(pCellCheck) pCellCheck->SetCheck(pRcpPriorityInfo->GetPriorityDefectSizeOption());
|
|
nRowIdx++;
|
}
|
|
//sort
|
CRcpSortingInfo* pRcpSortInfo = pRcpRsReviewManager->GetRsRcpReviewInfo()->GetRcpWSISortInfo();
|
if(pRcpSortInfo == NULL) return;
|
|
if(pRcpSortInfo->m_nSortType)
|
{
|
m_ctrlSortType2.SetCheck(TRUE);
|
m_ctrlSortType.SetCheck(FALSE);
|
}
|
else
|
{
|
m_ctrlSortType.SetCheck(TRUE);
|
m_ctrlSortType2.SetCheck(FALSE);
|
}
|
if(pRcpSortInfo->m_nSortData)
|
{
|
m_ctrlSortOrder2.SetCheck(TRUE);
|
m_ctrlSortOrder.SetCheck(FALSE);
|
}
|
else
|
{
|
m_ctrlSortOrder.SetCheck(TRUE);
|
m_ctrlSortOrder2.SetCheck(FALSE);
|
}
|
|
m_comboctrlSortPriority.SetCurSel(pRcpSortInfo->m_nSortPriority);
|
}
|
|
else
|
{
|
//Review
|
int nFilterCount = pRsRcpReviewInfo->GetRcpPriorityInfoCount();
|
if(nFilterCount >= 0)
|
{
|
m_nFilterCount = nFilterCount;
|
}
|
UpdateData(FALSE);
|
OnEnChangeEditRcpFilterCount();
|
|
nRowIdx = 1;
|
|
for(int i=0;i<m_nFilterCount;i++)
|
{
|
nColIdx = 1;
|
|
const CRcpPriorityInfo* pRcpPriorityInfo = pRsRcpReviewInfo->GetRcpPriorityInfo(i);
|
if (pRcpPriorityInfo == NULL) continue;
|
|
/*pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx);
|
if(pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
pCellCombo->GetOptions(strArrayOption);
|
|
if(strArrayOption.GetSize() > 0)
|
{*/
|
//strItemText = strArrayOption.GetAt(pRcpPriorityInfo->GetPriorityOpticData());
|
//strItemText = strArrayOption.GetAt(pRcpPriorityInfo->GetPriorityDefectCode());//20210608 TRDF ������
|
//m_ctrlGridFilterinfo.SetItemText(nRowIdx, nColIdx++, strItemText);
|
|
//LYW #3428 CF AOI Review Recipe Editor 리뷰 우선순위 조건 타입 변경기능 적용 및 검증 MOD START
|
strItemText.Format(_T("%s"), pRcpPriorityInfo->GetPriorityDefectCode());
|
m_ctrlGridFilterinfo.SetItemText(nRowIdx, nColIdx++, strItemText);
|
//LYW #3428 CF AOI Review Recipe Editor 리뷰 우선순위 조건 타입 변경기능 적용 및 검증 MOD END
|
/* }
|
}*/
|
|
pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx);
|
if(pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
pCellCombo->GetOptions(strArrayOption);
|
|
if(strArrayOption.GetSize() > 0)
|
{
|
int a = pRcpPriorityInfo->GetPriorityGradeData();
|
strItemText = strArrayOption.GetAt(pRcpPriorityInfo->GetPriorityGradeData());
|
m_ctrlGridFilterinfo.SetItemText(nRowIdx, nColIdx++, strItemText);
|
}
|
}
|
|
pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx);
|
if(pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
pCellCombo->GetOptions(strArrayOption);
|
|
if(strArrayOption.GetSize() > 0)
|
{
|
strItemText = strArrayOption.GetAt(pRcpPriorityInfo->GetPriorityStackData());
|
m_ctrlGridFilterinfo.SetItemText(nRowIdx, nColIdx++, strItemText);
|
}
|
}
|
|
pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx);
|
if(pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
pCellCombo->GetOptions(strArrayOption);
|
|
if(strArrayOption.GetSize() > 0)
|
{
|
strItemText = strArrayOption.GetAt(pRcpPriorityInfo->GetPriorityGrayData());
|
m_ctrlGridFilterinfo.SetItemText(nRowIdx, nColIdx++, strItemText);
|
}
|
}
|
|
|
pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx);
|
if (pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
pCellCombo->GetOptions(strArrayOption);
|
|
if (strArrayOption.GetSize() > 0)
|
{
|
strItemText = strArrayOption.GetAt(pRcpPriorityInfo->GetPriorityModelData());
|
m_ctrlGridFilterinfo.SetItemText(nRowIdx, nColIdx++, strItemText);
|
}
|
}
|
|
|
pCellCheck = (CGridCellCheck*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx++);
|
if(pCellCheck) pCellCheck->SetCheck(pRcpPriorityInfo->GetPriorityDefectSizeOption());
|
|
nRowIdx++;
|
}
|
|
//sort
|
CRcpSortingInfo* pRcpSortInfo = pRcpRsReviewManager->GetRsRcpReviewInfo()->GetRcpReviewSortInfo();
|
if(pRcpSortInfo == NULL) return;
|
|
if(pRcpSortInfo->m_nSortType)
|
{
|
m_ctrlSortType2.SetCheck(TRUE);
|
m_ctrlSortType.SetCheck(FALSE);
|
}
|
else
|
{
|
m_ctrlSortType.SetCheck(TRUE);
|
m_ctrlSortType2.SetCheck(FALSE);
|
}
|
if(pRcpSortInfo->m_nSortData)
|
{
|
m_ctrlSortOrder2.SetCheck(TRUE);
|
m_ctrlSortOrder.SetCheck(FALSE);
|
}
|
else
|
{
|
m_ctrlSortOrder.SetCheck(TRUE);
|
m_ctrlSortOrder2.SetCheck(FALSE);
|
}
|
|
m_comboctrlSortPriority.SetCurSel(pRcpSortInfo->m_nSortPriority);
|
|
|
if(pRsRcpReviewInfo->m_bDefocusUse==TRUE){
|
m_ctrlDefocusAlarm.SetCheck(TRUE);
|
}
|
else{
|
m_ctrlDefocusAlarm.SetCheck(FALSE);
|
}
|
m_dDefocusValue =pRsRcpReviewInfo->m_dDefocusValue;
|
UpdateData(FALSE);
|
|
}
|
m_ctrlGridFilterinfo.Invalidate(FALSE);
|
|
|
}
|
|
void CDlgReview::SetLightAFMInfo(int nType)
|
{
|
UpdateData(TRUE);
|
|
//���� dlg ��������
|
CReviewRecipeEditorDlg* pDlg = (CReviewRecipeEditorDlg*)AfxGetMainWnd();
|
if(pDlg == NULL) return;
|
|
//���� �Ŵ���
|
CRcp_RsReviewManager* pRcpRsReviewManager = NULL;
|
pRcpRsReviewManager = pDlg->GetRsReviewManager();
|
if(pRcpRsReviewManager == NULL) return;
|
|
int i, j, nRowIdx, nColIdx, nArrayCount;
|
CString strTemp, strItemText;
|
CStringArray strArrayOption;
|
|
// [2016:11:2]-[WEZASW] : WSI(1)/Review(0) Type �и�
|
if(nType)
|
{
|
//WSI
|
//����
|
nColIdx = 1;
|
pRcpRsReviewManager->GetRsRcpReviewInfo()->SetRcpWsiLightInfoCount(m_nLightCount);
|
pRcpRsReviewManager->GetRsRcpReviewInfo()->m_bAutoLightWsi = m_ctrlAutoLight.GetCheck();
|
|
for(i = 0; i < m_nLightCount; i++)
|
{
|
nRowIdx = 1;
|
CRcpLightInfo* pRcpLightInfo = pRcpRsReviewManager->GetRsRcpReviewInfo()->GetRcpWsiLightInfo(i);
|
if(pRcpLightInfo == NULL) continue;
|
|
strItemText = m_ctrlGridLightInfo.GetItemText(nRowIdx++, nColIdx);
|
pRcpLightInfo->m_nLightLevel = _ttoi(strItemText);
|
|
strItemText = m_ctrlGridLightInfo.GetItemText(nRowIdx++, nColIdx);
|
pRcpLightInfo->m_nMinThresLevel = _ttoi(strItemText);
|
|
strItemText = m_ctrlGridLightInfo.GetItemText(nRowIdx++, nColIdx);
|
pRcpLightInfo->m_nMaxThresLevel = _ttoi(strItemText);
|
|
strItemText = m_ctrlGridLightInfo.GetItemText(nRowIdx++, nColIdx);
|
pRcpLightInfo->m_nAutoLightStep = _ttoi(strItemText);
|
|
nColIdx++;
|
}
|
|
//AFM ������
|
nRowIdx = 1;
|
nColIdx = 1;
|
pRcpRsReviewManager->GetRsRcpReviewInfo()->SetRcpWsiAFMRecipeInfoCount(m_nAFMCount);
|
|
for(i = 0; i < m_nAFMCount; i++)
|
{
|
CRcpAFMRecipeInfo* pRcpAFMRecipeInfo = pRcpRsReviewManager->GetRsRcpReviewInfo()->GetRcpWsiAFMRecipeInfo(i);
|
if(pRcpAFMRecipeInfo == NULL) continue;
|
|
strItemText = m_ctrlGridAFMRecipeInfo.GetItemText(nRowIdx, nColIdx);
|
pRcpAFMRecipeInfo->m_nRecipeIndex = _ttoi(strItemText);
|
strItemText = m_ctrlGridAFMRecipeInfo.GetItemText(3, 1);
|
pRcpAFMRecipeInfo->m_dZPosOffset = _ttof(strItemText);
|
strItemText = m_ctrlGridAFMRecipeInfo.GetItemText(4, 1);
|
pRcpAFMRecipeInfo->m_nAFMOffMode = _ttoi(strItemText);
|
strItemText = m_ctrlGridAFMRecipeInfo.GetItemText(5, 1);
|
pRcpAFMRecipeInfo->m_bAFMHomeOffMode = _ttoi(strItemText);
|
|
|
//zoom Idx
|
CGridCellCombo* pCellCombo = (CGridCellCombo*)m_ctrlGridAFMRecipeInfo.GetCell(nRowIdx+1, nColIdx);
|
if(pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
strItemText = pCellCombo->GetText();
|
pCellCombo->GetOptions(strArrayOption);
|
nArrayCount = (int)strArrayOption.GetCount();
|
for(j = 0; j < nArrayCount; j++)
|
{
|
strTemp = strArrayOption.GetAt(j);
|
if(strTemp.Compare(strItemText) == 0)
|
{
|
pRcpAFMRecipeInfo->m_nZoomIndex = j;
|
break;
|
}
|
}
|
}
|
nColIdx++;
|
}
|
}
|
else
|
{
|
//Review
|
//����
|
nColIdx = 1;
|
pRcpRsReviewManager->GetRsRcpReviewInfo()->SetRcpLightInfoCount(m_nLightCount);
|
pRcpRsReviewManager->GetRsRcpReviewInfo()->m_bAutoLight = m_ctrlAutoLight.GetCheck();
|
|
for(i = 0; i < m_nLightCount; i++)
|
{
|
nRowIdx = 1;
|
CRcpLightInfo* pRcpLightInfo = pRcpRsReviewManager->GetRsRcpReviewInfo()->GetRcpLightInfo(i);
|
if(pRcpLightInfo == NULL) continue;
|
|
strItemText = m_ctrlGridLightInfo.GetItemText(nRowIdx++, nColIdx);
|
pRcpLightInfo->m_nLightLevel = _ttoi(strItemText);
|
|
strItemText = m_ctrlGridLightInfo.GetItemText(nRowIdx++, nColIdx);
|
pRcpLightInfo->m_nMinThresLevel = _ttoi(strItemText);
|
|
strItemText = m_ctrlGridLightInfo.GetItemText(nRowIdx++, nColIdx);
|
pRcpLightInfo->m_nMaxThresLevel = _ttoi(strItemText);
|
|
strItemText = m_ctrlGridLightInfo.GetItemText(nRowIdx++, nColIdx);
|
pRcpLightInfo->m_nAutoLightStep = _ttoi(strItemText);
|
|
nColIdx++;
|
}
|
|
//AFM ������
|
nRowIdx = 1;
|
nColIdx = 1;
|
pRcpRsReviewManager->GetRsRcpReviewInfo()->SetRcpAFMRecipeInfoCount(m_nAFMCount);
|
|
for(i = 0; i < m_nAFMCount; i++)
|
{
|
CRcpAFMRecipeInfo* pRcpAFMRecipeInfo = pRcpRsReviewManager->GetRsRcpReviewInfo()->GetRcpAFMRecipeInfo(i);
|
if(pRcpAFMRecipeInfo == NULL) continue;
|
|
strItemText = m_ctrlGridAFMRecipeInfo.GetItemText(nRowIdx, nColIdx);
|
pRcpAFMRecipeInfo->m_nRecipeIndex = _ttoi(strItemText);
|
strItemText = m_ctrlGridAFMRecipeInfo.GetItemText(3, 1);
|
pRcpAFMRecipeInfo->m_dZPosOffset = _ttof(strItemText);
|
strItemText = m_ctrlGridAFMRecipeInfo.GetItemText(4, 1);
|
pRcpAFMRecipeInfo->m_nAFMOffMode = _ttoi(strItemText);
|
strItemText = m_ctrlGridAFMRecipeInfo.GetItemText(5, 1);
|
pRcpAFMRecipeInfo->m_bAFMHomeOffMode = _ttoi(strItemText);
|
//zoom Idx
|
CGridCellCombo* pCellCombo = (CGridCellCombo*)m_ctrlGridAFMRecipeInfo.GetCell(nRowIdx+1, nColIdx);
|
if(pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
strItemText = pCellCombo->GetText();
|
pCellCombo->GetOptions(strArrayOption);
|
nArrayCount = (int)strArrayOption.GetCount();
|
for(j = 0; j < nArrayCount; j++)
|
{
|
strTemp = strArrayOption.GetAt(j);
|
if(strTemp.Compare(strItemText) == 0)
|
{
|
pRcpAFMRecipeInfo->m_nZoomIndex = j;
|
break;
|
}
|
}
|
}
|
nColIdx++;
|
}
|
}
|
}
|
|
void CDlgReview::SetFilterInfo(int nType)
|
{
|
UpdateData(TRUE);
|
|
//���� dlg ��������
|
CReviewRecipeEditorDlg* pDlg = (CReviewRecipeEditorDlg*)AfxGetMainWnd();
|
if(pDlg == NULL) return;
|
|
//���� �Ŵ���
|
CRcp_RsReviewManager* pRcpRsReviewManager = NULL;
|
pRcpRsReviewManager = pDlg->GetRsReviewManager();
|
if(pRcpRsReviewManager == NULL) return;
|
|
CRsRcpReviewInfo* pRsRcpReviewInfo = pRcpRsReviewManager->GetRsRcpReviewInfo();
|
if (pRsRcpReviewInfo == NULL) return;
|
|
CRcpSchedulingInfo* pScheduleInfo = pRsRcpReviewInfo->GetRcpSchedulingInfo();
|
if (pScheduleInfo == NULL) return;
|
|
CGridCellCheck* pCellCheck = NULL;
|
CGridCellCombo* pCellCombo = NULL;
|
CGridCell* pCell = NULL;
|
int nRowIdx, nColIdx, j, nArrayCount;
|
CString strItemText, strTemp;
|
CStringArray strArrayOption;
|
int nCountError = 0;
|
|
// Wsi
|
if(nType)
|
{
|
pRsRcpReviewInfo->SetRcpWsiPriorityInfoCount(m_nFilterCount);
|
nRowIdx = 1;
|
for(int i=0;i<m_nFilterCount;i++)
|
{
|
nColIdx = 1;
|
CRcpPriorityInfo* pRcpPriorityInfo = pRsRcpReviewInfo->GetRcpWsiPriorityInfo(i);
|
if(pRcpPriorityInfo == NULL) continue;
|
|
// optic
|
//pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx++);
|
//if(pCellCombo)
|
//{
|
// strArrayOption.RemoveAll();
|
// strItemText = pCellCombo->GetText();
|
// pCellCombo->GetOptions(strArrayOption);
|
// nArrayCount = (int)strArrayOption.GetCount();
|
|
// for(j = 0; j < nArrayCount; j++)
|
// {
|
// strTemp = strArrayOption.GetAt(j);
|
// if(strTemp.Compare(strItemText) == 0)
|
// {
|
// //pRcpPriorityInfo->SetPriorityOpticData(j);//20210608
|
// pRcpPriorityInfo->SetPriorityDefectCode(j);
|
// break;
|
// }
|
// }
|
//}
|
|
//LYW #3428 CF AOI Review Recipe Editor 리뷰 우선순위 조건 타입 변경기능 적용 및 검증 MOD START
|
strItemText.Format(_T("%s"), m_ctrlGridFilterinfo.GetItemText(nRowIdx, nColIdx++));
|
pRcpPriorityInfo->SetPriorityDefectCode(strItemText);
|
//LYW #3428 CF AOI Review Recipe Editor 리뷰 우선순위 조건 타입 변경기능 적용 및 검증 MOD END
|
|
pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx++);
|
if(pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
strItemText = pCellCombo->GetText();
|
pCellCombo->GetOptions(strArrayOption);
|
nArrayCount = (int)strArrayOption.GetCount();
|
|
for(j = 0; j < nArrayCount; j++)
|
{
|
strTemp = strArrayOption.GetAt(j);
|
if(strTemp.Compare(strItemText) == 0)
|
{
|
pRcpPriorityInfo->SetPriorityGradeData(j);
|
break;
|
}
|
}
|
}
|
|
pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx++);
|
if(pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
strItemText = pCellCombo->GetText();
|
pCellCombo->GetOptions(strArrayOption);
|
nArrayCount = (int)strArrayOption.GetCount();
|
|
for(j = 0; j < nArrayCount; j++)
|
{
|
strTemp = strArrayOption.GetAt(j);
|
if(strTemp.Compare(strItemText) == 0)
|
{
|
pRcpPriorityInfo->SetPriorityStackData(j);
|
break;
|
}
|
}
|
}
|
|
pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx++);
|
if(pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
strItemText = pCellCombo->GetText();
|
pCellCombo->GetOptions(strArrayOption);
|
nArrayCount = (int)strArrayOption.GetCount();
|
|
for(j = 0; j < nArrayCount; j++)
|
{
|
strTemp = strArrayOption.GetAt(j);
|
if(strTemp.Compare(strItemText) == 0)
|
{
|
pRcpPriorityInfo->SetPriorityGrayData(j);
|
break;
|
}
|
}
|
}
|
|
pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx++);
|
if (pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
strItemText = pCellCombo->GetText();
|
pCellCombo->GetOptions(strArrayOption);
|
nArrayCount = (int)strArrayOption.GetCount();
|
|
for (j = 0; j < nArrayCount; j++)
|
{
|
strTemp = strArrayOption.GetAt(j);
|
if (strTemp.Compare(strItemText) == 0)
|
{
|
pRcpPriorityInfo->SetPriorityModelData(j);
|
break;
|
}
|
}
|
}
|
|
|
pCellCheck = (CGridCellCheck*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx++);
|
if(pCellCheck) pRcpPriorityInfo->SetPriorityDefectSizeOption(pCellCheck->GetCheck());
|
|
nRowIdx++;
|
}
|
}
|
// Review
|
else
|
{
|
pRsRcpReviewInfo->SetRcpPriorityInfoCount(m_nFilterCount);
|
nRowIdx = 1;
|
for(int i=0;i<m_nFilterCount;i++)
|
{
|
nColIdx = 1;
|
CRcpPriorityInfo* pRcpPriorityInfo = pRsRcpReviewInfo->GetRcpPriorityInfo(i);
|
if(pRcpPriorityInfo == NULL) continue;
|
|
//pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx++);
|
//if(pCellCombo)
|
//{
|
// strArrayOption.RemoveAll();
|
// strItemText = pCellCombo->GetText();
|
// pCellCombo->GetOptions(strArrayOption);
|
// nArrayCount = (int)strArrayOption.GetCount();
|
|
// for(j = 0; j < nArrayCount; j++)
|
// {
|
// strTemp = strArrayOption.GetAt(j);
|
// if(strTemp.Compare(strItemText) == 0)
|
// {
|
// //pRcpPriorityInfo->SetPriorityOpticData(j); //20210608
|
// pRcpPriorityInfo->SetPriorityDefectCode(j);
|
// break;
|
// }
|
// }
|
//}
|
|
//LYW #3428 CF AOI Review Recipe Editor 리뷰 우선순위 조건 타입 변경기능 적용 및 검증 MOD START
|
strItemText.Format(_T("%s"), m_ctrlGridFilterinfo.GetItemText(nRowIdx, nColIdx++));
|
pRcpPriorityInfo->SetPriorityDefectCode(strItemText);
|
//LYW #3428 CF AOI Review Recipe Editor 리뷰 우선순위 조건 타입 변경기능 적용 및 검증 MOD END
|
|
pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx++);
|
if(pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
strItemText = pCellCombo->GetText();
|
pCellCombo->GetOptions(strArrayOption);
|
nArrayCount = (int)strArrayOption.GetCount();
|
|
for(j = 0; j < nArrayCount; j++)
|
{
|
strTemp = strArrayOption.GetAt(j);
|
if(strTemp.Compare(strItemText) == 0)
|
{
|
pRcpPriorityInfo->SetPriorityGradeData(j);
|
break;
|
}
|
}
|
}
|
|
pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx++);
|
if(pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
strItemText = pCellCombo->GetText();
|
pCellCombo->GetOptions(strArrayOption);
|
nArrayCount = (int)strArrayOption.GetCount();
|
|
for(j = 0; j < nArrayCount; j++)
|
{
|
strTemp = strArrayOption.GetAt(j);
|
if(strTemp.Compare(strItemText) == 0)
|
{
|
pRcpPriorityInfo->SetPriorityStackData(j);
|
break;
|
}
|
}
|
}
|
|
pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx++);
|
if(pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
strItemText = pCellCombo->GetText();
|
pCellCombo->GetOptions(strArrayOption);
|
nArrayCount = (int)strArrayOption.GetCount();
|
|
for(j = 0; j < nArrayCount; j++)
|
{
|
strTemp = strArrayOption.GetAt(j);
|
if(strTemp.Compare(strItemText) == 0)
|
{
|
pRcpPriorityInfo->SetPriorityGrayData(j);
|
break;
|
}
|
}
|
}
|
|
|
pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx++);
|
if (pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
strItemText = pCellCombo->GetText();
|
pCellCombo->GetOptions(strArrayOption);
|
nArrayCount = (int)strArrayOption.GetCount();
|
|
for (j = 0; j < nArrayCount; j++)
|
{
|
strTemp = strArrayOption.GetAt(j);
|
if (strTemp.Compare(strItemText) == 0)
|
{
|
pRcpPriorityInfo->SetPriorityModelData(j);
|
break;
|
}
|
}
|
}
|
|
|
pCellCheck = (CGridCellCheck*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx++);
|
if(pCellCheck) pRcpPriorityInfo->SetPriorityDefectSizeOption(pCellCheck->GetCheck());
|
|
nRowIdx++;
|
}
|
}
|
|
CRcpSortingInfo* pRcpSortInfo = NULL;
|
|
if(nType)
|
{
|
pRcpSortInfo = pRcpRsReviewManager->GetRsRcpReviewInfo()->GetRcpWSISortInfo();
|
}
|
else
|
{
|
pRcpSortInfo = pRcpRsReviewManager->GetRsRcpReviewInfo()->GetRcpReviewSortInfo();
|
}
|
if(pRcpSortInfo == NULL) return;
|
|
if(m_ctrlSortType.GetCheck()) pRcpSortInfo->m_nSortType=0;
|
else pRcpSortInfo->m_nSortType=1;
|
|
if(m_ctrlSortOrder.GetCheck()) pRcpSortInfo->m_nSortData=0;
|
else pRcpSortInfo->m_nSortData=1;
|
|
pRcpSortInfo->m_nSortPriority = m_comboctrlSortPriority.GetCurSel();
|
|
if(m_ctrlDefocusAlarm.GetCheck()) pRsRcpReviewInfo->m_bDefocusUse = 1;
|
else pRsRcpReviewInfo->m_bDefocusUse = 0;
|
|
pRsRcpReviewInfo->m_dDefocusValue = m_dDefocusValue;
|
|
if (nCountError)
|
{
|
AfxMessageBox(_T("Priority count is larger than max point"));
|
m_ctrlGridFilterinfo.SetFocusCell(nCountError,nColIdx);
|
m_ctrlGridFilterinfo.Invalidate(FALSE);
|
}
|
|
UpdateData(FALSE);
|
}
|
|
void CDlgReview::InitLightInfoGridControl()
|
{
|
CReviewRecipeEditorDlg* pDlg = (CReviewRecipeEditorDlg*)AfxGetMainWnd();
|
if (pDlg==NULL) return;
|
|
const CSystemInfo *pSystemInfo = pDlg->GetSys_SystemInfo();
|
if (pSystemInfo==NULL) return;
|
|
int nLightCount = 0; // ��� ������ ���� ���� ������
|
int nGantryCount = pSystemInfo->GetGantryInfoCount();
|
for(int nGantryIdx=0; nGantryIdx<nGantryCount; nGantryIdx++)
|
{
|
const CGantryInfo *pGantryInfo = pSystemInfo->GetGantryInfo(nGantryIdx);
|
if (pGantryInfo==NULL) continue;
|
nLightCount += pGantryInfo->GetHeaderInfoCount();
|
}
|
|
m_nLightCount = nLightCount;
|
|
int nRows = LIGHT_INFO_GRID_ROW_COUNT;
|
int nCols = nLightCount + 1;
|
int nFixRows = 1;
|
int nFixCols = 1;
|
int nRowIdx = 0;
|
int nColIdx = 0;
|
|
CRect rect;
|
m_ctrlGridLightInfo.GetWindowRect(&rect);
|
m_ctrlGridLightInfo.GetDefaultCell(FALSE, FALSE)->SetBackClr(RGB(0xFF, 0xFF, 0xE0));
|
m_ctrlGridLightInfo.SetRowCount(nRows);
|
m_ctrlGridLightInfo.SetColumnCount(nCols);
|
m_ctrlGridLightInfo.SetFixedRowCount(nFixRows);
|
m_ctrlGridLightInfo.SetFixedColumnCount(nFixCols);
|
|
CString strTemp = _T("");
|
GV_ITEM Item;
|
Item.mask = GVIF_TEXT;
|
Item.row = nRowIdx;
|
Item.col = nColIdx;
|
strTemp.Format(_T("Index"));//_T("���"));
|
Item.strText = strTemp;
|
m_ctrlGridLightInfo.SetItem(&Item);
|
m_ctrlGridLightInfo.SetColumnWidth(nColIdx, 100);
|
|
nRowIdx++;
|
Item.row = nRowIdx;
|
Item.col = nColIdx;
|
strTemp.Format(_T("Light Level (gLv)"));//_T("���� ��"));
|
Item.strText = strTemp;
|
m_ctrlGridLightInfo.SetItem(&Item);
|
|
nRowIdx++;
|
Item.row = nRowIdx;
|
Item.col = nColIdx;
|
strTemp.Format(_T("Min Level (gLv)"));//_T("�ּ� ���� ��"));
|
Item.strText = strTemp;
|
m_ctrlGridLightInfo.SetItem(&Item);
|
|
nRowIdx++;
|
Item.row = nRowIdx;
|
Item.col = nColIdx;
|
strTemp.Format(_T("Max Level (gLv)"));//_T("�ִ� ���� ��"));
|
Item.strText = strTemp;
|
m_ctrlGridLightInfo.SetItem(&Item);
|
|
nRowIdx++;
|
Item.row = nRowIdx;
|
Item.col = nColIdx;
|
strTemp.Format(_T("Auto Light (gLv)"));//_T("�ڵ� ���� ��"));
|
Item.strText = strTemp;
|
m_ctrlGridLightInfo.SetItem(&Item);
|
|
int nMargin = 5;
|
int nDataColumnWidth = 0;
|
if (nLightCount>0)
|
{
|
nDataColumnWidth = (rect.Width() - 100 - nMargin) / nLightCount;
|
}
|
|
nRowIdx = 0;
|
nColIdx = 1;
|
Item.row = nRowIdx;
|
for(int nLightIdx = 0; nLightIdx < nLightCount; nLightIdx++)
|
{
|
Item.col = nColIdx;
|
strTemp.Format(_T("%02d"), nLightIdx);
|
Item.strText = strTemp;
|
m_ctrlGridLightInfo.SetItem(&Item);
|
m_ctrlGridLightInfo.SetColumnWidth(nColIdx++, nDataColumnWidth);
|
}
|
}
|
|
void CDlgReview::FillLightInfoInfo(int nType)
|
{
|
int i, nRowIdx, nColIdx, nLightCount;
|
CString strItemText;
|
CRcp_RsReviewManager* pRcpRsReviewManager = NULL;
|
CReviewRecipeEditorDlg* pDlg = (CReviewRecipeEditorDlg*)AfxGetMainWnd();
|
if(pDlg == NULL) return;
|
|
pRcpRsReviewManager = pDlg->GetRsReviewManager();
|
if(pRcpRsReviewManager == NULL) return;
|
|
|
// [2016:11:2]-[WEZASW] : WSI(1)/Review(0) Type �и�
|
if(nType)
|
{
|
m_ctrlAutoLight.SetCheck(pRcpRsReviewManager->GetRsRcpReviewInfo()->GetWsiAutoLight());
|
|
nLightCount = pRcpRsReviewManager->GetRsRcpReviewInfo()->GetRcpWsiLightInfoCount();
|
|
nColIdx = 1;
|
for(i = 0; i < nLightCount; i++)
|
{
|
nRowIdx = 1;
|
|
CRcpLightInfo* pRcpLightInfoWsi = pRcpRsReviewManager->GetRsRcpReviewInfo()->GetRcpWsiLightInfo(i);
|
if(pRcpLightInfoWsi == NULL) continue;
|
|
strItemText.Format(_T("%d"), pRcpLightInfoWsi->m_nLightLevel);
|
m_ctrlGridLightInfo.SetItemText(nRowIdx++, nColIdx, strItemText);
|
|
strItemText.Format(_T("%d"), pRcpLightInfoWsi->m_nMinThresLevel);
|
m_ctrlGridLightInfo.SetItemText(nRowIdx++, nColIdx, strItemText);
|
|
strItemText.Format(_T("%d"), pRcpLightInfoWsi->m_nMaxThresLevel);
|
m_ctrlGridLightInfo.SetItemText(nRowIdx++, nColIdx, strItemText);
|
|
strItemText.Format(_T("%d"), pRcpLightInfoWsi->m_nAutoLightStep);
|
m_ctrlGridLightInfo.SetItemText(nRowIdx++, nColIdx, strItemText);
|
|
nColIdx++;
|
}
|
m_ctrlGridLightInfo.Invalidate(FALSE);
|
}
|
else
|
{
|
m_ctrlAutoLight.SetCheck(pRcpRsReviewManager->GetRsRcpReviewInfo()->GetAutoLight());
|
|
nLightCount = pRcpRsReviewManager->GetRsRcpReviewInfo()->GetRcpLightInfoCount();
|
|
nColIdx = 1;
|
for(i = 0; i < nLightCount; i++)
|
{
|
nRowIdx = 1;
|
|
CRcpLightInfo* pRcpLightInfo = pRcpRsReviewManager->GetRsRcpReviewInfo()->GetRcpLightInfo(i);
|
if(pRcpLightInfo == NULL) continue;
|
|
strItemText.Format(_T("%d"), pRcpLightInfo->m_nLightLevel);
|
m_ctrlGridLightInfo.SetItemText(nRowIdx++, nColIdx, strItemText);
|
|
strItemText.Format(_T("%d"), pRcpLightInfo->m_nMinThresLevel);
|
m_ctrlGridLightInfo.SetItemText(nRowIdx++, nColIdx, strItemText);
|
|
strItemText.Format(_T("%d"), pRcpLightInfo->m_nMaxThresLevel);
|
m_ctrlGridLightInfo.SetItemText(nRowIdx++, nColIdx, strItemText);
|
|
strItemText.Format(_T("%d"), pRcpLightInfo->m_nAutoLightStep);
|
m_ctrlGridLightInfo.SetItemText(nRowIdx++, nColIdx, strItemText);
|
|
nColIdx++;
|
}
|
m_ctrlGridLightInfo.Invalidate(FALSE);
|
}
|
}
|
|
void CDlgReview::InitAFMRecipeGridControl()
|
{
|
CReviewRecipeEditorDlg* pDlg = (CReviewRecipeEditorDlg*)AfxGetMainWnd();
|
if (pDlg==NULL) return;
|
|
const CSystemInfo* pSystemInfo = pDlg->GetSys_SystemInfo();
|
if (pSystemInfo==NULL) return;
|
|
CString strTemp = _T("");
|
CStringArray strArrayOption[2];
|
|
int nLensCount = 0;
|
int nAFMCount = 0;
|
int nGantryCount = pSystemInfo->GetGantryInfoCount();
|
for(int nGantryIdx = 0; nGantryIdx < nGantryCount; nGantryIdx++)
|
{
|
const CGantryInfo *pGantryInfo = pSystemInfo->GetGantryInfo(nGantryIdx);
|
if (pGantryInfo==NULL) continue;
|
int nHeaderCount = pGantryInfo->GetHeaderInfoCount();
|
for (int nHeaderIdx=0; nHeaderIdx<nHeaderCount; nHeaderIdx++)
|
{
|
const CHeaderInfo *pHeaderInfo = pGantryInfo->GetHeaderInfo(nHeaderIdx);
|
if (pHeaderInfo==NULL) continue;
|
nAFMCount += pHeaderInfo->GetAFMInfoCount();
|
|
//[2017:6:2]-[WEZASW] : SystemSetting�� �������� �������� ����(���õ� ���� ������ ����)
|
nLensCount = pHeaderInfo->GetMagnificInfoCount();
|
|
for (int nLensIdx=0; nLensIdx<nLensCount; nLensIdx++)
|
{
|
const CMagnificInfo* pMagnificInfo = pHeaderInfo->GetMagnificInfo(nLensIdx);
|
if (pMagnificInfo==NULL) continue;
|
|
// 2017.12.21 smok. �� �� �̻��� gantry / header �� AFM ���� ǥ�� �̻�.
|
// strArrayOption[nHeaderIdx].Add(pMagnificInfo->m_strMagnificName);
|
strArrayOption[nGantryIdx].Add(pMagnificInfo->m_strMagnificName);
|
}
|
}
|
}
|
|
m_nAFMCount = nAFMCount;
|
|
if(m_nAFMCount > 0)
|
{
|
int nRows = AFM_RECIPE_INFO_GRID_ROW_COUNT;
|
int nCols = m_nAFMCount + 1;
|
int nFixRows = 1;
|
int nFixCols = 1;
|
int nRowIdx = 0;
|
int nColIdx = 0;
|
|
CRect rect;
|
m_ctrlGridAFMRecipeInfo.GetWindowRect(&rect);
|
m_ctrlGridAFMRecipeInfo.GetDefaultCell(FALSE, FALSE)->SetBackClr(RGB(0xFF, 0xFF, 0xE0));
|
m_ctrlGridAFMRecipeInfo.SetRowCount(nRows);
|
m_ctrlGridAFMRecipeInfo.SetColumnCount(nCols);
|
m_ctrlGridAFMRecipeInfo.SetFixedRowCount(nFixRows);
|
m_ctrlGridAFMRecipeInfo.SetFixedColumnCount(nFixCols);
|
|
GV_ITEM Item;
|
|
Item.mask = GVIF_TEXT;
|
Item.row = nRowIdx;
|
Item.col = nColIdx;
|
strTemp.Format(_T("Index"));//_T("���"));
|
Item.strText = strTemp;
|
m_ctrlGridAFMRecipeInfo.SetItem(&Item);
|
m_ctrlGridAFMRecipeInfo.SetColumnWidth(nColIdx, 100);
|
|
nRowIdx++;
|
Item.row = nRowIdx;
|
Item.col = nColIdx;
|
strTemp.Format(_T("Recipe Index"));//_T("������ ���"));
|
Item.strText = strTemp;
|
m_ctrlGridAFMRecipeInfo.SetItem(&Item);
|
|
nRowIdx++;
|
Item.row = nRowIdx;
|
Item.col = nColIdx;
|
strTemp.Format(_T("Magnific Index"));//_T("���� ���"));
|
Item.strText = strTemp;
|
m_ctrlGridAFMRecipeInfo.SetItem(&Item);
|
|
nRowIdx++;
|
Item.row = nRowIdx;
|
Item.col = nColIdx;
|
strTemp.Format(_T("AFM ZPos Offset"));
|
Item.strText = strTemp;
|
m_ctrlGridAFMRecipeInfo.SetItem(&Item);
|
|
nRowIdx++;
|
Item.row = nRowIdx;
|
Item.col = nColIdx;
|
strTemp.Format(_T("AFM Off Mode"));
|
Item.strText = strTemp;
|
m_ctrlGridAFMRecipeInfo.SetItem(&Item);
|
|
nRowIdx++;
|
Item.row = nRowIdx;
|
Item.col = nColIdx;
|
strTemp.Format(_T("AFM Home OFF"));
|
Item.strText = strTemp;
|
m_ctrlGridAFMRecipeInfo.SetItem(&Item);
|
|
int nMargin = 5;
|
int nDataColumnWidth = (rect.Width() - 100 - nMargin) / m_nAFMCount;
|
|
nRowIdx = 0;
|
nColIdx = 1;
|
Item.row = nRowIdx;
|
for(int nAFMIdx = 0; nAFMIdx < m_nAFMCount; nAFMIdx++)
|
{
|
Item.col = nColIdx;
|
strTemp.Format(_T("%02d"), nAFMIdx);
|
Item.strText = strTemp;
|
m_ctrlGridAFMRecipeInfo.SetItem(&Item);
|
m_ctrlGridAFMRecipeInfo.SetColumnWidth(nColIdx, nDataColumnWidth);
|
nColIdx++;
|
}
|
|
nRowIdx = 2;
|
nColIdx = 1;
|
Item.row = nRowIdx;
|
for(int nAFMIdx = 0; nAFMIdx < m_nAFMCount; nAFMIdx++)
|
{
|
Item.col = nColIdx;
|
m_ctrlGridAFMRecipeInfo.SetCellType(nRowIdx, nColIdx, RUNTIME_CLASS(CGridCellCombo));
|
CGridCellCombo* pCellCombo = (CGridCellCombo*)m_ctrlGridAFMRecipeInfo.GetCell(nRowIdx, nColIdx);
|
if (pCellCombo)
|
{
|
pCellCombo->SetOptions(strArrayOption[nAFMIdx]);
|
pCellCombo->SetStyle(CBS_DROPDOWN);
|
}
|
nColIdx++;
|
}
|
}
|
}
|
|
void CDlgReview::FillAFMRecipeInfo(int nType)
|
{
|
int i, nRowIdx, nColIdx, nAFMCount;
|
CString strItemText;
|
CRcp_RsReviewManager* pRcpRsReviewManager = NULL;
|
CReviewRecipeEditorDlg* pDlg = (CReviewRecipeEditorDlg*)AfxGetMainWnd();
|
if(pDlg == NULL) return;
|
|
CStringArray strArrayOption;
|
|
pRcpRsReviewManager = pDlg->GetRsReviewManager();
|
if(pRcpRsReviewManager == NULL) return;
|
|
// [2016:11:2]-[WEZASW] : WSI(1)/Review(0) Type �и�
|
if(nType)
|
{
|
nAFMCount = pRcpRsReviewManager->GetRsRcpReviewInfo()->GetRcpWsiAFMRecipeInfoCount();
|
|
nRowIdx = 1;
|
nColIdx = 1;
|
for(i = 0; i < nAFMCount; i++)
|
{
|
CRcpAFMRecipeInfo* pRcpAFMRecipeInfo = pRcpRsReviewManager->GetRsRcpReviewInfo()->GetRcpWsiAFMRecipeInfo(i);
|
if(pRcpAFMRecipeInfo == NULL) continue;
|
|
strItemText.Format(_T("%d"), pRcpAFMRecipeInfo->m_nRecipeIndex);
|
m_ctrlGridAFMRecipeInfo.SetItemText(nRowIdx, nColIdx++, strItemText);
|
strItemText.Format(_T("%lf"), pRcpAFMRecipeInfo->m_dZPosOffset);
|
m_ctrlGridAFMRecipeInfo.SetItemText(3, 1, strItemText);
|
strItemText.Format(_T("%d"), pRcpAFMRecipeInfo->m_nAFMOffMode);
|
m_ctrlGridAFMRecipeInfo.SetItemText(4, 1, strItemText);
|
strItemText.Format(_T("%d"), pRcpAFMRecipeInfo->m_bAFMHomeOffMode);
|
m_ctrlGridAFMRecipeInfo.SetItemText(5, 1, strItemText);
|
|
}
|
|
nRowIdx++;
|
nColIdx = 1;
|
for(i = 0; i < nAFMCount; i++)
|
{
|
CRcpAFMRecipeInfo* pRcpAFMRecipeInfo = pRcpRsReviewManager->GetRsRcpReviewInfo()->GetRcpWsiAFMRecipeInfo(i);
|
if(pRcpAFMRecipeInfo == NULL) continue;
|
|
CGridCellCombo* pCellCombo = (CGridCellCombo*)m_ctrlGridAFMRecipeInfo.GetCell(nRowIdx, nColIdx);
|
if(pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
pCellCombo->GetOptions(strArrayOption);
|
if(strArrayOption.GetSize() > 0 && pRcpAFMRecipeInfo->m_nZoomIndex > -1)
|
{
|
strItemText = strArrayOption.GetAt(pRcpAFMRecipeInfo->m_nZoomIndex);
|
m_ctrlGridAFMRecipeInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
}
|
}
|
nColIdx++;
|
}
|
m_ctrlGridAFMRecipeInfo.Invalidate(FALSE);
|
}
|
else
|
{
|
nAFMCount = pRcpRsReviewManager->GetRsRcpReviewInfo()->GetRcpAFMRecipeInfoCount();
|
|
nRowIdx = 1;
|
nColIdx = 1;
|
for(i = 0; i < nAFMCount; i++)
|
{
|
CRcpAFMRecipeInfo* pRcpAFMRecipeInfo = pRcpRsReviewManager->GetRsRcpReviewInfo()->GetRcpAFMRecipeInfo(i);
|
if(pRcpAFMRecipeInfo == NULL) continue;
|
|
strItemText.Format(_T("%d"), pRcpAFMRecipeInfo->m_nRecipeIndex);
|
m_ctrlGridAFMRecipeInfo.SetItemText(nRowIdx, nColIdx++, strItemText);
|
strItemText.Format(_T("%lf"), pRcpAFMRecipeInfo->m_dZPosOffset);
|
m_ctrlGridAFMRecipeInfo.SetItemText(3, 1, strItemText);
|
strItemText.Format(_T("%d"), pRcpAFMRecipeInfo->m_nAFMOffMode);
|
m_ctrlGridAFMRecipeInfo.SetItemText(4, 1, strItemText);
|
strItemText.Format(_T("%d"), pRcpAFMRecipeInfo->m_bAFMHomeOffMode);
|
m_ctrlGridAFMRecipeInfo.SetItemText(5, 1, strItemText);
|
}
|
|
nRowIdx++;
|
nColIdx = 1;
|
for(i = 0; i < nAFMCount; i++)
|
{
|
CRcpAFMRecipeInfo* pRcpAFMRecipeInfo = pRcpRsReviewManager->GetRsRcpReviewInfo()->GetRcpAFMRecipeInfo(i);
|
if(pRcpAFMRecipeInfo == NULL) continue;
|
|
CGridCellCombo* pCellCombo = (CGridCellCombo*)m_ctrlGridAFMRecipeInfo.GetCell(nRowIdx, nColIdx);
|
if(pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
pCellCombo->GetOptions(strArrayOption);
|
if(strArrayOption.GetSize() > 0 && pRcpAFMRecipeInfo->m_nZoomIndex > -1)
|
{
|
strItemText = strArrayOption.GetAt(pRcpAFMRecipeInfo->m_nZoomIndex);
|
m_ctrlGridAFMRecipeInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
}
|
}
|
nColIdx++;
|
}
|
m_ctrlGridAFMRecipeInfo.Invalidate(FALSE);
|
}
|
}
|
|
void CDlgReview::OnEnChangeEditRcpFilterCount()
|
{
|
UpdateData(TRUE);
|
|
int j, nRowIdx, nColIdx;
|
CString strTemp;
|
CString strTriangleRecipePath;
|
CRect rect;
|
|
m_ctrlGridFilterinfo.GetWindowRect(&rect);
|
m_ctrlGridFilterinfo.SetRowCount(m_nFilterCount + 1);
|
|
if(m_nFilterCount > 0)
|
{
|
GV_ITEM Item;
|
CStringArray strArrayOption;
|
CGridCellCombo* pCellCombo = NULL;
|
CGridCell* pCell = NULL;
|
nRowIdx = 1;
|
nColIdx = 1;
|
VectorInteger intArrayOption;
|
|
int nPointIdx = 0;
|
|
for (int nResultIdx=0; nResultIdx<m_nFilterCount; nResultIdx++)
|
{
|
//���
|
nColIdx = 0;
|
Item.mask = GVIF_TEXT;
|
Item.row = nRowIdx;
|
Item.col = nColIdx;
|
strTemp.Format(_T("%02d"), nPointIdx++);
|
Item.strText = strTemp;
|
m_ctrlGridFilterinfo.SetItem(&Item);
|
|
// optic
|
nColIdx++;
|
strArrayOption.RemoveAll();
|
/*for(j = 0; j < RCP_PRIORITY_ORDER_COUNT; j++)
|
{
|
switch(j)
|
{
|
case RCP_PRIORITY_ORDER_ALL:
|
strTemp.Format(_T("ALL"));
|
break;
|
case RCP_PRIORITY_ORDER_CRACK:
|
strTemp.Format(_T("CRACK"));
|
break;
|
case RCP_PRIORITY_ORDER_PARTICLE:
|
strTemp.Format(_T("PARTICLE"));
|
break;
|
case RCP_PRIORITY_ORDER_MURA:
|
strTemp.Format(_T("MURA"));
|
break;
|
case RCP_PRIORITY_ORDER_MHP:
|
strTemp.Format(_T("PROTRUDE"));
|
break;
|
case RCP_PRIORITY_ORDER_MHD:
|
strTemp.Format(_T("DENT"));
|
break;
|
case RCP_PRIORITY_ORDER_TFE:
|
strTemp.Format(_T("TFE_ABNORMAL"));
|
break;
|
case RCP_PRIORITY_ORDER_BL:
|
strTemp.Format(_T("BUBBLE"));
|
break;
|
case RCP_PRIORITY_ORDER_SCR:
|
strTemp.Format(_T("SCRATCH"));
|
break;
|
}
|
strArrayOption.Add(strTemp);
|
}*/
|
//for (j = 0; j < RCP_PRIORITY_DEFECTCODE_COUNT; j++)//20210608
|
//{
|
// switch (j)
|
// {
|
// case RCP_PRIORITY_DEFECT_CODE_ALL:
|
// strTemp.Format(_T("ALL"));
|
// break;
|
// case RCP_PRIORITY_DEFECT_CODE_TRDF:
|
// strTemp.Format(_T("TRDF"));
|
// break;
|
// case RCP_PRIORITY_DEFECT_CODE_BATR:
|
// strTemp.Format(_T("BATR"));
|
// break;
|
// case RCP_PRIORITY_DEFECT_CODE_DOBB:
|
// strTemp.Format(_T("DOBB"));
|
// break;
|
// case RCP_PRIORITY_DEFECT_CODE_DOBS:
|
// strTemp.Format(_T("DOBS"));
|
// break;
|
// case RCP_PRIORITY_DEFECT_CODE_DOWW:
|
// strTemp.Format(_T("DOWW"));
|
// break;
|
// case RCP_PRIORITY_DEFECT_CODE_DOWB:
|
// strTemp.Format(_T("DOWB"));
|
// break;
|
// case RCP_PRIORITY_DEFECT_CODE_DOWS:
|
// strTemp.Format(_T("DOWS"));
|
// break;
|
// }
|
// strArrayOption.Add(strTemp);
|
//}
|
//m_ctrlGridFilterinfo.SetCellType(nRowIdx, nColIdx, RUNTIME_CLASS(CGridCellCombo));
|
//pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx++);
|
//pCellCombo->SetOptions(strArrayOption);
|
//pCellCombo->SetStyle(CBS_DROPDOWN);
|
|
nColIdx++;
|
|
strArrayOption.RemoveAll();
|
for (j = 0; j < RCP_PRIORITY_GRADE_COUNT; j++)
|
{
|
switch (j)
|
{
|
case RCP_PRIORITY_Judge_ALL:
|
strTemp.Format(_T("ALL"));
|
break;
|
case RCP_PRIORITY_Judge_OK:
|
strTemp.Format(_T("OK"));
|
break;
|
case RCP_PRIORITY_Judge_RP:
|
strTemp.Format(_T("RP"));
|
break;
|
case RCP_PRIORITY_Judge_NG:
|
strTemp.Format(_T("NG"));
|
break;
|
case RCP_PRIORITY_Judge_TR:
|
strTemp.Format(_T("TR"));
|
break;
|
case RCP_PRIORITY_Judge_PR:
|
strTemp.Format(_T("PR"));
|
break;
|
case RCP_PRIORITY_Judge_PT:
|
strTemp.Format(_T("PT"));
|
break;
|
case RCP_PRIORITY_Judge_Review:
|
strTemp.Format(_T("RV"));
|
break;
|
case RCP_PRIORITY_Judge_RC:
|
strTemp.Format(_T("RC"));
|
break;
|
case RCP_PRIORITY_Judge_Size:
|
strTemp.Format(_T("SZ"));
|
break;
|
case RCP_PRIORITY_Judge_VI:
|
strTemp.Format(_T("VI"));
|
break;
|
case RCP_PRIORITY_Judge_Rework:
|
strTemp.Format(_T("RW"));
|
break;
|
case RCP_PRIORITY_Judge_Unknown:
|
strTemp.Format(_T("OK"));
|
break;
|
|
}
|
strArrayOption.Add(strTemp);
|
}
|
m_ctrlGridFilterinfo.SetCellType(nRowIdx, nColIdx, RUNTIME_CLASS(CGridCellCombo));
|
pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx++);
|
pCellCombo->SetOptions(strArrayOption);
|
pCellCombo->SetStyle(CBS_DROPDOWN);
|
|
strArrayOption.RemoveAll();
|
for(j = 0; j < RCP_CPJT_PRIORITY_STACK_COUNT; j++)
|
{
|
switch(j)
|
{
|
case RCP_PRIORITY_CPJT_STACK_ALL:
|
strTemp.Format(_T("ALL"));
|
break;
|
|
case RCP_PRIORITY_STACK_TD:
|
strTemp.Format(_T("TD"));
|
break;
|
|
case RCP_PRIORITY_STACK_SD:
|
strTemp.Format(_T("SD"));
|
break;
|
case RCP_PRIORITY_STACK_PD:
|
strTemp.Format(_T("PD"));
|
break;
|
case RCP_PRIORITY_STACK_SP:
|
strTemp.Format(_T("SP"));
|
break;
|
}
|
strArrayOption.Add(strTemp);
|
}
|
m_ctrlGridFilterinfo.SetCellType(nRowIdx, nColIdx, RUNTIME_CLASS(CGridCellCombo));
|
pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx++);
|
pCellCombo->SetOptions(strArrayOption);
|
pCellCombo->SetStyle(CBS_DROPDOWN);
|
|
strArrayOption.RemoveAll();
|
for(j = 0; j < RCP_PRIORITY_ORDER_GRAY_COUNT; j++)
|
{
|
switch(j)
|
{
|
case RCP_PRIORITY_ORDER_GRAY_ALL:
|
strTemp.Format(_T("ALL"));
|
break;
|
case RCP_PRIORITY_ORDER_GRAY_BLACK:
|
strTemp.Format(_T("BLACK"));
|
break;
|
case RCP_PRIORITY_ORDER_GRAY_WHITE:
|
strTemp.Format(_T("WHITE"));
|
break;
|
}
|
strArrayOption.Add(strTemp);
|
}
|
m_ctrlGridFilterinfo.SetCellType(nRowIdx, nColIdx, RUNTIME_CLASS(CGridCellCombo));
|
pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx++);
|
pCellCombo->SetOptions(strArrayOption);
|
pCellCombo->SetStyle(CBS_DROPDOWN);
|
|
strArrayOption.RemoveAll();
|
for (j = 0; j < RCP_PRIORITY_MODEL_COUNT; j++)
|
{
|
switch (j)
|
{
|
case RCP_PRIORITY_MODEL_TYPE_ALL:
|
strTemp.Format(_T("ALL"));
|
break;
|
case RCP_PRIORITY_MODEL_TYPE_0:
|
strTemp.Format(_T("MODEL_0"));
|
break;
|
case RCP_PRIORITY_MODEL_TYPE_1:
|
strTemp.Format(_T("MODEL_1"));
|
break;
|
}
|
strArrayOption.Add(strTemp);
|
}
|
m_ctrlGridFilterinfo.SetCellType(nRowIdx, nColIdx, RUNTIME_CLASS(CGridCellCombo));
|
pCellCombo = (CGridCellCombo*)m_ctrlGridFilterinfo.GetCell(nRowIdx, nColIdx++);
|
pCellCombo->SetOptions(strArrayOption);
|
pCellCombo->SetStyle(CBS_DROPDOWN);
|
|
|
m_ctrlGridFilterinfo.SetCellType(nRowIdx, nColIdx, RUNTIME_CLASS(CGridCellCheck));
|
m_ctrlGridFilterinfo.SetItemState(nRowIdx, nColIdx, m_ctrlGridFilterinfo.GetItemState(nRowIdx, nColIdx) | GVIS_READONLY);
|
|
nRowIdx++;
|
}
|
}
|
}
|
|
void CDlgReview::SetReviewCount(int reviewCount)
|
{
|
m_nReviewCount = reviewCount;
|
}
|
|
int CDlgReview::GetDefectType(CString strDefectName)
|
{
|
VectorString compStr;
|
compStr.push_back(_T("CRACK"));
|
compStr.push_back(_T("PARTICLE"));
|
compStr.push_back(_T("MURA"));
|
compStr.push_back(_T("PROTRUDE"));
|
compStr.push_back(_T("DENT"));
|
compStr.push_back(_T("TFE_ABNORMAL"));
|
compStr.push_back(_T("BUBBLE"));
|
compStr.push_back(_T("SCRATCH"));
|
|
for (int v = 0;v<compStr.size(); v++)
|
{
|
if (strDefectName == compStr[v])
|
return v;
|
}
|
return -1;
|
}
|
|
void CDlgReview::OnGridClick( NMHDR *pNotifyStruct, LRESULT* pResult )
|
{
|
NM_GRIDVIEW* pItem = (NM_GRIDVIEW*) pNotifyStruct;
|
|
if(pItem->iColumn == 6)
|
{
|
UpdateData(TRUE);
|
|
CGridCellCheck* pCellCheck = (CGridCellCheck*)m_ctrlGridFilterinfo.GetCell(pItem->iRow, pItem->iColumn);
|
if(pCellCheck == NULL) return;
|
|
if(pCellCheck->GetCheck()) SizeOptionSetting((pItem->iRow-1));
|
}
|
|
return;
|
}
|
|
void CDlgReview::SizeOptionSetting(int nIndex)
|
{
|
//���� dlg ��������
|
CReviewRecipeEditorDlg* pDlg = (CReviewRecipeEditorDlg*)AfxGetMainWnd();
|
if(pDlg == NULL) return;
|
|
//���� �Ŵ���
|
CRcp_RsReviewManager* pRcpRsReviewManager = pDlg->GetRsReviewManager();
|
if(pRcpRsReviewManager == NULL) return;
|
|
CRsRcpReviewInfo* pRsRcpReviewInfo = pRcpRsReviewManager->GetRsRcpReviewInfo();
|
if (pRsRcpReviewInfo == NULL) return;
|
|
int nFilterCount, nMaxSize, nMinSize;
|
|
if(m_nType) // wsi
|
{
|
nFilterCount = pRsRcpReviewInfo->GetRcpWsiPriorityInfoCount();
|
if(nFilterCount < 1) return;
|
|
CRcpPriorityInfo* pRcpPriorityInfo = pRsRcpReviewInfo->GetRcpWsiPriorityInfo(nIndex);
|
if (pRcpPriorityInfo == NULL) return;
|
|
nMaxSize = pRcpPriorityInfo->GetPriorityDefectMaxSize();
|
nMinSize = pRcpPriorityInfo->GetPriorityDefectMinSize();
|
}
|
else // Review
|
{
|
nFilterCount = pRsRcpReviewInfo->GetRcpPriorityInfoCount();
|
if(nFilterCount < 1) return;
|
|
CRcpPriorityInfo* pRcpPriorityInfo = pRsRcpReviewInfo->GetRcpPriorityInfo(nIndex);
|
if (pRcpPriorityInfo == NULL) return;
|
|
nMaxSize = pRcpPriorityInfo->GetPriorityDefectMaxSize();
|
nMinSize = pRcpPriorityInfo->GetPriorityDefectMinSize();
|
}
|
|
CDlgFilterSizeOption FilterSizeOptionDlg;
|
FilterSizeOptionDlg.SetFilterSizeInfo(nMinSize, nMaxSize);
|
FilterSizeOptionDlg.DoModal();
|
|
if(!FilterSizeOptionDlg.m_bApplyFlag) return;
|
|
if(m_nType) // wsi
|
{
|
nFilterCount = pRsRcpReviewInfo->GetRcpWsiPriorityInfoCount();
|
if(nFilterCount < 1) return;
|
|
CRcpPriorityInfo* pRcpPriorityInfo = pRsRcpReviewInfo->GetRcpWsiPriorityInfo(nIndex);
|
if (pRcpPriorityInfo == NULL) return;
|
|
pRcpPriorityInfo->SetPriorityDefectMinSize(pRsRcpReviewInfo->m_nRsFilterMInSize);
|
pRcpPriorityInfo->SetPriorityDefectMaxSize(pRsRcpReviewInfo->m_nRsFilterMaxSize);
|
}
|
else // Review
|
{
|
nFilterCount = pRsRcpReviewInfo->GetRcpPriorityInfoCount();
|
if(nFilterCount < 1) return;
|
|
CRcpPriorityInfo* pRcpPriorityInfo = pRsRcpReviewInfo->GetRcpPriorityInfo(nIndex);
|
if (pRcpPriorityInfo == NULL) return;
|
|
pRcpPriorityInfo->SetPriorityDefectMinSize(pRsRcpReviewInfo->m_nRsFilterMInSize);
|
pRcpPriorityInfo->SetPriorityDefectMaxSize(pRsRcpReviewInfo->m_nRsFilterMaxSize);
|
}
|
}
|