#pragma once #include "ItemNestBase.h" #include "WellPoleLib/WellBaseObj.h" #include "WellPoleLib/WellClassObjGroup.h" #include "WellPoleLib/TrackObj.h" #define HANDLESIZE 10 namespace NItem { struct DiscretreDataStuct { float depth; float value; }; class CItemWellBase : public CItemNestBase { public: CItemWellBase(CSigmaDoc* pWnd); virtual ~CItemWellBase(void); virtual void SetPos(POSITION pos); virtual BOOL EndEdit(void); //virtual CItem* GetItem() { return this; } virtual void SetItemWell(CItem* pItem) {}//= 0; virtual void SetItemSection(CItem* pItem) {}//= 0; virtual HCURSOR GetHandleCursor(int nHandle); //CItemWellBase* GetItemSection() {} //撤销恢复操作时,整体备份 virtual void SetReUnDoAction(BOOL bNoSaveData=TRUE, UINT actionType=IDS_STRING_ACTION_MOVE,int actionItemType = 1, CWellBaseObj* pWellBase = NULL); //=1是整个section或wellpole,=2是bend和fault BOOL IsSelected(CWellBaseObj* pObj); //判断是否被嵌套选中 void Select(CWellBaseObj* pObj, BOOL bAdd = FALSE);//选择对象加入选择链表 virtual void CancelSelection(void); void SetActionAddTrackItem(TRACKLIST& addTrackList); void SetActionDeleteTrackItem(TRACKLIST& addTrackList); public: CList m_WellObjSelectlist; ///< 井内选中的图元链表 }; };