📄 workspacefilebuffer.h
字号:
/************************************************************************
*
* Resource ID Organiser Core Library
*
* (c) Copyright 2000-2004 by Anna-Jayne Metcalfe (resorg@annasplace.me.uk)
* All rights reserved.
*
************************************************************************
*
* Filename : WorkspaceFileBuffer.h
*
* Description : CWorkspaceFileBuffer - A string array buffer class for
* parsing Visual Studio Project (.dsp) files
*
* Compiler : Microsoft Visual C++ 6.0, Service Pack 3 or later
* Microsoft Visual C++ .NET 2003
*
* Target
* Environment : Windows 98/NT/2000/XP
*
* NOTE:
*
* This software is provided "as is" free for personal use. All
* title and copyrights in and to the software, including but not
* limited to any images, text, etc. incorporated into it, are
* owned by Anna-Jayne Metcalfe, except where acknowledged otherwise.
*
* Your may freely to use this code in your own products, PROVIDED
* this notice is not removed or modified.
*
*
* Visit http://www.annasplace.me.uk/resorg for latest updates
*
************************************************************************
*
* MODIFICATION HISTORY:
*
* This is a controlled document. See project configuration
* control tool for latest version and full version history.
*
* $Archive: /Projects/AddIns/ResOrg/ResOrgCore/WorkspaceFileBuffer.h $
* $Revision: 10 $
* $Date: 26/10/04 10:04 $
* $Author: Anna $
*
* $History: WorkspaceFileBuffer.h $
*
* ***************** Version 10 *****************
* User: Anna Date: 26/10/04 Time: 10:04
* Updated in $/Projects/AddIns/ResOrg/ResOrgCore
* Added CWorkspaceFileBuffer::GetSolutionName() and
* GetResourceFilePathNames()
*
* ***************** Version 9 *****************
* User: Anna Date: 15/04/03 Time: 20:32
* Updated in $/Projects/AddIns/ResOrg/ResOrgCore
* 1. Removed unnecessary file guards (#pragma once works well enough)
* 2. Updated file banners
*
* ***************** Version 8 *****************
* User: Anna Date: 25/11/02 Time: 15:20
* Updated in $/Projects/AddIns/ResOrg/ResOrgCore
* Changed website address in banner
*
* ***************** Version 7 *****************
* User: Anna Date: 22/10/02 Time: 13:24
* Updated in $/Projects/AddIns/ResOrg/ResOrgCore
* Changed name/mail address (at last!)
*
* ***************** Version 6 *****************
* User: Andy Date: 7/06/02 Time: 17:04
* Updated in $/Projects/AddIns/ResOrg/ResOrgCore
* Renamed the ResOrgUtils module to ResOrgCore. Updated file banners
* accordingly
*
* ***************** Version 5 *****************
* User: Andy Date: 1/24/02 Time: 10:15p
* Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
* Added support for VC7 workspaces and project files
*
* ***************** Version 4 *****************
* User: Andy Date: 22/06/01 Time: 9:53
* Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
* Made class declaration "Rose friendly"
*
* ***************** Version 3 *****************
* User: Andy Date: 2/03/01 Time: 17:12
* Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
* Implemented functionality for reading the list of projects from the
* .dsw files
*
* ***************** Version 2 *****************
* User: Andy Date: 29/11/00 Time: 18:37
* Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
* Added file banners
*
* $Nokeywords: $
*
************************************************************************/
#pragma once
class CProjectInfo
{
public:
CProjectInfo(void) {}
CProjectInfo(const CProjectInfo& src);
virtual ~CProjectInfo(void) {}
CString m_sProject;
CString m_sPathName;
CStringArray m_arrayDependencies;
void operator=(const CProjectInfo& src);
};
typedef CMap<CString, LPCTSTR, CProjectInfo, CProjectInfo&> CMapStringToProject;
enum VcWorkspaceFormat
{
Workspace_VC6,
Workspace_VC7
};
/////////////////////////////////////////////////////////////////////////////
// CWorkspaceFileBuffer class
#define CWorkspaceFileBuffer_BASE CNGTextBuffer
class RESORGCORE_EXT_CLASS CWorkspaceFileBuffer : public CNGTextBuffer
{
DECLARE_DYNCREATE(CWorkspaceFileBuffer)
CWorkspaceFileBuffer(void);
virtual ~CWorkspaceFileBuffer(void);
// Attributes
protected:
CMapStringToProject m_mapProjects;
VcWorkspaceFormat m_eFormat;
// Operations
public:
CString GetSolutionName(void) const;
int GetProjects(CStringArray& rarrayProjects) const;
int GetProjectCount(void) const;
CString GetResourceFileName(const CString& sProject) const;
int GetResourceFilePathNames( const CString& sProject,
CStringArray& rarrayPathNames) const;
// Virtual Overrides
public:
virtual void Serialize(CArchive& ar);
virtual void DeleteContents(void);
protected:
virtual BOOL Read(CArchive& ar);
virtual BOOL Parse(const CString& sLine);
// Implementation
protected:
CString GetPathName(const CString& sRelativePath) const;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -