#pragma once #include "ModelLibDlgBase.h" class CEquLibDlg: public CModelLibDlgBase { public: CEquLibDlg(LPCTSTR pszDir = NULL , LPCTSTR pszFile = NULL); DECLARE_MESSAGE_MAP() public: afx_msg void OnChkFlange(); afx_msg void OnChk2dFlag(); afx_msg void OnCbnSelchangeValveDriverType(); public: virtual BOOL OnInitDialog(); virtual void initPreviewCtrl(); virtual void initLocalDirTree(); virtual void initServerDirTree(); virtual bool initSqliteDB(); virtual void refreshLocalFileList(HTREEITEM hItem); virtual void refreshBimPropertyList(int idx); virtual void LbnSelchangeFileList(); virtual void LbnDblClkFileList(); virtual void BnClickedDirAdd(); virtual void BnClickedDirRename(); virtual void BnClickedDirDel(); virtual void BnClickedDirOut(); virtual void BnClickedDirIn(); virtual void BnClickedFileIn(); virtual void BnClickedFileNew(); virtual void BnClickedFileCopy(); virtual void BnClickedFileRename(); virtual void BnClickedFileDel(); virtual void BnClickedFileOut(); virtual void BnClickedBimAdd(); virtual void BnClickedBimModi(); virtual void BnClickedBimDel(); virtual void BnClickedOk(); virtual void BnClickedInsert(); virtual void TvnSelchangedLocalDirTree(NMHDR *pNMHDR, LRESULT *pResult); virtual void EnChangeSearch(); virtual void PopMenuForLocalDirTree(const CPoint &pt); virtual void PopMenuForServerDirTree(const CPoint &pt); virtual void PopMenuForLocalFileList(const CPoint &pt); virtual void ExpandServerDirTree(bool bExpand); protected: // 注意,ptLM不是左上角点,是左侧中点 CRect calcCtrlSize(CWnd *pWnd, const CPoint &ptLM); protected: CString m_sTablePrefix; CString m_sFileSuffix; CString m_sRootName; // 自定义设备的插入模式(隐藏了目录和文件的管理功能,只能插入) bool m_bInsertMode; // 自定义阀门的插入模式,需要额外显示3控件 // 分别是 checkbox"管线插入配对法兰", checkbox"二维显示为符号", combobox"阀门驱动类型" // 此时,由于存在搜索内容,界面会变为搜索模式 bool m_bValveMode; public: // 是否自动插入法兰 bool m_bUseFangle; // 是否二维显示为符号 bool m_bCheck2DFlag; // 阀门驱动类型 int m_nValveType; //法兰端面和垫片 CString m_sEndF1, m_sEndF2; CString m_sGaskets; // 针对插入阀门命令的特殊控件 CButton m_ctrlCheckUseFangle; CButton m_ctrlCheck2DFlag; CStatic m_ctrlStaticValveDriverType; CComboBox m_ctrlComboValveDriverType; public: // 自定义的阀门插入 static AecDbEwEquipment* selectCustomValve(LPCTSTR pszValueName // 阀门名称 , double dDN // 文件中名中的中的公称直径,例:“DN100” , bool &bUseFangle // 返回“插入法兰”选项的选择结果,其传入的值会影响默认选中状态 , bool &b2DCheck // 返回“二维显示为符号”选项的选择结果,其传入的值会影响默认选中状态 ); // 自定义的非阀门设备插入到管道上,不考虑管道DN,只考虑目录和类型 static AecDbEwEquipment* selectEqu(LPCTSTR pszSearch , bool &bUseFangle , bool &b2DCheck); // 设备管理 static void sbgl(); // 插入设备 static void crsb(LPCTSTR pszDir = NULL); };