138 lines
3.2 KiB
C++
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();
|
|
}
|
|
}
|
|
|