// 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; iReadRecipeFile(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¸¦ ¹ÝÈ¯ÇØ¾ß ÇÕ´Ï´Ù. }