2026-10-04 00:04:20 +08:00
|
|
|
//-------------------------------------------------------------------------------------------------------+
|
2026-09-28 15:28:50 +08:00
|
|
|
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
|
2026-10-04 00:04:20 +08:00
|
|
|
// = FileName : TArchDbReactor 类
|
2026-09-28 15:28:50 +08:00
|
|
|
// = Version : ver2.0
|
|
|
|
|
// = Author : wlw
|
|
|
|
|
// = CreateDate : 2002-09-09
|
2026-10-04 00:04:20 +08:00
|
|
|
// = Description: TArchDbReactor 声明
|
2026-09-28 15:28:50 +08:00
|
|
|
// = Maintainers:
|
|
|
|
|
//
|
|
|
|
|
//-------------------------------------------------------------------------------------------------------+
|
|
|
|
|
#ifndef _TARCHDBREACTOR_H_
|
|
|
|
|
#define _TARCHDBREACTOR_H_
|
|
|
|
|
|
|
|
|
|
class TArchPerDocData;
|
|
|
|
|
class TDbWall;
|
|
|
|
|
class TDbColumn;
|
|
|
|
|
class TAssocMsgContainer;
|
|
|
|
|
|
|
|
|
|
class TARCH_EXP TArchDbReactor : public AcDbDatabaseReactor
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
TArchDbReactor(TArchPerDocData*pDD);
|
|
|
|
|
~TArchDbReactor();
|
|
|
|
|
static void Attach();
|
|
|
|
|
static void Detach();
|
|
|
|
|
|
|
|
|
|
virtual void objectErased(const AcDbDatabase* dwg,const AcDbObject* dbObj,Adesk::Boolean pErased = Adesk::kTrue);
|
|
|
|
|
virtual void objectAppended(const AcDbDatabase* dwg,const AcDbObject* dbObj);
|
|
|
|
|
virtual void objectOpenedForModify(const AcDbDatabase* dwg,const AcDbObject* dbObj);
|
|
|
|
|
virtual void objectModified(const AcDbDatabase* dwg,const AcDbObject* dbObj);
|
|
|
|
|
virtual void objectUnAppended (const AcDbDatabase* dwg, const AcDbObject* dbObj);
|
|
|
|
|
virtual void objectReAppended (const AcDbDatabase* dwg, const AcDbObject* dbObj);
|
|
|
|
|
virtual void headerSysVarChanged (const AcDbDatabase* dwg, const TCHAR* name,Adesk::Boolean bSuccess);
|
|
|
|
|
|
|
|
|
|
TArchPerDocData* GetDocData()const;
|
|
|
|
|
BOOL IsDocLocked()const;
|
|
|
|
|
|
|
|
|
|
void AddWallCorners(class TDbWall *pWall);
|
|
|
|
|
void AddChangedColumn(class TDbColumn *pColumn);
|
|
|
|
|
void AddModifiedOpening(const AcDbObjectId &id);
|
|
|
|
|
void AddModifiedWall(const AcDbObjectId &id);
|
|
|
|
|
void AddModifiedClip(const AcDbObjectId &id);
|
|
|
|
|
void AddModifiedClipped(const AcDbObjectId&id);
|
|
|
|
|
void AddModifiedRegion(const AcDbObjectId&id);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void ObjectChanged(const AcDbObject *dbObj, int nChgFlag);
|
|
|
|
|
|
2026-10-04 00:04:20 +08:00
|
|
|
TAssocMsgContainer* m_pAssocMsgContainer; //消息容器
|
2026-09-28 15:28:50 +08:00
|
|
|
protected:
|
2026-10-04 00:04:20 +08:00
|
|
|
TArchPerDocData *m_pDocData;//永远不为NULL
|
2026-09-28 15:28:50 +08:00
|
|
|
|
|
|
|
|
};
|
|
|
|
|
#endif
|