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

138 lines
3.2 KiB
C++

//--------------------------------------------------------------------------------
// = Copyright
// Copyright(c) 2009 2010 lifuyin
// All rights reserved
// = Author(S)
// Ligend@163.com
// = Version
// Version1.0
// = Date
// 2010 1-30
// = Modify Date
//
//--------------------------------------------------------------------------------
#include "stdafx.h"
#include "resource.h"
#include "EquipDesignMainBar.h"
#include "EquipmentMakeDlg.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
#define WM_NAMERULEREFRUSH (WM_USER + 0X1004)
IMPLEMENT_DYNAMIC(CEquipDesignMainBar, CAcUiDockControlBar);
CEquipDesignMainBar::CEquipDesignMainBar()
{
m_pEquipmentMainDlg = NULL;
m_pDb = new CUIISQLiteServer;
}
CEquipDesignMainBar::~CEquipDesignMainBar()
{
}
BEGIN_MESSAGE_MAP(CEquipDesignMainBar, CAcUiDockControlBar)
//{{AFX_MSG_MAP(CEquipDesignMainBar)
ON_WM_CREATE()
ON_WM_CONTEXTMENU()
ON_WM_DESTROY()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
int CEquipDesignMainBar::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CAcUiDockControlBar::OnCreate(lpCreateStruct) == -1)
return -1;
if (m_pEquipmentMainDlg == NULL)
m_pEquipmentMainDlg = new CEquipmentMakeDlg(AcDbObjectId::kNull, this);
CString szMdbFile = FilePath::GetSysDir() + _T("\\Plumbing.db");
if (_taccess(szMdbFile, 0x00) != 0x00)
{
AfxMessageBox(_T("系统没有找到Aec3DMep.db文件!请检查软件是否正确安装!"));
return -1;
}
BOOL bSuccess = m_pDb->InitADOServer(szMdbFile);
if (!bSuccess) return -1;
m_pEquipmentMainDlg->ShowWindow(SW_SHOW);
m_pEquipmentMainDlg->SetAdoDb(m_pDb);
return 0;
}
bool CEquipDesignMainBar::OnClosing()
{
CAdUiDockControlBar::OnClosing();
acedGetAcadFrame()->ShowControlBar(this, FALSE, FALSE);
acedGetAcadFrame()->RecalcLayout();
return false;
}
void CEquipDesignMainBar::SizeChanged(CRect *lpRect, BOOL bFloating, int flags)
{
CRect rect = *lpRect;
rect.top += 4;
//GetClientRect(&rect);
if ( m_pEquipmentMainDlg != NULL && ::IsWindow(m_pEquipmentMainDlg->m_hWnd) )
{
m_pEquipmentMainDlg->SetWindowPos(NULL, rect.left, rect.top, rect.Width(), rect.Height(),
SWP_NOZORDER | SWP_NOACTIVATE);
}
}
void CEquipDesignMainBar::OnContextMenu(CWnd* pWnd, CPoint point)
{
}
void CEquipDesignMainBar::OnDestroy()
{
m_pEquipmentMainDlg->DestroyWindow();
CAcUiDockControlBar::OnDestroy();
}
CEquipDesignMainBar *g_pMainBar = NULL;
CEquipmentMakeDlg *g_pMainEquDlg = NULL;
#include "parseFamilyForRevit.h"
void CEquipDesignMainBar::Start(AcDbObjectId id)
{
// 转到西南轴侧
SHacedCommand(RTSTR, _T("_view"), RTSTR, _T("_swiso"), NULL);
#ifdef ZWCAD
SHacedCommand(RTSTR, _T("_SHADEMODE"), RTSTR, _T("_S"), RTNONE);
#else
SHacedCommand(RTSTR, _T("_vscurrent"), RTSTR, _T("c"), RTNONE);
#endif
struct resbuf rb;
rb.resval.rreal = 100.0;
acedSetVar(_T("ltscale"), &rb);
if (g_pMainEquDlg == NULL)
{
CAcModuleResourceOverride myResources;
g_pMainEquDlg = new CEquipmentMakeDlg(id, acedGetAcadFrame());
g_pMainEquDlg->ShowWindow(SW_SHOW);
g_pMainEquDlg->CenterWindow();
}
else
{
g_pMainEquDlg->m_MainID = id;
g_pMainEquDlg->ShowWEquipmentOnTree();
g_pMainEquDlg->ShowWindow(SW_SHOW);
g_pMainEquDlg->CenterWindow();
}
}