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.

75 lines
2.9 KiB
C

#pragma once
#include "SmartPtr.h"
#include "WorkCmd.h"
#include "WorkCmdContainer.h"
#include "WorkTime.h"
class CWorkCmdInvoker
{
public:
CWorkCmdInvoker();
virtual ~CWorkCmdInvoker(void);
void ExcuteAllCmd(bool bNewThread = true,bool WaitForThread = true);
void ExcuteAllCmdExt();
void Excute();
void UpdateInfo();
bool IsCancel(){return m_bCancel;};
void AddCmd(CWorkCmd *p);
void ClearCmd();
void ExcuteCmd(bool bNewThread,bool WaitForThread);
void ExcuteCmdExt();
bool IsAllCmdExcuted();
void SetCmdInvokerName(CString s){m_CmdInvokerName = s;};
bool IsbExcuting(){return m_bExcuting;};
void InitCmdList(CListCtrl &List);
void UpdateCmdList(CListCtrl &List);
COLORREF GetCmdListColor(int Idx);
CString GetCurExcuteCmdInfo(){return m_CurExcuteCmdInfo;};
void SetbDlgWorkCmdListOpened(bool b){m_bDlgWorkCmdListOpened = b;};
bool IsbDlgWorkCmdListOpened(){return m_bDlgWorkCmdListOpened;};
void SetbExcutingPause(bool b);
void SetbExcutingStop(){m_bExcutingStop = true;};
bool IsbExcutingPause(){return m_bExcutingPause;};
CString GetInvokerWorkTime(){return m_InvokerWorkTime.GetTimeSpanStr();};//<2F><>ȡ<EFBFBD><C8A1>ǰִ<C7B0><D6B4>ʱ<EFBFBD><CAB1><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
private:
private:
bool m_bCancel;//ָ<><D6B8>ִ<EFBFBD><D6B4><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ж<EFBFBD>
bool m_bExcuting;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>
CString m_CmdInvokerName;//Invoker <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CString m_CurExcuteCmdInfo;//<2F><>ǰִ<C7B0>е<EFBFBD>cmd <20><>Ϣ
vector<Sptr<CWorkCmd>> m_WorkCmdVec;//<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool m_bNeedUpdateCmdList;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫˢ<D2AA><CBA2>cmd <20>б<EFBFBD>
bool m_bDlgWorkCmdListOpened;//list <20>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
bool m_bExcutingStop;//ֹͣcmd ִ<><D6B4>
bool m_bExcutingPause;//ִ<><D6B4>cmd <20><>ͣ(<28><><EFBFBD>Իָ<D4BB>)
CWorkTime m_InvokerWorkTime;//ÿ<><C3BF>Invoker <20><><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ļ<EFBFBD>ʱ<EFBFBD><CAB1>
};
extern bool gStopAllWrokCmd;
extern bool gAllCmdInvokerStopFlg;
extern CWorkCmdInvoker gCmdInvoker_WaferTransfer;//<2F>ֶ<EFBFBD>wafer <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Invoker
extern CWorkCmdInvoker gCmdInvoker_WaferAneal;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>wafer <20>˻<EFBFBD><CBBB><EFBFBD>Invoker
extern CWorkCmdInvoker gCmdInvoker_ManualOperation;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> cmd <20><>Invoker
extern CWorkCmdInvoker gCmdInvoker_JobQueueCtrl;//<2F><><EFBFBD><EFBFBD>job <20><><EFBFBD>Ƶ<EFBFBD>Invoker
extern CWorkCmdInvoker gCmdInvoker_FoupLoadPort1;//<2F><><EFBFBD><EFBFBD>FoupLoadPort1 <20><><EFBFBD>Ƶ<EFBFBD>Invoker
extern CWorkCmdInvoker gCmdInvoker_FoupLoadPort2;//<2F><><EFBFBD><EFBFBD>FoupLoadPort2 <20><><EFBFBD>Ƶ<EFBFBD>Invoker
extern CWorkCmdInvoker gCmdInvoker_TrheeLightCtrl;//<2F><><EFBFBD><EFBFBD>TrheeLightCtrl <20><><EFBFBD>Ƶ<EFBFBD>Invoker
extern CWorkCmdInvoker gCmdInvoker_ClearWarning;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Invoker