187 lines
4.3 KiB
C++
187 lines
4.3 KiB
C++
#pragma once
|
|
#include "afxcmn.h"
|
|
#include "resource.h"
|
|
#include "afxwin.h"
|
|
#include "BlkRecsPreviewCtrl.h"
|
|
#include "XListCtrl.h"
|
|
|
|
class AecDbEwEquipment;
|
|
class CEquipManaDlg : public CAcUiDialog
|
|
{
|
|
DECLARE_DYNAMIC(CEquipManaDlg)
|
|
|
|
public:
|
|
enum TYPE
|
|
{
|
|
// 显示实体
|
|
eEntity = 0,
|
|
// 显示DWG文件
|
|
eDWGFile,
|
|
// None
|
|
eNone,
|
|
};
|
|
|
|
enum USE
|
|
{
|
|
eMana = eNone +1,
|
|
eInsert,
|
|
};
|
|
|
|
struct STItem
|
|
{
|
|
CString ID, Name, IDClass;
|
|
};
|
|
|
|
public:
|
|
//
|
|
CEquipManaDlg(const TYPE &type, const USE &use, LPCTSTR prefix, LPCTSTR title, CWnd* pParent = NULL);
|
|
virtual ~CEquipManaDlg();
|
|
|
|
void SetFolderShow(LPCTSTR pszFolder);
|
|
void SetClassShow(LPCTSTR pszClass, double dDn = -1);
|
|
|
|
//AecDbEwEquipment* GetSelectEqu();
|
|
int GetSelectEquDBIdx();
|
|
|
|
void Enable2DFlagCheck(BOOL bCheck2dFlag);
|
|
|
|
//设置okbutton title
|
|
void SetOkButtonText(LPCTSTR pszText);
|
|
|
|
TYPE getType() { return m_type; }
|
|
CString getTblPrefix() { return m_sPrefix; }
|
|
CUIISQLiteServer* getDbPtr() { return m_pDb; }
|
|
|
|
STItem GetCurSelItemData();
|
|
|
|
bool GetBaseStruPart(AcDbVoidPtrArray& arBaseStruParts);
|
|
|
|
void exportEquToDisk();
|
|
|
|
enum { IDD = IDD_EQUIPMANADLG };
|
|
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX);
|
|
virtual BOOL OnInitDialog();
|
|
afx_msg void OnBnClickedOk();
|
|
afx_msg void OnTvnSelchangedTreeequip(NMHDR *pNMHDR, LRESULT *pResult);
|
|
afx_msg void OnNewfolder();
|
|
afx_msg void OnNewclass();
|
|
afx_msg void OnRename();
|
|
afx_msg void OnDelete();
|
|
afx_msg void OnAdd();
|
|
afx_msg void OnDel();
|
|
afx_msg void OnProperty();
|
|
afx_msg void OnBnClickedBtadd();
|
|
afx_msg void OnBnClickedBtdel();
|
|
afx_msg void OnBnClickedBtop();
|
|
afx_msg void OnNMRclickTreeequip(NMHDR *pNMHDR, LRESULT *pResult);
|
|
afx_msg void OnBnClickedBtnewfolder();
|
|
afx_msg void OnBnClickedBtnewclass();
|
|
afx_msg void OnBnClickedBtrename();
|
|
afx_msg void OnBnClickedBtdelitem();
|
|
afx_msg void OnBnClickedBtmodirem();
|
|
afx_msg void OnBnClickedBtSearch();
|
|
afx_msg void OnBnClickedBand2d();
|
|
afx_msg void OnBnClickedBimAdd();
|
|
afx_msg void OnBnClickedBimMod();
|
|
afx_msg void OnBnClickedBimDel();
|
|
afx_msg void OnBnClickedBimImp();
|
|
afx_msg void OnBnClickedBimExp();
|
|
afx_msg LRESULT OnCellSelectChange(WPARAM wp, LPARAM lp);
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
void ShowEquipFolder();
|
|
void ShowEquipClass(HTREEITEM hFolder,LPCTSTR pszFolderID);
|
|
void ShowClassEquips(CString& sID);
|
|
void FreeBuffer();
|
|
void DoPopularMenu(HTREEITEM hItem,CPoint point);
|
|
|
|
// 得到当前选中item的文件,path为传入文件路径,如果文件存在,则删除
|
|
bool GetCurSelFile(LPCTSTR path);
|
|
|
|
void HideDialog(bool Flag);
|
|
|
|
public:
|
|
CUIISQLiteServer* m_pDb;
|
|
CImageList m_Imagelist;
|
|
CTreeCtrl m_wndEquipPrmTree;
|
|
CBlkRecsPreviewCtrl m_wndPreview;
|
|
CButton m_wndBtOk;
|
|
CBitmap m_bmpCmd[4];
|
|
CButton m_wndBtNewFolder;
|
|
CButton m_wndBtNewClass;
|
|
CButton m_wndBtRename;
|
|
CButton m_wndBtDelItem;
|
|
HTREEITEM m_hItemSel;
|
|
|
|
protected:
|
|
// 对话框 显示类型
|
|
TYPE m_type;
|
|
|
|
// 对话框用途
|
|
USE m_use;
|
|
|
|
//特定显示目录
|
|
CString m_sFolderShow;
|
|
|
|
//特定显示分类
|
|
CString m_sClassShow;
|
|
|
|
// 如果是阀门,则公称直径
|
|
int m_iFmDN;
|
|
|
|
// 树中hitem与数据库表中ClassId的映射
|
|
CMapStringToString m_mapItem2FolderID;
|
|
|
|
// 当对话框类型为“实体”时,保存当前页面Item的实体指针,最后释放内存
|
|
AcDbVoidPtrArray m_arEqusTmpPtr;
|
|
AcDbVoidPtrArray m_arBaseStruParts;
|
|
|
|
// 保存当前页面所有Item的package表的数据
|
|
std::vector<STItem> m_arItems;
|
|
|
|
// 对话框要操作的数据库表的表名前缀
|
|
CString m_sPrefix;
|
|
|
|
// 对话框title
|
|
CString m_sTitle;
|
|
|
|
CString m_sOkButton;
|
|
|
|
// 以下为设备管理命令使用
|
|
CButton m_btnBimAdd, m_btnBimMod, m_btnBimDel, m_btnBimImp, m_btnBimExp;
|
|
CXListCtrl m_wndBimLst;
|
|
CFont m_font;
|
|
// end
|
|
|
|
public:
|
|
BOOL m_b2DFlag;
|
|
BOOL m_bCheck2dFlag;
|
|
BOOL m_bVolHasFlang;
|
|
BOOL m_bFZSB;//放置设备
|
|
|
|
public:
|
|
// 设备管理
|
|
static void SBGL();
|
|
// 水池管理
|
|
static void SCGL();
|
|
// 插入设备
|
|
static void CRSB();
|
|
// 批量导入
|
|
static void PLDR();
|
|
// 修改标高
|
|
static void XGBG();
|
|
// 修改颜色
|
|
static void XGYS();
|
|
static AcDbEntity* getEntity(CEquipManaDlg *pDlg);
|
|
static AcDbEntity* getEntity(CUIISQLiteServer *pDb, CEquipManaDlg::TYPE type, LPCTSTR prefix, CEquipManaDlg::STItem item);
|
|
static void SBJC();
|
|
|
|
//管道风机
|
|
static void GDFJ();
|
|
|
|
afx_msg void OnBnClickedCheck1();
|
|
BOOL m_bHasBase;
|
|
};
|