Files
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

74 lines
1.5 KiB
C++

#include "stdafx.h"
#include "AecBaseDoubleClickEdit.h"
#include "AecDbObjXDataMap.h"
#ifdef AECRXBASE_EXPORT
#define AECDLLIMPEXP __declspec(dllexport)
#else
#define AECDLLIMPEXP __declspec(dllimport)
#endif
AecBaseDoubleClickEdit::AecBaseDoubleClickEdit(void)
{
}
AecBaseDoubleClickEdit::~AecBaseDoubleClickEdit(void)
{
}
//不得导出,需要数据,增加特定的获取函数
AecDbObjXDataMap g_mapGlobalData;
void AecBaseDoubleClickEdit::startEdit(AcDbEntity *pEnt, AcGePoint3d pt)
{
if (pEnt != NULL)
{
//命令名 DBL_DXFNAME
TCHAR szCmd[65];
_tcscpy(szCmd,_T("DBL_"));
_tcscat(szCmd,pEnt->isA()->dxfName());
//判断命令是否存在
AcEdCommand* pCmd = acedRegCmds->lookupLocalCmd(szCmd);
if (pCmd != NULL)
{
//发送ID 到 USERI;
AcDbObjectId id = pEnt->objectId();
g_mapGlobalData.SetAt(szCmd,id);
pEnt->close();
acedPostCommand(_T("\x03"));
_tcscat(szCmd,_T(" "));
acedPostCommand(szCmd);
}
else
{
acutPrintf(_T("\nLocalCmd %s does not exist!"),szCmd);
}
}
}
void AecBaseDoubleClickEdit::finishEdit(void)
{
}
AECDLLIMPEXP bool GetDoubleClickEnt(LPCTSTR pszCmd,AcDbObjectId& id)
{
g_mapGlobalData.GetAt(pszCmd,id);
g_mapGlobalData.SetAt(pszCmd,AcDbObjectId::kNull);
return id.isValid();
}
//内部使用
AECDLLIMPEXP bool GetDoubleClickEntNoReset(LPCTSTR pszCmd,AcDbObjectId& id)
{
g_mapGlobalData.GetAt(pszCmd,id);
return id.isValid();
}
AECDLLIMPEXP bool SetDoubleClickEnt(LPCTSTR pszCmd, AcDbObjectId &id)
{
g_mapGlobalData.SetAt(pszCmd, id);
return true;
}