#pragma once #include "item.h" #include "SigmaDoc.h" #include "WellPoleLib/NGraphExtend.h" // WellPoleDoc 文档 class CWellSection; class CSectionWellObj; class CMultiWellSectionDoc : public CSigmaDoc // CDrawDoc { public: CMultiWellSectionDoc(); virtual ~CMultiWellSectionDoc(); public: virtual BOOL OpenFile(LPCTSTR lpszFileName, BOOL bMergeFile); virtual BOOL SaveFile(LPCTSTR lpszPathName); public: virtual CItem* FindItem(int nType); POSITION AddElement(COne* pOne); virtual void OnDraw(CXyDC& dc); public: //virtual CXy* GetDraw(void); //CWellPole* GetWellPole(); //COne* GetWellPoleOne(); CWellSection* GetWellSection(); COne* GetWellSectionOne(); CItemView* GetItemView() { return m_pItemView.get(); } protected: // virtual void DocInit(void); //建立m_pDraw, m_pItemView、m_pItemPrint的对象生成 //virtual COleServerItem* OnGetEmbeddedItem(); public: virtual void Serialize(CArchive& ar); int GetNodeWidth(void); CItemSelect* GetSelectItem(void); void RemoveAt(COne* pOne); CSize GetDocSize(void); //BOOL IsMoveSelect(void); BOOL GetElementRect(POSITION pos, CRect8& range); void SetActionItem(CActionItem* pAction, bool bDo = true); void NormalEXTLogFont(GDFLOGFONTEXT& font); virtual BOOL GetDrawRange(CRect8& rect); //给缩放按钮功能提供图的范围 virtual void ClearSelection(void); virtual int Undo(); virtual int Redo(); CWellSection* CreateNewWellSection(LPCTSTR title, double depthScale, double levelScale, double horizonScale); CSectionWellObj* AddNewWell(LPCSTR wellName, double depthScale, double top, double bottom, double x, double y, double bushingLevel, LPCTSTR wellTemplateFile); void WellSectionReSetAllWellsPosition(BOOL bNeedComputedDepth,double topExtent, double bottomExtent); void WellSectionConnectLayers(CStringArray& strTrackTypeArr); CActionItem* m_pLastAction; };