#pragma once #include "resource.h" #include "uiiado.h" #include "GsPreviewCtrl.h" #include "EarThwormDef.h" class AecDbEwPipe; class CDJPGDlg : public CDialog { DECLARE_DYNAMIC(CDJPGDlg) public: CDJPGDlg(CWnd* pParent = NULL); virtual ~CDJPGDlg(); int GetPipe(AecDbEwPipe*& pPipe); enum { IDD = IDD_DJPG_DLG }; protected: virtual void DoDataExchange(CDataExchange* pDX); DECLARE_MESSAGE_MAP() public: afx_msg void OnBnClickedOk(); virtual BOOL OnInitDialog(); afx_msg void OnStnClickedStaticColor(); afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); afx_msg LRESULT OnViewLButtonDown(WPARAM wp,LPARAM lp); void InitPipeList(); protected: void ShowEwSection(); void FormatAddtionScr(); void ShowAddtion(); void ShowLastSection(); void ExtractRegionRooms(); void ShowRoomName(); void ExtrAddtionToMap(); int GetIdxOfRoom(); STSection* GetShEwSection() const; public: CString m_sCurrSys; CString m_sMertial; double m_dDn; double m_dt; double m_dOD; int m_nPipeColor; CString m_sPipeNo; int m_nFloor; int m_nCableCount; double m_dSpace; BOOL m_bDJ; int m_iNo; int m_idxRoom; // 缓存,出图用 AcDbVoidPtrArray m_arDrawBuffer; //附属脚本如支架 CMapStringToString m_mapAddtion; //所有的舱室 AcDbVoidPtrArray m_arRegionRooms; // 舱体类型 std::vector m_roomTypes; CMapStringToPtr m_mapIndexToDbText; //点击的舱室 AcDbEntity* m_pRegionRoom; // 当前所选的截面描述 STSection m_curSection; CString m_sCrossSectionScr; CString m_sAddtionScr; //舱室名称和偏移 CMapStringToString m_mapIndexToName; // gsview控件 CGsPreviewCtrl m_wndViewCtrl; CListCtrl m_wndPipeList; CUIISQLiteServer m_dbSQLite; CListBox m_wndListBoxMaters; CListBox m_wndSysListBox; };