#include "StdAfx.h" #include "CHReviewRecipe/RsRecipeManager.h" #include "CHReviewRecipe/Rcp_RsReviewManager.h" #include "CHReviewRecipe/Rcp_RsMeasureManager.h" #include "CHReviewRecipe/Rcp_RsAlignManager.h" #include "CHReviewRecipe/Rcp_RsDefectFindManager.h" #include "CHReviewRecipe/Rcp_RsGlassTypeInfoManager.h" CRsRecipeManager::CRsRecipeManager(void) { m_nReadStatus = RCP_READ_STATUS_NONE; m_strRecipeFilePath = _T(""); m_strCurrentRecipeName = _T(""); m_pRcpRsReviewManager = new CRcp_RsReviewManager; m_pRcpRsMeasureManager = new CRcp_RsMeasureManager; m_pRcpRsAlignManager = new CRcp_RsAlignManager; m_pRcpRsDefectFindManager = new CRcp_RsDefectFindManager; m_pRsGlassTypeInfoManager = new CRcp_RsGlassTypeInfoManager; } CRsRecipeManager::~CRsRecipeManager(void) { if(m_pRcpRsReviewManager) { delete m_pRcpRsReviewManager; m_pRcpRsReviewManager = NULL; } if(m_pRcpRsMeasureManager) { delete m_pRcpRsMeasureManager; m_pRcpRsMeasureManager = NULL; } if(m_pRcpRsAlignManager) { delete m_pRcpRsAlignManager; m_pRcpRsAlignManager = NULL; } if(m_pRcpRsDefectFindManager) { delete m_pRcpRsDefectFindManager; m_pRcpRsDefectFindManager = NULL; } if(m_pRsGlassTypeInfoManager) { delete m_pRsGlassTypeInfoManager; m_pRsGlassTypeInfoManager = NULL; } } void CRsRecipeManager::SetRecipdFilePath(const CString& strFilePath) { m_strRecipeFilePath = strFilePath; } void CRsRecipeManager::SetRecipeReadStatus(int nStatus) { m_nReadStatus = nStatus; } int CRsRecipeManager::GetRecipeReadStatus() const { return m_nReadStatus; } BOOL CRsRecipeManager::ReadRecipeFile(const CString& strRecipeName) { BOOL bReturn = TRUE; CString strPath; strPath.Format(_T("%s\\%s.rcp"), m_strRecipeFilePath, strRecipeName); CMacroFile macroFile; macroFile.Clear(); if (FALSE == macroFile.Read(strPath)) { bReturn = FALSE; } else { m_strCurrentRecipeName = strRecipeName; if(m_pRcpRsReviewManager) { m_pRcpRsReviewManager->GetProfile(macroFile); } if(m_pRcpRsMeasureManager) { m_pRcpRsMeasureManager->GetProfile(macroFile); } if(m_pRcpRsAlignManager) { m_pRcpRsAlignManager->GetProfile(macroFile); } if(m_pRcpRsDefectFindManager) { m_pRcpRsDefectFindManager->GetProfile(macroFile); } if(m_pRsGlassTypeInfoManager) { m_pRsGlassTypeInfoManager->GetProfile(macroFile); } } return bReturn; } BOOL CRsRecipeManager::WriteRecipeFile() { BOOL bReturn = TRUE; CString strPath; CMacroFile macroFile; macroFile.Clear(); if(m_pRcpRsReviewManager) { m_pRcpRsReviewManager->SetProfile(macroFile); } if(m_pRcpRsMeasureManager) { m_pRcpRsMeasureManager->SetProfile(macroFile); } if(m_pRcpRsAlignManager) { m_pRcpRsAlignManager->SetProfile(macroFile); } if(m_pRcpRsDefectFindManager) { m_pRcpRsDefectFindManager->SetProfile(macroFile); } if(m_pRsGlassTypeInfoManager) { m_pRsGlassTypeInfoManager->SetProfile(macroFile); } strPath.Format(_T("%s\\%s.rcp"), m_strRecipeFilePath, m_strCurrentRecipeName); bReturn = macroFile.Write(strPath); return bReturn; }