|
|
|
|
|
#include "stdafx.h"
|
|
|
#include "LaiPuLaser.h"
|
|
|
#include "afxdialogex.h"
|
|
|
#include "DlgChildRecipe.h"
|
|
|
#include "LogMgr.h"
|
|
|
#include "AuthorityMgr.h"
|
|
|
#include "WaferRecipeDataMgr.h"
|
|
|
#include "RecipeMgr.h"
|
|
|
#include "DeviceStateMgr.h"
|
|
|
#include "ProgramLaserTuiHuo.h"
|
|
|
#include "CStringFuc.h"
|
|
|
#include "DistanceMeterMgr.h"
|
|
|
#include "MsgBox.h"
|
|
|
#include "LogMgr.h"
|
|
|
#include "GlobalFunction.h"
|
|
|
#include "WaferRecipeDataMgr.h"
|
|
|
#include "TimingProgressMgr.h"
|
|
|
#include "Layer.h"
|
|
|
#include "GlobalFunction.h"
|
|
|
#include "Laser.h"
|
|
|
#include "WorkFileMgr.h"
|
|
|
#include "DlgChildPCS.h"
|
|
|
#include "JobQueueMgr.h"
|
|
|
#include "LanguageMgr.h"
|
|
|
#include "WorkCmdInvoker.h"
|
|
|
#include "CommonFlowMgr.h"
|
|
|
#include "FoupLoadPortMgr.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IMPLEMENT_DYNAMIC(CDlgChildRecipe, CMyDlgView)
|
|
|
BEGIN_MESSAGE_MAP(CDlgChildRecipe, CMyDlgView)
|
|
|
ON_WM_TIMER()
|
|
|
ON_BN_CLICKED(IDC_RECIPE_NAME_BTN, &CDlgChildRecipe::OnBnClickedRecipeNameBtn)
|
|
|
ON_BN_CLICKED(IDC_GROUP_NAME_BTN, &CDlgChildRecipe::OnBnClickedGroupNameBtn)
|
|
|
ON_BN_CLICKED(IDC_RECIPE_COPY_BTN, &CDlgChildRecipe::OnBnClickedRecipeCopyBtn)
|
|
|
ON_BN_CLICKED(IDC_RECIPE_PASTE_BTN, &CDlgChildRecipe::OnBnClickedRecipeMoveBtn)
|
|
|
ON_CBN_SELCHANGE(IDC_RECIPE_GROUP_COMBO, &CDlgChildRecipe::OnCbnSelchangeRecipeGroupCombo)
|
|
|
ON_NOTIFY(NM_CLICK, IDC_RECIPE_PAR_LIST, &CDlgChildRecipe::OnNMClickRecipeList)
|
|
|
ON_CBN_SELCHANGE(IDC_SCAN_AREA_COMBO, &CDlgChildRecipe::OnCbnSelchangeScanAreaCombo)
|
|
|
ON_CBN_SELCHANGE(IDC_AREA_IDX_COMBO, &CDlgChildRecipe::OnCbnSelchangeAreaIdxCombo)
|
|
|
ON_BN_CLICKED(NEW_ADD_GROUP_BTN, &CDlgChildRecipe::OnBnClickedAddGroupBtn)
|
|
|
ON_BN_CLICKED(NEW_DEL_GROUP_BTN, &CDlgChildRecipe::OnBnClickedDelGroupBtn)
|
|
|
ON_BN_CLICKED(NEW_ADD_RECIPE_BTN, &CDlgChildRecipe::OnBnClickedAddRecipeBtn)
|
|
|
ON_BN_CLICKED(NEW_DEL_RECIPE_BTN, &CDlgChildRecipe::OnBnClickedDelRecipeBtn)
|
|
|
ON_BN_CLICKED(NEW_RECIPE_TO_EDIT_BTN, &CDlgChildRecipe::OnBnClickedRecipeToEditBtn)
|
|
|
ON_CBN_SELCHANGE(NEW_RECIPE_GROUP_COMBO, &CDlgChildRecipe::OnCbnSelchangeNewRecipeGroupCombo)
|
|
|
|
|
|
ON_NOTIFY(NM_CLICK, NEW_GROUP_RECIPE_LIST, &CDlgChildRecipe::OnNMClickGroupRecipeList)
|
|
|
ON_NOTIFY(NM_CLICK, NEW_EDIT_RECIPE_LIST, &CDlgChildRecipe::OnNMClickEditRecipeList)
|
|
|
ON_NOTIFY(NM_CLICK, NEW_SUB_RECIPE_LIST, &CDlgChildRecipe::OnNMClickEditSubRecipeList)
|
|
|
ON_BN_CLICKED(IDC_EDIT_PAR_SAVE_BTN, &CDlgChildRecipe::OnBnClickedEditParSaveBtn)
|
|
|
ON_BN_CLICKED(NEW_ADD_SUB_RECIPE_BTN, &CDlgChildRecipe::OnBnClickedAddSubRecipeBtn)
|
|
|
ON_BN_CLICKED(NEW_DEL_SUB_RECIPE_BTN, &CDlgChildRecipe::OnBnClickedDelSubRecipeBtn)
|
|
|
ON_BN_CLICKED(NEW_SUB_RECIPE_MOVE_UP, &CDlgChildRecipe::OnBnClickedSubRecipeMoveUp)
|
|
|
ON_BN_CLICKED(NEW_SUB_RECIPE_MOVE_DOWN, &CDlgChildRecipe::OnBnClickedSubRecipeMoveDown)
|
|
|
ON_CBN_SELCHANGE(IDC_SEL_SCAN_AREA_COMBO, &CDlgChildRecipe::OnCbnSelchangeSelScanAreaCombo)
|
|
|
ON_CBN_SELCHANGE(IDC_SEL_AREA_IDX_COMBO, &CDlgChildRecipe::OnCbnSelchangeSelAreaIdxCombo)
|
|
|
ON_MESSAGE(ON_COM_RECEIVE,&CDlgChildRecipe::OnCommRecv)
|
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
#define UPDATE_RECIPE_LIST_TIMER 1
|
|
|
#define UPDATE_RECIPE_LIST_TIME_DELAY 100
|
|
|
|
|
|
CDlgChildRecipe::CDlgChildRecipe(CWnd* pParent /*=NULL*/)
|
|
|
: CMyDlgView(CDlgChildRecipe::IDD, pParent)
|
|
|
{
|
|
|
InitParIDVec();
|
|
|
m_LaserPowRangeMin = 0;
|
|
|
m_LaserPowRangeMax = 0;
|
|
|
m_EditRecipeParVal = 0;
|
|
|
}
|
|
|
|
|
|
CDlgChildRecipe::~CDlgChildRecipe()
|
|
|
{
|
|
|
}
|
|
|
|
|
|
void CDlgChildRecipe::DoDataExchange(CDataExchange* pDX)
|
|
|
{
|
|
|
CMyDlgView::DoDataExchange(pDX);
|
|
|
DDX_Control(pDX, IDC_RECIPE_GROUP_COMBO, m_RecipeGroupComb);
|
|
|
DDX_Control(pDX, IDC_SCAN_AREA_COMBO, m_ScanAreaComb);
|
|
|
DDX_Control(pDX, IDC_AREA_IDX_COMBO, m_ScanAreaIdxComb);
|
|
|
DDX_Control(pDX, IDC_RECIPE_PAR_LIST, m_RecipeList);
|
|
|
|
|
|
|
|
|
|
|
|
DDX_Text(pDX,IDC_LASER_POW_MIN,m_LaserPowRangeMin);
|
|
|
DDX_Text(pDX,IDC_LASER_POW_MAX,m_LaserPowRangeMax);
|
|
|
|
|
|
DDX_Control(pDX, NEW_RECIPE_GROUP_COMBO, m_NewRecipeGroupComb);
|
|
|
|
|
|
DDX_Control(pDX, NEW_GROUP_RECIPE_LIST, m_GroupRecipeList);
|
|
|
DDX_Control(pDX, NEW_EDIT_RECIPE_LIST, m_EditRecipeList);
|
|
|
DDX_Control(pDX, NEW_SUB_RECIPE_LIST, m_EditSubRecipeList);
|
|
|
DDX_Control(pDX, NEW_EDIT_RECIPE_INFO_LIST, m_EditRecipeInfoList);
|
|
|
DDX_Control(pDX, IDC_SEL_SCAN_AREA_COMBO, m_SelScanAreaComb);
|
|
|
DDX_Control(pDX, IDC_SEL_AREA_IDX_COMBO, m_SelScanAreaIdxComb);
|
|
|
DDX_Control(pDX, IDC_SEL_BOOL_VAL_COMBO, m_SelBoolValComb);
|
|
|
|
|
|
DDX_Text(pDX,IDC_EDIT_PAR_DOUBLE,m_EditRecipeParVal);
|
|
|
}
|
|
|
|
|
|
void CDlgChildRecipe::OnTimer(UINT nIDEvent)
|
|
|
{
|
|
|
CDialog::OnTimer(nIDEvent);
|
|
|
if(nIDEvent == UPDATE_RECIPE_LIST_TIMER)
|
|
|
{
|
|
|
KillTimer(UPDATE_RECIPE_LIST_TIMER);
|
|
|
OnCbnSelchangeRecipeGroupCombo();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
BOOL CDlgChildRecipe::OnInitDialog()
|
|
|
{
|
|
|
CMyDlgView::OnInitDialog();
|
|
|
|
|
|
UpdateData(FALSE);
|
|
|
return TRUE;
|
|
|
}
|
|
|
void CDlgChildRecipe::UpdateLanguageTxt()
|
|
|
{
|
|
|
GetDlgItem(IDC_GROUP_NAME_BTN)->SetWindowText(gLanguageMgr->GetLanguageTxt("LANGUAGE_RCP_GROUP_NAME"));
|
|
|
GetDlgItem(IDC_RECIPE_NAME_BTN)->SetWindowText(gLanguageMgr->GetLanguageTxt("LANGUAGE_RCP_NAME"));
|
|
|
GetDlgItem(IDC_RECIPE_COPY_BTN)->SetWindowText(gLanguageMgr->GetLanguageTxt("LANGUAGE_COPY_RCP"));
|
|
|
GetDlgItem(IDC_RECIPE_PASTE_BTN)->SetWindowText(gLanguageMgr->GetLanguageTxt("LANGUAGE_PASTE_RCP"));
|
|
|
GetDlgItem(IDD_RESET_RECIPE_BTN)->SetWindowText(gLanguageMgr->GetLanguageTxt("LANGUAGE_RESET_RCP"));
|
|
|
GetDlgItem(IDC_TRANSFER_USE_CHECK)->SetWindowText(gLanguageMgr->GetLanguageTxt("LANGUAGE_TRANSFER_USE"));
|
|
|
GetDlgItem(IDC_OP_SEL_CHECK)->SetWindowText(gLanguageMgr->GetLanguageTxt("LANGUAGE_WORK_JOB_USE"));
|
|
|
GetDlgItem(IDC_STATIC_SEL_AREA)->SetWindowText(gLanguageMgr->GetLanguageTxt("LANGUAGE_ANNEAL_AREA"));
|
|
|
GetDlgItem(IDC_STATIC_AREA_IDX)->SetWindowText(gLanguageMgr->GetLanguageTxt("LANGUAGE_AREA_IDX"));
|
|
|
GetDlgItem(IDC_RECIPE_USE_BTN)->SetWindowText(gLanguageMgr->GetLanguageTxt("LANGUAGE_RCP_COMMIT"));
|
|
|
GetDlgItem(IDC_STATIC_GROUP_RECIPE)->SetWindowText(gLanguageMgr->GetLanguageTxt("LANGUAGE_RCP_GRP"));
|
|
|
GetDlgItem(IDC_STATIC_RECIPE_LIST)->SetWindowText(gLanguageMgr->GetLanguageTxt("LANGUAGE_RCP_LIST"));
|
|
|
GetDlgItem(IDC_STATIC_CUR_COPY_RECIPE)->SetWindowText(gLanguageMgr->GetLanguageTxt("LANGUAGE_CUR_COPY_RCP"));
|
|
|
GetDlgItem(IDC_STATIC_CUR_SEL_RECIPE)->SetWindowText(gLanguageMgr->GetLanguageTxt("LANGUAGE_CUR_SEL_RCP"));
|
|
|
|
|
|
}
|
|
|
void CDlgChildRecipe::SetTextCtrlItemID()
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
void CDlgChildRecipe::ChangeItemState()
|
|
|
{
|
|
|
bool bEnable = true;
|
|
|
if(gCommonFlowMgr->IsbAutoRunning())
|
|
|
bEnable = false;
|
|
|
if(gCmdInvoker_WaferAneal.IsbExcuting())
|
|
|
bEnable = false;
|
|
|
GetDlgItem(NEW_ADD_GROUP_BTN)->EnableWindow(bEnable);
|
|
|
GetDlgItem(NEW_DEL_GROUP_BTN)->EnableWindow(bEnable);
|
|
|
GetDlgItem(NEW_RECIPE_GROUP_COMBO)->EnableWindow(bEnable);
|
|
|
GetDlgItem(NEW_GROUP_RECIPE_LIST)->EnableWindow(bEnable);
|
|
|
GetDlgItem(NEW_ADD_RECIPE_BTN)->EnableWindow(bEnable);
|
|
|
GetDlgItem(NEW_DEL_RECIPE_BTN)->EnableWindow(bEnable);
|
|
|
GetDlgItem(IDC_RECIPE_NAME_BTN)->EnableWindow(bEnable);
|
|
|
GetDlgItem(IDC_RECIPE_COPY_BTN)->EnableWindow(bEnable);
|
|
|
GetDlgItem(IDC_RECIPE_PASTE_BTN)->EnableWindow(bEnable);
|
|
|
GetDlgItem(NEW_SUB_RECIPE_LIST)->EnableWindow(bEnable);
|
|
|
GetDlgItem(NEW_EDIT_RECIPE_LIST)->EnableWindow(bEnable);
|
|
|
GetDlgItem(NEW_EDIT_RECIPE_INFO_LIST)->EnableWindow(bEnable);
|
|
|
GetDlgItem(NEW_ADD_SUB_RECIPE_BTN)->EnableWindow(bEnable);
|
|
|
GetDlgItem(NEW_DEL_SUB_RECIPE_BTN)->EnableWindow(bEnable);
|
|
|
GetDlgItem(NEW_SUB_RECIPE_MOVE_UP)->EnableWindow(bEnable);
|
|
|
GetDlgItem(NEW_SUB_RECIPE_MOVE_DOWN)->EnableWindow(bEnable);
|
|
|
GetDlgItem(NEW_SET_ALL_SUB_RECIPE_BTN)->EnableWindow(bEnable);
|
|
|
GetDlgItem(IDC_SEL_SCAN_AREA_COMBO)->EnableWindow(bEnable);
|
|
|
GetDlgItem(IDC_SEL_AREA_IDX_COMBO)->EnableWindow(bEnable);
|
|
|
GetDlgItem(IDC_EDIT_PAR_SAVE_BTN)->EnableWindow(bEnable);
|
|
|
GetDlgItem(IDC_SEL_BOOL_VAL_COMBO)->EnableWindow(bEnable);
|
|
|
GetDlgItem(IDC_EDIT_PAR_DOUBLE)->EnableWindow(bEnable);
|
|
|
GetDlgItem(IDC_GROUP_NAME_BTN)->EnableWindow(bEnable);
|
|
|
}
|
|
|
#if 1
|
|
|
//<2F><>ʼ<EFBFBD><CABC><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD>ؼ<EFBFBD>
|
|
|
void CDlgChildRecipe::InitDialogItem()
|
|
|
{
|
|
|
gRecipeMgr->BindingRecipeGroupComb(&m_NewRecipeGroupComb);
|
|
|
gRecipeMgr->InitGroupRecipeList(m_GroupRecipeList);
|
|
|
gRecipeMgr->InitEditRecipeList(m_EditRecipeList);
|
|
|
gRecipeMgr->InitEditRecipeList(m_EditRecipeInfoList);
|
|
|
gRecipeMgr->InitEditSubRecipeList(m_EditSubRecipeList);
|
|
|
UpdateData(FALSE);
|
|
|
}
|
|
|
void CDlgChildRecipe::InitParIDVec()
|
|
|
{
|
|
|
{
|
|
|
CDoubleParItem DoubleParItem;
|
|
|
DoubleParItem.m_NameItemID = IDC_STATIC_PAR1;
|
|
|
DoubleParItem.m_ValItemID = IDC_PAR_1;
|
|
|
m_DoubleParItemVec.push_back(DoubleParItem);
|
|
|
}
|
|
|
{
|
|
|
CDoubleParItem DoubleParItem;
|
|
|
DoubleParItem.m_NameItemID = IDC_STATIC_PAR2;
|
|
|
DoubleParItem.m_ValItemID = IDC_PAR_2;
|
|
|
m_DoubleParItemVec.push_back(DoubleParItem);
|
|
|
}
|
|
|
{
|
|
|
CDoubleParItem DoubleParItem;
|
|
|
DoubleParItem.m_NameItemID = IDC_STATIC_PAR3;
|
|
|
DoubleParItem.m_ValItemID = IDC_PAR_3;
|
|
|
m_DoubleParItemVec.push_back(DoubleParItem);
|
|
|
}
|
|
|
{
|
|
|
CDoubleParItem DoubleParItem;
|
|
|
DoubleParItem.m_NameItemID = IDC_STATIC_PAR4;
|
|
|
DoubleParItem.m_ValItemID = IDC_PAR_4;
|
|
|
m_DoubleParItemVec.push_back(DoubleParItem);
|
|
|
}
|
|
|
{
|
|
|
CDoubleParItem DoubleParItem;
|
|
|
DoubleParItem.m_NameItemID = IDC_STATIC_PAR5;
|
|
|
DoubleParItem.m_ValItemID = IDC_PAR_5;
|
|
|
m_DoubleParItemVec.push_back(DoubleParItem);
|
|
|
}
|
|
|
{
|
|
|
CDoubleParItem DoubleParItem;
|
|
|
DoubleParItem.m_NameItemID = IDC_STATIC_PAR6;
|
|
|
DoubleParItem.m_ValItemID = IDC_PAR_6;
|
|
|
m_DoubleParItemVec.push_back(DoubleParItem);
|
|
|
}
|
|
|
{
|
|
|
CDoubleParItem DoubleParItem;
|
|
|
DoubleParItem.m_NameItemID = IDC_STATIC_PAR7;
|
|
|
DoubleParItem.m_ValItemID = IDC_PAR_7;
|
|
|
m_DoubleParItemVec.push_back(DoubleParItem);
|
|
|
}
|
|
|
{
|
|
|
CDoubleParItem DoubleParItem;
|
|
|
DoubleParItem.m_NameItemID = IDC_STATIC_PAR8;
|
|
|
DoubleParItem.m_ValItemID = IDC_PAR_8;
|
|
|
m_DoubleParItemVec.push_back(DoubleParItem);
|
|
|
}
|
|
|
{
|
|
|
CDoubleParItem DoubleParItem;
|
|
|
DoubleParItem.m_NameItemID = IDC_STATIC_PAR9;
|
|
|
DoubleParItem.m_ValItemID = IDC_PAR_9;
|
|
|
m_DoubleParItemVec.push_back(DoubleParItem);
|
|
|
}
|
|
|
{
|
|
|
CDoubleParItem DoubleParItem;
|
|
|
DoubleParItem.m_NameItemID = IDC_STATIC_PAR10;
|
|
|
DoubleParItem.m_ValItemID = IDC_PAR_10;
|
|
|
m_DoubleParItemVec.push_back(DoubleParItem);
|
|
|
}
|
|
|
{
|
|
|
CDoubleParItem DoubleParItem;
|
|
|
DoubleParItem.m_NameItemID = IDC_STATIC_PAR11;
|
|
|
DoubleParItem.m_ValItemID = IDC_PAR_11;
|
|
|
m_DoubleParItemVec.push_back(DoubleParItem);
|
|
|
}
|
|
|
{
|
|
|
CDoubleParItem DoubleParItem;
|
|
|
DoubleParItem.m_NameItemID = IDC_STATIC_PAR12;
|
|
|
DoubleParItem.m_ValItemID = IDC_PAR_12;
|
|
|
m_DoubleParItemVec.push_back(DoubleParItem);
|
|
|
}
|
|
|
{
|
|
|
CDoubleParItem DoubleParItem;
|
|
|
DoubleParItem.m_NameItemID = IDC_STATIC_PAR13;
|
|
|
DoubleParItem.m_ValItemID = IDC_PAR_13;
|
|
|
m_DoubleParItemVec.push_back(DoubleParItem);
|
|
|
}
|
|
|
{
|
|
|
CDoubleParItem DoubleParItem;
|
|
|
DoubleParItem.m_NameItemID = IDC_STATIC_PAR14;
|
|
|
DoubleParItem.m_ValItemID = IDC_PAR_14;
|
|
|
m_DoubleParItemVec.push_back(DoubleParItem);
|
|
|
}
|
|
|
{
|
|
|
CDoubleParItem DoubleParItem;
|
|
|
DoubleParItem.m_NameItemID = IDC_STATIC_PAR15;
|
|
|
DoubleParItem.m_ValItemID = IDC_PAR_15;
|
|
|
m_DoubleParItemVec.push_back(DoubleParItem);
|
|
|
}
|
|
|
{
|
|
|
CDoubleParItem DoubleParItem;
|
|
|
DoubleParItem.m_NameItemID = IDC_STATIC_PAR16;
|
|
|
DoubleParItem.m_ValItemID = IDC_PAR_16;
|
|
|
m_DoubleParItemVec.push_back(DoubleParItem);
|
|
|
}
|
|
|
}
|
|
|
//<2F><>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>recipe <20>б<EFBFBD>
|
|
|
void CDlgChildRecipe::OnNMClickRecipeList(NMHDR *pNMHDR, LRESULT *pResult)
|
|
|
{
|
|
|
*pResult = 0;
|
|
|
int Idx = GetCurListIdx(m_RecipeList);
|
|
|
if(Idx>=0)
|
|
|
{
|
|
|
//<2F><><EFBFBD>õ<EFBFBD>ǰѡ<C7B0>е<EFBFBD>Recipe <20><><EFBFBD><EFBFBD>ֵ
|
|
|
gRecipeMgr->SetCurSelRecipeIdx(Idx);
|
|
|
//<2F><><EFBFBD>µ<EFBFBD>ǰѡ<C7B0><D1A1><EFBFBD><EFBFBD>recipe <20><>Ϣ
|
|
|
UpdateRecipeParInfo();
|
|
|
}
|
|
|
}
|
|
|
void CDlgChildRecipe::UpdateRecipeParInfoByTimer()
|
|
|
{
|
|
|
//SetTimer(UPDATE_RECIPE_LIST_TIMER,UPDATE_RECIPE_LIST_TIME_DELAY,NULL);
|
|
|
}
|
|
|
//<2F><><EFBFBD><EFBFBD>area <20><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
|
|
void CDlgChildRecipe::UpdateScanAreaComb()
|
|
|
{
|
|
|
gWaferRecipeDataMgr->InitScanAreaComb(m_ScanAreaComb);
|
|
|
}
|
|
|
//<2F><><EFBFBD>µ<EFBFBD>ǰѡ<C7B0><D1A1><EFBFBD><EFBFBD>recipe <20><>Ϣ
|
|
|
void CDlgChildRecipe::UpdateRecipeParInfo()
|
|
|
{
|
|
|
|
|
|
}
|
|
|
//<2F><><EFBFBD>浱ǰѡ<C7B0><D1A1><EFBFBD><EFBFBD>recipe
|
|
|
bool CDlgChildRecipe::SaveCurSelRecipe()
|
|
|
{
|
|
|
|
|
|
|
|
|
UpdateData(FALSE);
|
|
|
return true;
|
|
|
}
|
|
|
#endif
|
|
|
#if 1
|
|
|
//ѡ<><D1A1>recipe group
|
|
|
void CDlgChildRecipe::OnCbnSelchangeRecipeGroupCombo()
|
|
|
{
|
|
|
|
|
|
}
|
|
|
//ѡ<><D1A1>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
void CDlgChildRecipe::OnCbnSelchangeScanAreaCombo()
|
|
|
{
|
|
|
int SelIdx = m_SelScanAreaComb.GetCurSel();
|
|
|
//<2F><><EFBFBD><EFBFBD>SelIdx <20><>Ӧ<EFBFBD><D3A6>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
gWaferRecipeDataMgr->SelScanArea(SelIdx);
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
|
|
UpdateAreaIdxCombo();
|
|
|
m_SelScanAreaIdxComb.SetCurSel(0);
|
|
|
}
|
|
|
//ѡ<><D1A1>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
void CDlgChildRecipe::OnCbnSelchangeAreaIdxCombo()
|
|
|
{
|
|
|
|
|
|
}
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
|
|
void CDlgChildRecipe::UpdateAreaIdxCombo()
|
|
|
{
|
|
|
CObjContainer &ObjContainer = gLayer.GetObjContainer();
|
|
|
int AreaCnt = ObjContainer.GetScanAreaCnt();
|
|
|
m_SelScanAreaIdxComb.ResetContent();//<2F><><EFBFBD><EFBFBD>
|
|
|
int idx = 0;
|
|
|
for(int k=0;k<AreaCnt;k++)
|
|
|
{
|
|
|
CString Str;
|
|
|
if(k<9)
|
|
|
Str.Format("[0%d]",k+1);
|
|
|
else
|
|
|
Str.Format("[%d]",k+1);
|
|
|
Str += "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
|
|
m_SelScanAreaIdxComb.InsertString(idx++,Str);
|
|
|
}
|
|
|
}
|
|
|
#endif
|
|
|
#if 1
|
|
|
//<2F><><EFBFBD>õ<EFBFBD>ǰѡ<C7B0><D1A1><EFBFBD><EFBFBD>recipe <20><><EFBFBD><EFBFBD>
|
|
|
void CDlgChildRecipe::OnBnClickedRecipeNameBtn()
|
|
|
{
|
|
|
|
|
|
}
|
|
|
//<2F><><EFBFBD>õ<EFBFBD>ǰѡ<C7B0><D1A1><EFBFBD><EFBFBD>gourp <20><><EFBFBD><EFBFBD>
|
|
|
void CDlgChildRecipe::OnBnClickedGroupNameBtn()
|
|
|
{
|
|
|
|
|
|
}
|
|
|
//<2F><><EFBFBD>Ƶ<EFBFBD>ǰѡ<C7B0>е<EFBFBD>recipe
|
|
|
void CDlgChildRecipe::OnBnClickedRecipeCopyBtn()
|
|
|
{
|
|
|
|
|
|
}
|
|
|
//ճ<><D5B3><EFBFBD><EFBFBD>ǰѡ<C7B0>е<EFBFBD>recipe
|
|
|
void CDlgChildRecipe::OnBnClickedRecipeMoveBtn()
|
|
|
{
|
|
|
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
#if 1
|
|
|
void CDlgChildRecipe::OnBnClickedAddGroupBtn()
|
|
|
{
|
|
|
|
|
|
}
|
|
|
void CDlgChildRecipe::OnBnClickedDelGroupBtn()
|
|
|
{
|
|
|
|
|
|
}
|
|
|
void CDlgChildRecipe::OnBnClickedAddRecipeBtn()
|
|
|
{
|
|
|
|
|
|
}
|
|
|
void CDlgChildRecipe::OnBnClickedDelRecipeBtn()
|
|
|
{
|
|
|
|
|
|
}
|
|
|
void CDlgChildRecipe::OnBnClickedRecipeToEditBtn()
|
|
|
{
|
|
|
|
|
|
}
|
|
|
void CDlgChildRecipe::OnCbnSelchangeNewRecipeGroupCombo()
|
|
|
{
|
|
|
int Idx = m_NewRecipeGroupComb.GetCurSel();
|
|
|
gRecipeMgr->SetCurSelGourpIdx(Idx);
|
|
|
gRecipeMgr->UpdateGroupRecipeList(m_GroupRecipeList);
|
|
|
ResetEditRecipeItem();//<2F><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD>༭<EFBFBD><E0BCAD>recipe <20><>Ϣ
|
|
|
}
|
|
|
void CDlgChildRecipe::OnNMClickGroupRecipeList(NMHDR *pNMHDR, LRESULT *pResult)
|
|
|
{
|
|
|
|
|
|
}
|
|
|
void CDlgChildRecipe::OnNMClickEditRecipeList(NMHDR *pNMHDR, LRESULT *pResult)
|
|
|
{
|
|
|
*pResult = 0;
|
|
|
|
|
|
|
|
|
}
|
|
|
void CDlgChildRecipe::OnNMClickEditSubRecipeList(NMHDR *pNMHDR, LRESULT *pResult)
|
|
|
{
|
|
|
*pResult = 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
void CDlgChildRecipe::OnBnClickedEditParSaveBtn()
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
void CDlgChildRecipe::OnBnClickedAddSubRecipeBtn()
|
|
|
{
|
|
|
|
|
|
}
|
|
|
void CDlgChildRecipe::OnBnClickedDelSubRecipeBtn()
|
|
|
{
|
|
|
|
|
|
}
|
|
|
//<2F><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD>༭<EFBFBD><E0BCAD>recipe <20><>Ϣ
|
|
|
void CDlgChildRecipe::ResetEditRecipeItem()
|
|
|
{
|
|
|
gRecipeMgr->SetCurSelRecipeName("");
|
|
|
gRecipeMgr->UpdateEditSubRecipeList(m_EditSubRecipeList);
|
|
|
gRecipeMgr->UpdateEditRecipeList(m_EditRecipeList,m_EditRecipeInfoList);
|
|
|
GetDlgItem(IDC_CUR_EDIT_SUB_RCP_NAME)->SetWindowText(gRecipeMgr->GetCurEditSubRecipeInfo());
|
|
|
GetDlgItem(IDC_CUR_EDIT_RCP_PATH)->SetWindowText(gRecipeMgr->GetCurEditRecipeInfo());
|
|
|
HideEditRecipeParItem();
|
|
|
|
|
|
}
|
|
|
void CDlgChildRecipe::HideEditRecipeParItem()
|
|
|
{
|
|
|
GetDlgItem(IDC_EDIT_PAR_DOUBLE)->ShowWindow(SW_HIDE);
|
|
|
GetDlgItem(IDC_SEL_BOOL_VAL_COMBO)->ShowWindow(SW_HIDE);
|
|
|
GetDlgItem(IDC_STATIC_SEL_BOOL_VAL)->ShowWindow(SW_HIDE);
|
|
|
GetDlgItem(IDC_SEL_SCAN_AREA_COMBO)->ShowWindow(SW_HIDE);
|
|
|
GetDlgItem(IDC_STATIC_SEL_AREA_IDX)->ShowWindow(SW_HIDE);
|
|
|
GetDlgItem(IDC_SEL_AREA_IDX_COMBO)->ShowWindow(SW_HIDE);
|
|
|
GetDlgItem(IDC_STATIC_EDIT_PAR_NAME)->SetWindowText("");
|
|
|
}
|
|
|
|
|
|
void CDlgChildRecipe::OnBnClickedSubRecipeMoveUp()
|
|
|
{
|
|
|
CLogInfo LogInfo;
|
|
|
LogInfo.m_ClassName = "CDlgChildRecipe";
|
|
|
LogInfo.m_FuncName = "OnBnClickedSubRecipeMoveUp";
|
|
|
gLogMgr->WriteLogInfo(LogInfo);
|
|
|
if(gRecipeMgr->MoveSubRecipe(true))
|
|
|
{
|
|
|
gRecipeMgr->UpdateEditSubRecipeList(m_EditSubRecipeList);
|
|
|
GetDlgItem(IDC_CUR_EDIT_SUB_RCP_NAME)->SetWindowText(gRecipeMgr->GetCurEditSubRecipeInfo());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
void CDlgChildRecipe::OnBnClickedSubRecipeMoveDown()
|
|
|
{
|
|
|
CLogInfo LogInfo;
|
|
|
LogInfo.m_ClassName = "CDlgChildRecipe";
|
|
|
LogInfo.m_FuncName = "OnBnClickedSubRecipeMoveDown";
|
|
|
gLogMgr->WriteLogInfo(LogInfo);
|
|
|
if(gRecipeMgr->MoveSubRecipe(false))
|
|
|
{
|
|
|
gRecipeMgr->UpdateEditSubRecipeList(m_EditSubRecipeList);
|
|
|
GetDlgItem(IDC_CUR_EDIT_SUB_RCP_NAME)->SetWindowText(gRecipeMgr->GetCurEditSubRecipeInfo());
|
|
|
}
|
|
|
}
|
|
|
void CDlgChildRecipe::OnCbnSelchangeSelScanAreaCombo()
|
|
|
{
|
|
|
int SelIdx = m_SelScanAreaComb.GetCurSel();
|
|
|
//<2F><><EFBFBD><EFBFBD>SelIdx <20><>Ӧ<EFBFBD><D3A6>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
gWaferRecipeDataMgr->SelScanArea(SelIdx);
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
|
|
UpdateAreaIdxCombo();
|
|
|
m_SelScanAreaIdxComb.SetCurSel(0);
|
|
|
CString AreaName;
|
|
|
GetDlgItem(IDC_SEL_SCAN_AREA_COMBO)->GetWindowText(AreaName);
|
|
|
gRecipeMgr->CreatScanPath(AreaName,0);
|
|
|
}
|
|
|
|
|
|
|
|
|
void CDlgChildRecipe::OnCbnSelchangeSelAreaIdxCombo()
|
|
|
{
|
|
|
int SelIdx = m_SelScanAreaIdxComb.GetCurSel();
|
|
|
CString AreaName;
|
|
|
GetDlgItem(IDC_SEL_SCAN_AREA_COMBO)->GetWindowText(AreaName);
|
|
|
gRecipeMgr->CreatScanPath(AreaName,SelIdx);
|
|
|
}
|
|
|
|
|
|
LRESULT CDlgChildRecipe::OnCommRecv(WPARAM wParam, LPARAM lParam)
|
|
|
{
|
|
|
gFoupLoadPortMgr->OnCommRecv(_LoadPortType_Port2);
|
|
|
return 0;
|
|
|
}
|
|
|
|