Files
envi-code/SourceCode/Code2026/PipelineCmd/EquipManaDlg.h
T
2026-09-28 15:28:50 +08:00

187 lines
4.1 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;
};