You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
2.7 KiB
C

#pragma once
#include "module.h"
#include "OffsetTable.h"
#define OffsetTab_List_Val_Col 3//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>list <20>е<EFBFBD><D0B5>к<EFBFBD>
#define OFFSET_TAB_PATH "\\OffsetTable\\"
#define OFFSET_TAB_FILE_PATH "\\OffsetTable\\TableFile\\"
#define OFFSET_TAB_HISTORY_PATH "\\OffsetTable\\TableHistory\\"
#define OFFSET_TAB_FILE_SUFFIX "tbl"
#define OFFSET_TAB_HISTORY_SUFFIX "xlsx"
//<2F><>Բrecipe <20><><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD>
class CSlotRecipeDataMgr :public CModule
{
public:
CSlotRecipeDataMgr(void);
~CSlotRecipeDataMgr(void);
virtual MODULE GetModuleType(){return _WAFER_RECIPE_DATA_PROP;};
virtual void OnAppInitialize();
void CreatScanPath(vector<bool> SelObjVec);
void CreatScanPath(int AreaIdx);
void InitScanAreaComb(CComboBox &ComboBox);
void InitOffsetTableComb(CComboBox &ComboBox);
CString SelScanArea(int idx);
CString SelOffsetTable(int idx);
void IniRecipeParList(CListCtrl &list);
CString GetSelRecipePath(int idx);
double CalScanSpeedByOverlapRatio(double OverlapRatio,double Fre);
double CalOverlapRatioByScanSpeed(double ScanSpeed,double Fre);
double CalRotatoDimmerAng(double LaserSpotX,double LaserSpotY,double Edi,double Fre,double Pow);
void SetbScanEnd(bool b){m_bScanEnd = b;};
bool IsbScanEnd(){return m_bScanEnd;};
void GetScanAreaName(vector<CString> &Vec);
void GetOffsetTableName(vector<CString> &Vec);
bool SelScanAreaByName(CString SelScanAreaName);
bool CheckScanPathSecurity();
void InitOffsetTableList(CListCtrl &List);
void UpdateOffsetTableList(CListCtrl &List,CString FilePath);
void SaveRcpOffsetTable(CListCtrl &List,CString FilePath);
void CreateNewOffsetTable(CString Name);
void DelOffsetTable(CString FilePath);
private:
int GetFristSelOutLineObjIdx();
void SaveOffsetTableHistory(vector<COffsetTablePar>&OffsetTableParVec,CString OperateType,CString TableName);
private:
vector<bool> m_CurSelStateVec;//<2F><>ǰѡ<C7B0><D1A1>״̬
vector<CString> m_RecipeFilePathVec;
vector<CString> m_ScanAreaPathVec;//<2F><>¼ ɨ<><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>
vector<CString> m_OffsetTablePathVec;//<2F><>¼ OffsetTable<6C>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>
bool m_bScanEnd;//ɨ<><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬,<2C><><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7>ɨ<EFBFBD><C9A8><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD>ɫ
int m_EndScanLineIdx;//<2F><><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8>ʱɨ<CAB1><C9A8><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD>ֵ
int m_TotalScanLineCnt;//ɨ<><C9A8><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD>
COffsetTable m_CurEditOffsetTable;//<2F><>ǰ<EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>
};
extern CSlotRecipeDataMgr *gWaferRecipeDataMgr;