#ifndef _LAYERMANAGE_H #define _LAYERMANAGE_H #include "resource.h" #include #include #include "afxwin.h" /////////////////////////////////////////////////////////// // TLayerGrid class TLayerGrid : public WDGrid { public: TLayerGrid(); void SetModify( BOOL bModify = FALSE ); BOOL GetModify(); protected: BOOL m_bModify; virtual void OnBeforeRefresh(WDGridCell&cell); virtual bool OnCellButtonDown(WDGridCell&cell,CString&res); virtual bool OnCellButtonTip(long row,long col,CString&res)const; virtual void OnCellComboString(WDGridCell &cell,CComboBox&combo); virtual void OnDataChanged(); }; ///////////////////////////////////////////////////////////// // CLayerManager 对话框 #if (ADS <= 16) class CLayerManager : public CAcUiDialog { DECLARE_DYNAMIC(CLayerManager) public: CLayerManager(CWnd* pParent = NULL); // 标准构造函数 virtual ~CLayerManager(); // 对话框数据 enum { IDD = IDD_LAYER_MANAGE }; CComboBox m_standard; TLayerGrid m_grid; CString m_sStdName;//add by whl protected: CString m_szCurFile; CString m_szSysPath; void InitGrid(); void UpdateGrid(); void UpdateVisible(); void UpdateCombox(); void SaveFile(); BOOL ReadFile(); BOOL WriteFile(); CString GetFullPath(const TCHAR *szFileName); virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 virtual BOOL OnInitDialog(); virtual void OnOK(); afx_msg void OnClose(); afx_msg void OnBnClickedButtonSetcurrent(); afx_msg void OnBnClickedButtonNew(); afx_msg void OnBnClickedButtonChange(); afx_msg void OnBnClickedButtonColor(); afx_msg void OnCbnSelchangeComboStandard(); DECLARE_MESSAGE_MAP() }; #else ////////////////////////////////////////////////////////////////////////// // 将对话框风格改为T20风格 class CLayerManager: public CModelessDialog { DECLARE_DYNAMIC(CLayerManager) public: CLayerManager(CWnd *pParent = NULL); virtual ~CLayerManager(); public: CComboBox m_standard; TLayerGrid m_grid; CString m_sStdName;//add by whl protected: CString m_szCurFile; CString m_szSysPath; CStatic m_staticTxt; CButton m_btnSetCur, m_btnNewRule, m_btnLayChange, m_btnClrRecover, m_btnClose; CListBox m_lstBox; protected: void InitGrid(); void UpdateGrid(); void UpdateVisible(); void UpdateCombox(); void SaveFile(); BOOL ReadFile(); BOOL WriteFile(); CString GetFullPath(const TCHAR *szFileName); virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 virtual BOOL OnInitDialog(); virtual void OnOK(); afx_msg void OnClose(); afx_msg void OnBnClickedButtonSetcurrent(); afx_msg void OnBnClickedButtonNew(); afx_msg void OnBnClickedButtonChange(); afx_msg void OnBnClickedButtonColor(); afx_msg void OnCbnSelchangeComboStandard(); DECLARE_MESSAGE_MAP() }; #endif #if (ADS <= 16) class CLayerStandardDlg : public GlwCAcUiDialog { public: CString m_szNewStandard; bool m_bSave; public: CLayerStandardDlg(CWnd* pParent = NULL) : GlwCAcUiDialog(IDD_LAYER_NEWSTANDARD, pParent),m_bSave(false){} protected: virtual void DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT_NEW, m_szNewStandard); if (m_bSave) SetWindowText(_T("另存为")); } }; #else //////////////////////////////////////////////////////////////////////////////// // CLayerStandardDlg 对话框 // modify by gjm 改造成T20风格 class CLayerStandardDlg : public CModelessDialog { DECLARE_DYNAMIC(CLayerStandardDlg) public: CString m_szNewStandard; CStatic m_staTxt; CEdit m_edt; CButton m_btnOk, m_btnCancel; public: CLayerStandardDlg(CWnd* pParent = NULL) : CModelessDialog(false){} protected: virtual void DoDataExchange(CDataExchange* pDX); virtual BOOL OnInitDialog(); virtual void OnOK(); DECLARE_MESSAGE_MAP() }; #endif ////////////////////////////////////////////////////////// // CLayerData class CLayerData { public: CString m_szKey; CString m_szName; int m_nColor; public: CLayerData(const TCHAR* sKey, const TCHAR* sName, int nColor=0) : m_szKey(sKey), m_szName(sName), m_nColor(nColor) {} }; class CLayerData1 //add by fxj 090206 { public: CString m_szKey; CString m_szName; CString m_szNote; int m_nColor; CString m_strLineType; //add by lgy 2012406 增加该参数是为了图层转换线型也需要转换 public: CLayerData1(const TCHAR* sKey, const TCHAR* sName, const TCHAR* sNote,int nColor=0, const TCHAR* sType = NULL) : m_szKey(sKey), m_szName(sName), m_szNote(sNote), m_nColor(nColor), m_strLineType(sType){} }; #if (ADS <= 16) class CLayerChangeDlg : public GlwCAcUiDialog { public: CLayerChangeDlg(CWnd* pParent = NULL); virtual ~CLayerChangeDlg(); enum { IDD = IDD_LAYER_CHANGE }; CComboBox m_current; CComboBox m_goal; protected: static int g_iSource,g_iDest; CString GetFullPath(const TCHAR *szFileName); BOOL ReadFile(CString szFullName, DList &lstLayer); virtual void DoDataExchange(CDataExchange* pDX); virtual BOOL OnInitDialog(); void HideDialog(BOOL bFlag); virtual void OnOK(); }; #else ///////////////////////////////////////////////////////////////////////// // CLayerChangeDlg 对话框 // mofify by gjm 修改成T20风格 class CLayerChangeDlg : public CModelessDialog { DECLARE_DYNAMIC(CLayerChangeDlg) public: CLayerChangeDlg(CWnd* pParent = NULL); virtual ~CLayerChangeDlg(); enum { IDD = IDD_LAYER_CHANGE }; CComboBox m_current; CComboBox m_goal; CButton m_btnOK, m_btnCancel; CStatic m_staCurrent, m_staDest; protected: static int g_iSource,g_iDest; CString GetFullPath(const TCHAR *szFileName); BOOL ReadFile(CString szFullName, DList &lstLayer);//modified by fxj 090206 virtual void DoDataExchange(CDataExchange* pDX); virtual BOOL OnInitDialog(); void HideDialog(BOOL bFlag);//add by fxj 090105 virtual void OnOK(); DECLARE_MESSAGE_MAP() }; #endif struct ClashLayer//add by fxj 090119 { XString m_sClashName; DList m_lstClashData; }; //add by fxj 090120 class CLayerGrid : public WDGrid { public: CLayerGrid(DList *pLstLayer=NULL); DList *m_pLstLayer; protected: virtual void OnCellComboString(WDGridCell&cell,CComboBox&combo); // 准备下拉列表内容 virtual void OnDataChanged(); // 内容改变,支持行列数变化、单元格内容变化 }; // add by fxj 090108图层标准冲突解决(图层转换的子对话框) class CLayerNameDlg : public GlwCAcUiDialog { public: CLayerNameDlg(DList *pLstLayer); enum { IDD = IDD_LAYER_NAME}; DList *m_pLstLayer; protected: CLayerGrid m_grid; virtual BOOL OnInitDialog(); void InitGrid(); virtual void OnOK(); }; struct SLayerStandardRecord { CString sLayerKeyword; //图层关键字 CString sLayerName; //图层名 CString sColor; //颜色 CString sLineType; //线型 CString sDescription; //说明 }; #endif