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.

83 lines
2.3 KiB
C++

#ifndef TRACKSHOTOBJ_H
#define TRACKSHOTOBJ_H
#pragma once
//////////////////////////////////////////////////////////////////////////////
//文件 TrackShotObj.h:
// 射孔道类
/////////////////////////////////////////////////////////////////////////////
typedef struct RENDERSTYLE
{
CString strType;
double fLeft;
double fRight;
CString strDepthText;
double fFrameVertLinePos;
COLORREF PatternBordercolor;
COLORREF PatternFillcolor;
CString PatternShape;
CString strStyle;
CString strTextLineAlign;
}Struct_RenderStyle;
class AFX_EXT_CLASS CTrackShot : public CInclinedTrack
{
public:
CTrackShot();
CTrackShot(const CRect8& position);
virtual ~CTrackShot();
CLONE_WELLOBJECT(CTrackShot)
virtual void operator=(CTrackShot& object);
protected:
DWORD m_nTrackShotFlags; //射孔道开关状态
// 射孔道Flags
enum TrackShotFlags
{
TrackShotMark = 0x0001 // 显示标注
};
// Implementation
public:
virtual void AddObjChild(); //创建子对象
virtual void MoveChildren();
virtual void CalcBorders();
virtual void Serialize(CArchive& ar, const short &ver);
//开关变量值
virtual void SetTrackShotFlags(DWORD flags);
virtual void SetShowMark(BOOL bFlag);
virtual DWORD GetTrackShotFlags();
virtual BOOL IsShowMark();
virtual void ResetChildProperties();
////// 2015.9.17 从工区导入数据时创建道内子对象
void BuidChildObject(vector<CString> &fields, StringVectorSet &datas, BOOL bInit=FALSE);
////// 2015.8.26 获取道内对象的具体内容
void GetChildDatas(StringVectorSet &dataContent, BOOL bHaveWellName = TRUE);
public:
//PCG读写
//读pcg格式的道
virtual int ReadPCG_Self(CFile &fr,CXmlParse& xp,const short& ver );
//读pcg格式的数据
virtual int ReadPCG_Data(CFile &fr,const short& ver);
int PCG_ReadTrackRenderStyle(CXmlParse& xp,const short &ver,Struct_RenderStyle &RenderStyle);
//写pcg格式的道
virtual void WritePCG_Trace(CFile &fw,int nBaseTabNum);
//写pcg格式的道内数据
virtual void WritePCG_Data(CFile &fw,int nBaseTabNum);
public:
virtual int ReadPCG_Self(CKXmlParse& xp, const short& ver);
//读pcg格式的数据
virtual int ReadPCG_Data(CKXmlParse& xp, const short& ver);
int PCG_ReadTrackRenderStyle(CKXmlParse& xp, const short &ver, Struct_RenderStyle &RenderStyle);
public:
virtual void GetChildDatas(CString& jsonStr);
virtual BOOL SetChildDatas(CString& jsonStr);
};
#endif