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.

67 lines
2.4 KiB
C

#pragma once
#include "MarkArea.h"
#include "Module.h"
#include "EnumDirection.h"
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
class CMarkAreaMgr :public CModule
{
public:
CMarkAreaMgr(void);
~CMarkAreaMgr(void);
virtual void Ini();
virtual void Draw(CDC* pDC);//<2F><>pDC <20><><EFBFBD><EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD>
virtual MODULE GetModuleType(){return _MARK_AREA_PROP;};
virtual void WriteWorkFileExt(vector<CLab> &LabVec);
virtual void ReadWorkFile(CLabVecRang &LabVecRang);
void Add();
void AddArea(CMarkArea &Area){m_AreaVec.push_back(Area);};
void InsertList(CListCtrl &List);
void DelSel(int &idx);
void DelAll();
void OpArea(int idx,CMarkArea &Area,bool bRead);
void Order(int &idx,bool bMoveUp);
void SetCurSelIdx(int idx){m_CurSelIdx = idx;};
int GetCurSelIdx();
bool GetbDraw(){return m_bDraw;};
void SetbDraw(bool b){m_bDraw = b;};
void SaveOrLoad(bool bSave,bool bFixed = false);
void SaveOrLoadExt(CArchive &ar);
bool Empty(){return m_AreaVec.empty();};
bool HasWorkData();
vector<CMarkArea> &GetAreaVec(){return m_AreaVec;}
void ArrayCreat(int CntX,int CntY);
void ResetAllAreaSelState();
void MoveAllArea(double Val,DIRECTION dir);
void SelAreaByPt(Dbxy pt);
void SetAllMarkSize();
4 years ago
void CollectOrgWorkData(bool bNeedSel, CProduct & Product);
void CollectWorkData(bool bNeedSel,CProduct &Product);
void SelFristArea();
void SetbDrawIdx(bool b){m_bDrawIdx = b;};
void AdjustByObj();
void CalRealBasePt(CProduct &Product);
void ReReadFixMarkArea();
void SetbShowReadDate(){m_bShowReadDate = !m_bShowReadDate;};
bool IsbShowReadDate(){return m_bShowReadDate;};
bool CheckAllObjDataConsistency();
void CreatCenterCrossObj();
void CollectSrcWorkData();//<2F>Ѽ<EFBFBD><D1BC><EFBFBD><EFBFBD><EFBFBD>Դ
void ClearSrcWorkData();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
void MoveAllAreaToTargetPt(Dbxy Offset);
Dbxy GetAllAreaCenterPt();
private:
bool IdxValid(int idx);
void SwapArea(int &idx1,int idx2);
private:
vector<CMarkArea> m_AreaVec;
int m_CurSelIdx;//<2F><>ǰѡ<C7B0><D1A1><EFBFBD><EFBFBD>area <20><><EFBFBD><EFBFBD>ֵ
bool m_bDraw;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
bool m_bDrawIdx;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ʾarea <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
bool m_bShowReadDate;//<2F><>ʾʵ<CABE><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
double m_CenterCrossR;//<2F><><EFBFBD><EFBFBD>ʮ<EFBFBD>ֵİ뾶mm
};
extern CMarkAreaMgr *gMarkAreaMgr;