135 lines
3.3 KiB
C++
135 lines
3.3 KiB
C++
#if !defined(__KTCADTEMPOVERRIDES_H__)
|
|
#define __KTCADTEMPOVERRIDES_H__
|
|
|
|
// Description:
|
|
// 临时数据或状态自动管理类, 通过在函数需要的位置声明相应管理类的一个临时实例,
|
|
// 利于临时实例的释放时, 对类的析构函数的调用来恢复数据或状态.
|
|
// 类CKTTempLockDoc用于临时锁定文档,在非模式界面下作交互操作,需要锁定文档
|
|
// 类CKTTempSetSysVar用于临时设置系统变量
|
|
// 类CKTTempCloseCursor用于临时关闭十字光标
|
|
// 类CKTTempUndoGroup用于临时把以后操作作为一组来Undo
|
|
// 类CKTTempSetTol用于临时改变计算精度(浮点数,点,向量比较)
|
|
// 类CKTTempZoom用于临时缩放图形窗口
|
|
// Company: Kingtouch Software Corporation. Copyright 2002-2005
|
|
// Author: WangYongguang
|
|
// Date: 2002.05.01
|
|
|
|
#ifdef EARTHWORM_EXPORT
|
|
#define DLLIMPEXP __declspec(dllexport)
|
|
#else
|
|
#define DLLIMPEXP __declspec(dllimport)
|
|
#endif
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
class DLLIMPEXP CKTTempLockDoc
|
|
{
|
|
public:
|
|
// 构造函数, 默认锁定当前文档
|
|
CKTTempLockDoc();
|
|
// 构造函数, 锁定指定文档
|
|
CKTTempLockDoc(AcApDocument* pDoc);
|
|
// 析构函数, 解锁被锁定的文档
|
|
virtual ~CKTTempLockDoc();
|
|
|
|
protected:
|
|
// 锁定指定文档, 原先被锁定的文档将解锁
|
|
BOOL LockDocument(AcApDocument* pDoc);
|
|
// 锁定当前文档, 原先被锁定的文档将解锁
|
|
BOOL LockCurrentDocument();
|
|
// 解锁被锁定的文档
|
|
BOOL UnlockDocument();
|
|
|
|
AcApDocument* m_pDoc;
|
|
};
|
|
|
|
class DLLIMPEXP CKTTempSetSysVar
|
|
{
|
|
public:
|
|
// 默认构造函数
|
|
CKTTempSetSysVar();
|
|
// 构造函数, 保存指定的系统变量
|
|
CKTTempSetSysVar(LPCTSTR pszVarName);
|
|
// 构造函数, 保存指定的系统变量后, 设置新值
|
|
CKTTempSetSysVar(LPCTSTR pszVarName, short iVal);
|
|
CKTTempSetSysVar(LPCTSTR pszVarName, int iVal);
|
|
CKTTempSetSysVar(LPCTSTR pszVarName, long lVal);
|
|
CKTTempSetSysVar(LPCTSTR pszVarName, double dVal);
|
|
CKTTempSetSysVar(LPCTSTR pszVarName, LPCTSTR pszVal);
|
|
CKTTempSetSysVar(LPCTSTR pszVarName, ads_point ptVal);
|
|
// 析构函数, 恢复保存的系统变量
|
|
virtual ~CKTTempSetSysVar();
|
|
|
|
// 保存指定的系统变量
|
|
BOOL PushSystemVar(LPCTSTR pszVarName);
|
|
// 恢复指定的系统变量
|
|
BOOL PopSystemVar(LPCTSTR pszVarName);
|
|
// 恢复所有的系统变量
|
|
BOOL PopAllSystemVar();
|
|
|
|
// 保存指定的系统变量后, 设置新值
|
|
BOOL SetSystemVar(LPCTSTR pszVarName, short iVal);
|
|
BOOL SetSystemVar(LPCTSTR pszVarName, int iVal);
|
|
BOOL SetSystemVar(LPCTSTR pszVarName, long lVal);
|
|
BOOL SetSystemVar(LPCTSTR pszVarName, double dVal);
|
|
BOOL SetSystemVar(LPCTSTR pszVarName, LPCTSTR pszVal);
|
|
BOOL SetSystemVar(LPCTSTR pszVarName, ads_point ptVal);
|
|
|
|
protected:
|
|
CMapStringToString m_mapText;
|
|
CMap<CString, LPCTSTR, long, long> m_mapInt;
|
|
CMap<CString, LPCTSTR, double, double> m_mapFloat;
|
|
CMap<CString, LPCTSTR, AcGePoint3d, AcGePoint3d&> m_mapPoint;
|
|
};
|
|
|
|
class DLLIMPEXP CKTTempCloseCursor
|
|
{
|
|
public:
|
|
CKTTempCloseCursor();
|
|
virtual ~CKTTempCloseCursor();
|
|
|
|
protected:
|
|
AcEdInputPointManager* m_pInputMgr;
|
|
};
|
|
|
|
class DLLIMPEXP CKTTempUndoGroup
|
|
{
|
|
public:
|
|
CKTTempUndoGroup();
|
|
virtual ~CKTTempUndoGroup();
|
|
|
|
protected:
|
|
int m_iCmdEcho;
|
|
};
|
|
|
|
class DLLIMPEXP CKTTempSetTol
|
|
{
|
|
public:
|
|
CKTTempSetTol(double dTol);
|
|
virtual ~CKTTempSetTol();
|
|
|
|
protected:
|
|
double m_dTol;
|
|
AcGeTol m_geTol;
|
|
};
|
|
|
|
class DLLIMPEXP CKTTempZoom
|
|
{
|
|
public:
|
|
CKTTempZoom(BOOL bLockUpdate = TRUE);
|
|
CKTTempZoom(const AcGePoint3d& ptMin, const AcGePoint3d& ptMax, BOOL bLockUpdate = TRUE);
|
|
virtual ~CKTTempZoom();
|
|
|
|
protected:
|
|
BOOL m_bRestore;
|
|
BOOL m_bMyLock;
|
|
|
|
AcGePoint3d m_ptMin;
|
|
AcGePoint3d m_ptMax;
|
|
|
|
static BOOL m_bLockUpdate;
|
|
};
|
|
|
|
#endif // !defined(__KTCADTEMPOVERRIDES_H__)
|