📄 workspace.h
字号:
// WorkSpace.h: interface for the CWorkSpace class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_WORKSPACE_H__B3BF9DBF_1547_40D3_B81A_9387A7F91EAD__INCLUDED_)
#define AFX_WORKSPACE_H__B3BF9DBF_1547_40D3_B81A_9387A7F91EAD__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//#include "OptWorkSpcBar.h"
class CCoreToolJavaw;
class CDevToolJavacPage;
class CCoreToolJavaw;
class CDevToolJavacPage;
class CToolManager;
class CFileViewTree;
class CProject;
struct CProjectFile;
struct CProjectFileFolder;
class CJavaTextBuffer;
struct CWorkSpcItem
{
UINT m_nItemType;
int m_nStatus;
void *m_pItem;
CWorkSpcItem(){m_nStatus =0;}
~CWorkSpcItem()
{
int x =0;
}
};
class CWorkSpace
{
CString m_szpWorkSpcName;
CString m_szpPath;
CList<CProject*,CProject*> m_Projects;
BOOL m_bModified;
CProject* m_pActiveProject;
void close();
public:
void SetActiveProject(CString strProject);
CWorkSpcItem* m_pItem; HTREEITEM m_hLocation;
CFileViewTree* getFileView();
CWorkSpace();
virtual ~CWorkSpace();
BOOL CreateWorkSpc(CString szpName,CString szpPath,BOOL bCreateProject = FALSE);
BOOL CreateProject(CString szpName,CString szpPath);
BOOL OpenWorkSpc(CString szpPath,CTreeCtrl *pTreeCtrl);
void AddProject(CString szpName,CString szpPath,CTreeCtrl *pTreeCtrl);
void AddFile(CString szpName,CString szpPath,CString szpFolder,
CTreeCtrl *pTreeCtrl,void* pProj);
void FillCombo(CComboBox *pCombo);
CString getPath(){return m_szpPath;}
CString getName(){return m_szpWorkSpcName;}
CProject *getProject(CString szpName);
void SaveWorkSpc();
BOOL Modified(){return m_bModified;}
BOOL OpenProject(CString szpPath, CTreeCtrl *pTreeCtrl);
void CreateOnOpenProject(CString szpName,CString szpPath);
void SaveSetting();
void LoadSetting();
void NewFolder(CString szpName,CString szpExts,CString szpProject);
void AddFiles(CStringList* pNames,CString szpFolder,CString szpProject);
CProject* GetActiveProject(){return m_pActiveProject;}
void OpenFile(CString szpProj,CString strFolder,CString szpFile);
void AcquireDataToRunJavac(CMapStringToString* lszpList,int& nConfig);
void AcquireDataToRunJavaw(CMap<CString,CString&,int,int&>*lpCommands);
};
class CProject
{
CString m_szpProjectName;
CString m_szpPath;
CList<CProjectFileFolder*,CProjectFileFolder*> m_FileFolders;
CToolManager* m_pToolManager;
public:
CWorkSpcItem* m_pItemFileView;
CWorkSpcItem* m_pItemClassView;
CWorkSpcItem* m_pItemResView;
CFileViewTree* getFileView();
HTREEITEM m_hLocation;
CProject();
virtual ~CProject();
BOOL CreateProject(LPCTSTR szpName,LPCTSTR szpPath,LPCTSTR szpWorkSpc = NULL);
void AddFile(CString szpName,CString szpPath,CString szpFolder,
CTreeCtrl *pTreeCtrl);
void AddFiles(CStringList* pNames,CString szpFolder);
BOOL OpenProject(LPCTSTR szpPath,CTreeCtrl *pTreeCtrl,HTREEITEM hParent);
CString getName(){return m_szpProjectName;}
CString getPath(){return m_szpPath;}
CProjectFileFolder* getFileFolder(CString szpName,CString szpExt);
CProjectFileFolder* createFileFolder(CString szpName,CString szpExt,CTreeCtrl* pTreeCtrl);
void SaveProject();
CProjectFile* getFile(CString strFolder,CString szpFile);
void NewFolder(CString szpName,CString szpExts);
void OpenFile(CString strFolder,CString szpFile);
void AcquireDataToRunJavac(CMapStringToString* lszpList,int& nConfig);
void AcquireDataToRunJavaw(CMap<CString,CString&,int,int&>*lpCommands);
CToolManager* GetToolMgr(){return m_pToolManager;}
};
class CJavaDeclManager;
struct CProjectFile
{
CString m_szpName;
CString m_szpPath;
HTREEITEM m_hLocation;
CWorkSpcItem* m_pItem;
CString m_szpStat;
CRect m_frmRect;
BOOL m_bInit;
CJavaDeclManager* m_pDeclManager;
CProjectFile(CString strPath);
~CProjectFile();
};
struct CProjectFileFolder
{
CStringList m_Extensions;
CString m_szpName;
HTREEITEM m_hLocation;
CList<CProjectFile*,CProjectFile*> m_Files;
CWorkSpcItem* m_pItem;
CProjectFileFolder()
{
}
~CProjectFileFolder()
{
for(POSITION nPos = m_Files.GetHeadPosition(); nPos != NULL;)
delete m_Files.GetNext(nPos);
delete m_pItem;
}
CProjectFile* getFile(CString szpFile)
{
for(POSITION nPos = m_Files.GetHeadPosition(); nPos != NULL;)
{
CProjectFile* pFile = m_Files.GetNext(nPos);
if(pFile->m_szpName.Compare(szpFile) == 0)
return pFile;
}return NULL;
}
void concanateExts(CString& szpExts)
{
for(POSITION nPos = m_Extensions.GetHeadPosition(); nPos != NULL;)
szpExts += m_Extensions.GetNext(nPos)+',';
szpExts.TrimRight(',');
}
void deconcanate(CString& szpExts)
{
int pos = szpExts.Find(',');
for(pos; pos != -1;pos = szpExts.Find(','))
{
m_Extensions.AddTail(szpExts.Left(pos));
szpExts = szpExts.Right(szpExts.GetLength()-pos-1);
}
if(!szpExts.IsEmpty())m_Extensions.AddTail(szpExts);
}
};
#endif // !defined(AFX_WORKSPACE_H__B3BF9DBF_1547_40D3_B81A_9387A7F91EAD__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -