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.
61 lines
1.4 KiB
C++
61 lines
1.4 KiB
C++
#pragma once
|
|
|
|
class CXy;
|
|
|
|
namespace SymbolManager
|
|
{
|
|
class AFX_EXT_CLASS CLibraryItem
|
|
{
|
|
public:
|
|
CLibraryItem();
|
|
~CLibraryItem();
|
|
|
|
void ClearXy();
|
|
void SetXy(CXy* pxy);
|
|
|
|
CString GetItemName(void);
|
|
int Read(void);
|
|
void Write(void);
|
|
|
|
CXy* m_pxy;
|
|
CString m_strFileName;
|
|
BOOL m_bModified; ///< 是否被修改过
|
|
};
|
|
|
|
class AFX_EXT_CLASS CLibraryManager
|
|
{
|
|
public:
|
|
CLibraryManager();
|
|
virtual ~CLibraryManager();
|
|
|
|
CList<CLibraryItem*, CLibraryItem*> m_libXy; ///< 符号库里面的文件XY链表
|
|
CString m_strPath;
|
|
|
|
BOOL IsSameLibraryPath(LPCTSTR lpszLibPath);
|
|
void RemoveAll(void);
|
|
void RemoveGroup(CString strNewFile);
|
|
void ReloadGroup(const CString& strFile);
|
|
BOOL RenameGroup(CString oldFile, CString newFile);
|
|
BOOL SaveAll();
|
|
bool InitLib(CString strNewPath, BOOL bNotJudgeSamePath);
|
|
POSITION AddNewGroup(CString strNewFile);
|
|
POSITION Find(CXy* pxy);
|
|
POSITION Find(CString strLibName);
|
|
CLibraryItem* GetAt(POSITION pos);
|
|
CXy* GetItemXy(POSITION pos);
|
|
CString GetTreePathName(LPCTSTR strFileName);
|
|
|
|
/** @brief 查找组strGroup中名称为strName的符号 */
|
|
CXy *FindMark(const CString &strGroup, const CString &strName);
|
|
|
|
/* @brief 查找符号名为strName的符号 */
|
|
CXy *FindMark(const CString &strName);
|
|
|
|
void ReNameMark(const CString &strGroup, const CString &oldName,const CString &newName);
|
|
};
|
|
}
|
|
|
|
|
|
using namespace SymbolManager;
|
|
|
|
extern "C" AFX_EXT_API CLibraryManager *WINAPI AfxGetMarkLibMgr(); |