#pragma once #include "PipeCableData.h" class CGLFJDlg : public CDialog { DECLARE_DYNAMIC(CGLFJDlg) public: CGLFJDlg(const PIPECABLE::ETYPE &type , int nRoom , LPCTSTR pszScript , LPCTSTR pszOffset , CMapStringToString &mpAddin , CStringArray &rooms , CWnd* pParent = NULL); virtual ~CGLFJDlg(); enum { IDD = IDD_GLFJ_DLG }; private: void initUI(); void initList(); void refreshListByString(); void refreshListByData(); void insert2List(const PIPECABLE::HOLDER &holder); void insert2List(const PIPECABLE::HANGER &hanger); void insert2List(const PIPECABLE::BOSS &boss); public: afx_msg void OnBnClickedADD(); afx_msg void OnBnClickedModify(); afx_msg void OnBnClickedDelete(); afx_msg void OnBnClickedCabling(); protected: virtual void DoDataExchange(CDataExchange* pDX); virtual BOOL OnInitDialog(); DECLARE_MESSAGE_MAP() private: PIPECABLE::ETYPE m_dlgType; CButton m_btnCabling; CListCtrl m_ctrlList; CStringArray m_rooms; CString m_Script; CMapStringToString &m_Addin; int m_nRoom; CString m_sOffset; PIPECABLE::HolderSet m_holders; PIPECABLE::HangerSet m_hangers; PIPECABLE::BossSet m_bosses; public: afx_msg void OnNMDblclkList1(NMHDR *pNMHDR, LRESULT *pResult); };