// DlgRecipeChange.cpp : ±¸Çö ÆÄÀÏÀÔ´Ï´Ù.
|
//
|
|
#include "stdafx.h"
|
#include "ReviewRecipeEditor.h"
|
#include "DlgRecipeChange.h"
|
#include "afxdialogex.h"
|
#include "DlgCommon.h"
|
#include "ReviewRecipeEditorDlg.h"
|
|
// CDlgRecipeChange ´ëÈ »óÀÚÀÔ´Ï´Ù.
|
|
IMPLEMENT_DYNAMIC(CDlgRecipeChange, CDialogEx)
|
|
CDlgRecipeChange::CDlgRecipeChange(CWnd* pParent /*=NULL*/)
|
: CDialog(CDlgRecipeChange::IDD, pParent)
|
, m_nRecipeCount(0)
|
, m_nReviewCount(0)
|
, m_nWsiCount(0)
|
, m_nMagIndex(0)
|
, m_nLightLevel(0)
|
, m_nAfmOffMode(0)
|
, m_nFirstAlignLightLevel(0)
|
, m_nSecondAlignLightLevel(0)
|
{
|
|
m_nPadCount = 0;
|
}
|
|
CDlgRecipeChange::~CDlgRecipeChange()
|
{
|
}
|
|
void CDlgRecipeChange::DoDataExchange(CDataExchange* pDX)
|
{
|
CDialog::DoDataExchange(pDX);
|
DDX_Control(pDX, IDC_ALL_CHECK, CB_AllCheck);
|
DDX_Control(pDX, IDC_REVIEW_COUNT, CB_ReviewCount);
|
DDX_Control(pDX, IDC_WSI_COUNT, CB_WsiCount);
|
DDX_Control(pDX, IDC_MAG_INDEX, CB_MagIndex);
|
DDX_Control(pDX, IDC_LIGHT_LEVEL, CB_LightLevel);
|
DDX_Control(pDX, IDC_AFM_OFFMODE, CB_AfmOffMode);
|
DDX_Text(pDX, IDC_EDIT_RECIPE_COUNT, m_nRecipeCount);
|
// DDX_Text(pDX, IDC_EDIT_REVIEW_COUNT, m_nReviewCount);
|
DDX_Text(pDX, IDC_EDIT_WSI_COUNT, m_nWsiCount);
|
DDX_Text(pDX, IDC_EDIT_MAG_INDEX, m_nMagIndex);
|
DDX_Text(pDX, IDC_EDIT_LIGHT_LEVEL, m_nLightLevel);
|
DDX_Text(pDX, IDC_EDIT_AFM_OFF_MODE, m_nAfmOffMode);
|
DDX_Text(pDX, IDC_EDIT_REVIEW_COUNT, m_nReviewCount);
|
DDX_Control(pDX, IDC_RECIPE_CHANGE_PROGRESS_BAR, PG_RecipeChange);
|
DDX_Control(pDX, IDC_PAD_COUNT, CB_PadCount);
|
DDX_Text(pDX, IDC_EDIT_PAD_COUNT, m_nPadCount);
|
DDX_Control(pDX, IDC_ALGIN_LIGHT_ON, CB_ALIGN_LIGHT_ON);
|
DDX_Control(pDX, IDC_ALGIN_LIGHT_OFF, CB_ALIGN_LIGHT_OFF);
|
DDX_Text(pDX, IDC_EDIT_ALIGN_LIGHT_FIRST_LEVEL, m_nFirstAlignLightLevel);
|
DDX_Text(pDX, IDC_EDIT_ALIGN_LIGHT_SECOND_LEVEL, m_nSecondAlignLightLevel);
|
DDX_Control(pDX, IDC_ALIGN_LIGHT_LEVEL, CB_ALIGN_LIGHT_LEVEL);
|
}
|
BEGIN_MESSAGE_MAP(CDlgRecipeChange, CDialog)
|
ON_BN_CLICKED(IDC_BUTTON1, &CDlgRecipeChange::OnBnClickedButton1)
|
ON_BN_CLICKED(IDC_ALL_CHECK, &CDlgRecipeChange::OnBnClickedAllCheck)
|
ON_EN_CHANGE(IDC_EDIT_REVIEW_COUNT, &CDlgRecipeChange::OnEnChangeEditReviewCount)
|
ON_BN_CLICKED(IDC_ALGIN_LIGHT_ON, &CDlgRecipeChange::OnBnClickedAlginLightOn)
|
ON_BN_CLICKED(IDC_ALGIN_LIGHT_OFF, &CDlgRecipeChange::OnBnClickedAlginLightOff)
|
END_MESSAGE_MAP()
|
|
|
// CDlgRecipeChange ¸Þ½ÃÁö 󸮱âÀÔ´Ï´Ù.
|
|
|
void CDlgRecipeChange::OnBnClickedButton1()
|
{
|
UpdateData(TRUE);
|
CReviewRecipeEditorDlg* pRevEditordlg= CReviewRecipeEditorDlg::GetInstance();
|
if(pRevEditordlg == NULL) return;
|
|
CRcp_RsReviewManager* pRcpReviewManager = pRevEditordlg->GetRsReviewManager();
|
if(pRcpReviewManager==NULL) return;
|
|
CRsRcpReviewInfo* pRsRcpreviewinfo=pRcpReviewManager->GetRsRcpReviewInfo();
|
if(pRsRcpreviewinfo==NULL) return;
|
|
CRcp_RsAlignManager * pAlignManager = pRevEditordlg->GetRsAlignManager();
|
if(pAlignManager==NULL) return;
|
//===============================================================================
|
// pRcpAFMRecipeInfo->m_nRecipeIndex
|
int nAfmCount = pRsRcpreviewinfo->GetRcpAFMRecipeInfoCount()-1;
|
CRcpAFMRecipeInfo* pAfmRecipeinfo = pRsRcpreviewinfo->GetRcpAFMRecipeInfo(nAfmCount);
|
if(pAfmRecipeinfo==NULL) {
|
AfxMessageBox(_T("Choose one of the Recipes"));
|
return;
|
}
|
|
CRcpSchedulingInfo* pRcpSchedulinginfo = pRsRcpreviewinfo->GetRcpSchedulingInfo();
|
if(pRcpSchedulinginfo==NULL) return;
|
|
int nLightCount = pRsRcpreviewinfo->GetRcpLightInfoCount()-1;
|
CRcpLightInfo* pLightInfo = pRsRcpreviewinfo->GetRcpLightInfo(nLightCount);
|
|
CRsRcpAlignInfo *pAlignInfo =pAlignManager->GetRsRcpAlignInfo();
|
|
//===============================================================================
|
CStringArray strArrayRecipeName, strArrayLastWriteTime;
|
pRevEditordlg->FindRecipeFile(strArrayRecipeName,strArrayLastWriteTime);
|
int Count =strArrayRecipeName.GetSize();
|
|
int i =0;
|
|
m_nRecipeCount = Count;
|
PG_RecipeChange.SetRange(i,Count-1);
|
|
if( IDYES ==AfxMessageBox(_T("You Really Apply This Parameters"), MB_YESNO))
|
{
|
if(CB_AllCheck.GetCheck() != 0||CB_ReviewCount.GetCheck()!=0||CB_WsiCount.GetCheck()!=0||CB_MagIndex.GetCheck()!=0||CB_AfmOffMode.GetCheck()!=0||CB_LightLevel.GetCheck()!=0||CB_ALIGN_LIGHT_OFF.GetCheck()!=0||CB_ALIGN_LIGHT_ON.GetCheck()!=0||CB_ALIGN_LIGHT_LEVEL.GetCheck()!=0)
|
{
|
}
|
else {
|
|
AfxMessageBox(_T("Please Check the Option"));
|
|
return;
|
}
|
}
|
else
|
{
|
return;
|
}
|
|
CString target;
|
for(i; i<Count; i++ )
|
{
|
target = strArrayRecipeName.GetAt(i);
|
pRevEditordlg->ReadRecipeFile(target);
|
|
if(CB_AllCheck.GetCheck() == 1){
|
pRcpSchedulinginfo->SetMaxPointCount(m_nReviewCount);//¸®ºä °¹¼ö
|
pRcpSchedulinginfo->SetMaxPadPointCount(m_nPadCount);
|
pRcpSchedulinginfo->SetMaxWsiPointCount(m_nWsiCount);//WSI °¹¼ö
|
pAfmRecipeinfo->m_nZoomIndex = m_nMagIndex;//¹èÀ²
|
pAfmRecipeinfo->m_nAFMOffMode = m_nAfmOffMode;//AFM ²ô±â ¸ðµå
|
pLightInfo->m_nLightLevel = m_nLightLevel;//¶óÀÌÆ® ·¹º§
|
|
if(CB_ALIGN_LIGHT_ON.GetCheck()==1){
|
pAlignInfo->m_bManualProcess=TRUE;
|
}
|
else if(CB_ALIGN_LIGHT_OFF.GetCheck()==1)
|
{
|
pAlignInfo->m_bManualProcess=FALSE;
|
}
|
pAlignInfo->m_dFirstCamExposure = m_nFirstAlignLightLevel;
|
pAlignInfo->m_dSecondCamExposure = m_nSecondAlignLightLevel;
|
}
|
else{
|
|
if(CB_ReviewCount.GetCheck()==1){
|
pRcpSchedulinginfo->SetMaxPointCount(m_nReviewCount);//¸®ºä °¹¼ö
|
}
|
if(CB_PadCount.GetCheck()==1){
|
pRcpSchedulinginfo->SetMaxPadPointCount(m_nPadCount);
|
}
|
if(CB_WsiCount.GetCheck()==1){
|
pRcpSchedulinginfo->SetMaxWsiPointCount(m_nWsiCount);//WSI °¹¼ö
|
}
|
if(CB_MagIndex.GetCheck()==1){
|
pAfmRecipeinfo->m_nZoomIndex = m_nMagIndex;//¹èÀ²
|
}
|
if(CB_AfmOffMode.GetCheck()==1){
|
pAfmRecipeinfo->m_nAFMOffMode = m_nAfmOffMode;//AFM ²ô±â ¸ðµå
|
}
|
if(CB_LightLevel.GetCheck()==1){
|
pLightInfo->m_nLightLevel = m_nLightLevel;//¶óÀÌÆ® ·¹º§
|
}
|
|
if(CB_ALIGN_LIGHT_ON.GetCheck()==1){
|
pAlignInfo->m_bManualProcess=TRUE;
|
}
|
else if(CB_ALIGN_LIGHT_OFF.GetCheck()==1)
|
{
|
pAlignInfo->m_bManualProcess=FALSE;
|
}
|
|
if(CB_ALIGN_LIGHT_LEVEL.GetCheck()==1){
|
pAlignInfo->m_dFirstCamExposure = m_nFirstAlignLightLevel;
|
pAlignInfo->m_dSecondCamExposure = m_nSecondAlignLightLevel;
|
}
|
|
}
|
pRevEditordlg->ReviewRcpEditorSave(target);// ÆÄÀÏÀúÀå
|
PG_RecipeChange.SetPos(i);
|
}
|
AfxMessageBox(_T("ALL CHANGE CLEAR"));
|
|
}
|
|
|
void CDlgRecipeChange::OnBnClickedAllCheck()
|
{
|
// TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù.
|
|
if(CB_AllCheck.GetCheck() == TRUE)
|
{
|
CB_AfmOffMode.SetCheck(1);
|
CB_LightLevel.SetCheck(1);
|
CB_MagIndex.SetCheck(1);
|
CB_ReviewCount.SetCheck(1);
|
CB_WsiCount.SetCheck(1);
|
CB_ALIGN_LIGHT_ON.SetCheck(1);
|
CB_ALIGN_LIGHT_OFF.SetCheck(0);
|
CB_PadCount.SetCheck(1);
|
CB_ALIGN_LIGHT_LEVEL.SetCheck(1);
|
}
|
else
|
{
|
CB_AfmOffMode.SetCheck(0);
|
CB_LightLevel.SetCheck(0);
|
CB_MagIndex.SetCheck(0);
|
CB_ReviewCount.SetCheck(0);
|
CB_WsiCount.SetCheck(0);
|
CB_ALIGN_LIGHT_ON.SetCheck(0);
|
CB_PadCount.SetCheck(0);
|
CB_ALIGN_LIGHT_LEVEL.SetCheck(0);
|
}
|
|
}
|
|
|
void CDlgRecipeChange::OnEnChangeEditReviewCount()
|
{
|
|
}
|
|
|
void CDlgRecipeChange::OnBnClickedAlginLightOn()
|
{
|
// TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù.
|
|
CB_ALIGN_LIGHT_OFF.SetCheck(0);
|
}
|
|
|
void CDlgRecipeChange::OnBnClickedAlginLightOff()
|
{
|
// TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù.
|
CB_ALIGN_LIGHT_ON.SetCheck(0);
|
|
}
|
|
|
BOOL CDlgRecipeChange::OnInitDialog()
|
{
|
CDialog::OnInitDialog();
|
|
// TODO: ¿©±â¿¡ Ãß°¡ ÃʱâÈ ÀÛ¾÷À» Ãß°¡ÇÕ´Ï´Ù.
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
// ¿¹¿Ü: OCX ¼Ó¼º ÆäÀÌÁö´Â FALSE¸¦ ¹ÝÈ¯ÇØ¾ß ÇÕ´Ï´Ù.
|
}
|