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.

133 lines
3.7 KiB
C

1 month ago
#pragma once
#include "item.h"
#include "SigmaDoc.h"
#include "WellPoleLib/NGraphExtend.h"
// WellPoleDoc 文档
typedef struct _createNewWellStruct
{
CString strWellName;
double ratio;
double top;
double bottom;
CString strWellTemplateFilePath;
} CREATENEWWELLSTRUCT;
class CWellPole;
class CWellPoleDoc : public CSigmaDoc // CDrawDoc
{
public:
CWellPoleDoc();
virtual ~CWellPoleDoc();
//CItem * m_pItem;
//CItem * m_pOtherItem; //如CItemSolid,使用m_pItem为了在选择曲线时绘辅助线
//int DataSourceType; // 数据来源类型
//CItemState ItemState; //保存一些状态,如随手写字大小、查找等
////符号修改
//CXyDC * m_pBakXyDC; //修改符号之时,备份原图的显示范围
//CXy * m_pMarkDraw; //修改符号状态,指向修改的符号
//CItemMakeMark* m_pItemMakeMark; //符号制作模式
//int m_nUnitMode; //根据设置的比例在打印单位与实际单位间变换方式
public:
virtual BOOL OpenFile(LPCTSTR lpszFileName, BOOL bMergeFile);
public:
//virtual BOOL SetDefaultCursor(void);
virtual CItem* FindItem(int nType);
//BOOL Edit(POSITION pos);
//virtual void Invalidate(void);
//virtual void Invalidate(POSITION pos) { CDrawDoc::Invalidate(pos); }
//virtual void Invalidate(LPRECT lpRect) { CDrawDoc::Invalidate(lpRect); }
//virtual void Invalidate(COne* pOne) { CDrawDoc::Invalidate(pOne); }
//void InvalidateDelete(CPositionList& list);
//void InvalidateEagleEye(void);
//CItem* GetOtherItem(void);
//int GetOtherItemType(void);
//void SetOtherItem(CItem* pItem);
//void DeleteOtherItem(void);
//void InitDocGrid(CXTPPropertyGrid& grid);
//void SetSelection(CPositionList& list);
//void SetSelection(POSITION pos);
POSITION AddElement(COne* pOne);
virtual void OnDraw(CXyDC& dc);
public:
//virtual CXy* GetDraw(void);
CWellPole* GetWellPole();
COne* GetWellPoleOne();
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);
//virtual BOOL OnNewDocument();
//virtual BOOL OnOpenDocument(LPCTSTR lpszPathName);
////virtual void OpenDocumentEnd(void);
//virtual BOOL OnSaveDocument(LPCTSTR lpszPathName);
//virtual void DeleteContents();
//virtual void OnCloseDocument();
//virtual BOOL DoSave(LPCTSTR pszPathName, BOOL bReplace = TRUE);
//virtual CString GetElementString(POSITION pSelect, CPoint2D* pPoint);
int GetNodeWidth(void);
virtual CItemSelect* GetSelectItem(void);
void RemoveAt(COne* pOne);
CSize GetDocSize(void);
//BOOL IsMoveSelect(void);
//virtual CSize GetHandleSize(void);
//CRect GetHandleRect(LPPOINT lpPoint);
//BOOL IsItemEnable(int type);
//void UpdatePropertyGridContent(CItem* pItem);
//void UpdateSelection(void);
//void ModifiedMark(CXy* pXy);
//virtual BOOL IsModifiedMarkState(void);
BOOL GetElementRect(POSITION pos, CRect8& range);
//virtual void DrawItem(CXyDC& dc, int nModeX = -1, int nModeY = -1);
//CActionItem* m_pLastAction;
//virtual void EnableDefaultTool(void);
//void EnableToolSelection(void);
//void EnableArrowTool(void);
//BOOL OnGridItemChangeValue(CXTPPropertyGridItem* pItem);
void SetActionItem(CActionItem* pAction, bool bDo = true);
void NormalEXTLogFont(GDFLOGFONTEXT& font);
CWellPole* CreateNewWell(CREATENEWWELLSTRUCT wellStruct);
virtual BOOL GetDrawRange(CRect8& rect); //给缩放按钮功能提供图的范围
virtual void ClearSelection(void);
CREATENEWWELLSTRUCT m_newWellStruct;
CWellPole* CreateNewWell( LPCTSTR wellName, double top, double bottom, double ratio, LPCTSTR wellTemplateFile);
};