You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

135 lines
2.3 KiB
C

1 month ago
//////////////////////////////////////////////////////////////////////////////
//<2F>ļ<EFBFBD> LayerName.h
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
//
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д: 2005-12-07
/////////////////////////////////////////////////////////////////////////////
#pragma once
/**
* ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD>Ͱ<EFBFBD> windows <EFBFBD>ļ<EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "Layer:\project\ͼ<EFBFBD><EFBFBD>1": "Layer" <EFBFBD>ͽ<EFBFBD> ClassName<EFBFBD><EFBFBD>"project\ͼ<EFBFBD><EFBFBD>1" <EFBFBD>ͽ<EFBFBD> PathName
*/
class AFX_EXT_CLASS CLayerName
{
public:
CLayerName(void);
CLayerName(CString sname);
virtual ~CLayerName(void);
private:
CString sClassName;
CString name;
CStringArray m_type; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B4A2><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD>Է<EFBFBD>б<EFBFBD>ܲ<EFBFBD><DCB2>ֺ<EFBFBD><D6BA><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
public:
/**
* <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ClassName <EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>
*
* \return
*/
CString GetPathName(void);
void SetPathName(CString sname);
/**
* <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>
*
* \return
*/
CString GetParentPath();
int GetCount(void);
int GetHeadIndex(void);
int GetTailIndex(void);
CString GetPrevPathName(int &index);
CString GetNextPathName(int &index);
CString GetPathName(int index);
CString GetHeadPathName(void);
/**
* <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD> PathName<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>
*
* \return
*/
CString GetTailPathName(void);
/**
* <EFBFBD>ж<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>ǵ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* \param sname <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>
* \return
*/
BOOL IsParent(CString sname);
/**
* <EFBFBD>жϲ<EFBFBD><EFBFBD><EFBFBD>sname<EFBFBD>Ƿ<EFBFBD><EFBFBD>ǵ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD>
*
* \param sname
* \return
*/
BOOL IsChild(CString sname);
/**
* <EFBFBD>жϲ<EFBFBD><EFBFBD><EFBFBD>sname<EFBFBD>Ƿ<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ
*
* \param sname
* \return
*/
BOOL IsSameClass(CString sname);
/**
* <EFBFBD><EFBFBD>׼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD> ClassName <EFBFBD><EFBFBD> path
*/
void Standardization(void);
BOOL operator==(CLayerName& ln);
BOOL operator==(CString sLayerName);
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Class <EFBFBD><EFBFBD>
*
* \return
*/
CString GetClassName(void);
void operator=(CString sName);
CString GetAt(int nIndex);
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Class + ·<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* \return
*/
CString GetFullPathName(void);
CString operator[](int nIndex);
};
AFX_INLINE CString CLayerName::GetPathName(void)
{
return name;
}
AFX_INLINE CString CLayerName::GetClassName(void)
{
return sClassName;
}
AFX_INLINE CString CLayerName::GetAt(int nIndex)
{
ASSERT(nIndex>=0 || nIndex<m_type.GetCount());
return m_type[nIndex];
}
AFX_INLINE CString CLayerName::GetFullPathName(void)
{
CString str;
str.Format(_T("%s:\\%s"),GetClassName(),GetPathName());
return str;
}