#ifndef _KTSTATUSRECORD_H__ #define _KTSTATUSRECORD_H__ #if _MSC_VER > 1000 #pragma once #endif class KTStatusRecord { public: KTStatusRecord(); virtual ~KTStatusRecord(); enum EQuire { kPoint = 1, kAngle = 2, kDist = 3, kString = 4, kEntity = 5 }; void SetPrompt(LPCTSTR pszPrompt); BOOL GetPrompt(CString& sPrompt); void SetKeyList(LPCTSTR pszList); BOOL GetKeylist(CString& sKeylist); void SetQuire(KTStatusRecord::EQuire eQuire); KTStatusRecord::EQuire GetQuire(); void SetChildStaRec(LPCTSTR pszKeyWord,KTStatusRecord * pRec); BOOL GetChildKey(CString& sKey); void SetAcquireVal(const AcGePoint3d& ptGe); void GetAcquireVal(AcGePoint3d& ptGe); void SetAcquireVal(double dVal); void GetAcquireVal(double& dVal); void SetAcquireVal(AcDbObjectId id); void GetAcquireVal(AcDbObjectId& id); KTStatusRecord * GetChildStaRec(LPCTSTR pszKeyWord); KTStatusRecord * GetParentStaRec(); void SetNextStaRec(KTStatusRecord * pRec); KTStatusRecord * GetNextStaRec(); KTStatusRecord * GetLastStaRec(); void SetSegStatusFinish(BOOL bFlag); BOOL IsStatusFinish(); void SetPlanPos(int nPos); void GetPlanPos(int& nPos); void SetClockwise(BOOL bClockwise); void GetClockwise(BOOL& bClockwise); private: AcDbObjectId m_id; AcGePoint3d m_ptGe; double m_dVal; BOOL m_bStatusFlag; BOOL m_bClockwise; // 圆弧专用,是否从上一点到当前点顺时针绘制 int m_nPlanPos; CString m_sPrompt; CString m_sKeylist; KTStatusRecord::EQuire m_eQuire; KTStatusRecord * m_pParentStaRec; CMapStringToPtr m_mapChildRecPtrs; KTStatusRecord * m_pNextStaRec; KTStatusRecord * m_pLastStaRec; }; #endif //_KTStatusRecord_H__