274 lines
6.7 KiB
C++
274 lines
6.7 KiB
C++
#ifndef _LAYERMANAGE_H
|
|
#define _LAYERMANAGE_H
|
|
|
|
|
|
#include "resource.h"
|
|
#include <adui.h>
|
|
#include <acui.h>
|
|
#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<CLayerData1> &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<CLayerData1> &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<CLayerData1> m_lstClashData;
|
|
};
|
|
|
|
//add by fxj 090120
|
|
class CLayerGrid : public WDGrid
|
|
{
|
|
public:
|
|
CLayerGrid(DList<ClashLayer> *pLstLayer=NULL);
|
|
DList<ClashLayer> *m_pLstLayer;
|
|
|
|
protected:
|
|
virtual void OnCellComboString(WDGridCell&cell,CComboBox&combo); // 准备下拉列表内容
|
|
virtual void OnDataChanged(); // 内容改变,支持行列数变化、单元格内容变化
|
|
};
|
|
|
|
// add by fxj 090108图层标准冲突解决(图层转换的子对话框)
|
|
class CLayerNameDlg : public GlwCAcUiDialog
|
|
{
|
|
public:
|
|
CLayerNameDlg(DList<ClashLayer> *pLstLayer);
|
|
enum { IDD = IDD_LAYER_NAME};
|
|
|
|
DList<ClashLayer> *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 |