BIMHome v1.0.0
BIMHome接口文档说明
IApplication.h
浏览该文件的文档.
1/************************************************************************
2* @file IApplication.h
3*
4* @brief 应用程序类
5*
6* @details 应用程序类
7*
8* @author sunpeng
9*
10* @version 1.0
11*
12* @date 2014-9-12
13*
14* @license 北京华科软科技有限公司
15*
16*************************************************************************/
17
18#ifndef BIMHOMEAPP_APP_IAPPLICATION_H
19#define BIMHOMEAPP_APP_IAPPLICATION_H
20
21#include "BHGlobal.h"
22#include <vector>
23#include <string>
24#include <map>
25#include "IDocumentType.h"
26
27namespace App
28{
29 enum class DocType;
30}
31
32namespace App
33{
34 class ICommand;
35 class IWorkbench;
36 class IDocument;
37
38
39 class AppExport IApplication
40 {
41 public:
47 static IApplication& get();
48
54 static std::string getHomePath();
55
61 static std::string getExecutableName();
62
68 static std::string getTempPath();
69
76 static std::string getTempFileName(const char* FileName = nullptr);
77
83 static std::string getUserCachePath();
84
90 static std::string getUserConfigPath();
91
97 static std::string getUserAppDataDir();
98
104 static std::string getUserMacroDir();
105
111 static std::string getResourceDir();
112
118 static std::string getLibraryDir();
119
125 static std::string getHelpDir();
126
127 public:
128
129 virtual ~IApplication();
130
136 virtual std::vector<App::IDocument*> getAllIDocument() = 0;
137
143 virtual App::IDocument* getActiveDocument(void) const = 0;
144
151 virtual App::IDocument* getDocument(const char* Name) const = 0;
152
159 virtual App::IDocument* getDocumentById(const char* strId) = 0;
160
167 virtual const char* getIDocumentName(const App::IDocument* doc) const = 0;
168
174 virtual void setActiveIDocument(App::IDocument* pDoc) = 0;
175
181 virtual void setActiveDocument(const char* Name) = 0;
182
188 virtual const std::map<std::string, App::IDocument*>& getIDocMap() const = 0;
189
195 virtual long getUniqueObjectId() = 0;
196
209 const char* Name = nullptr,
210 const char* UserName = nullptr,
211 bool createView = true,
212 bool tempDoc = false,
214 const char* className = nullptr) = 0;
215
222 virtual bool closeDocument(const char* name) = 0;
223
235 virtual App::IDocument* openDocument(const char* FileName,
236 bool createView,
237 bool useLink,
238 const char* className,
239 void* pAppDelegate = nullptr,
240 void* pGuiDelegate = nullptr) = 0;
241
247 virtual void deleteDocumentById(const char* strId) = 0;
248
256 virtual App::IDocument* addTemplateDocument(const char* tempalteName, const char* filePath) = 0;
257
262 virtual void closeAllDocuments(void) = 0;
263
269 virtual bool isRestoring() const = 0;
270
276 virtual bool isClosingAll() const = 0;
277
286 virtual void deleteTemplateDocumentById(const char* strId) = 0;
287 };
288
289}
290
291#endif // BIMHOMEAPP_APP_IAPPLICATION_H
virtual std::vector< App::IDocument * > getAllIDocument()=0
获取所有文档对象
virtual void setActiveIDocument(App::IDocument *pDoc)=0
设置当前活动文档
virtual void deleteTemplateDocumentById(const char *strId)=0
删除指定Id的文档
virtual App::IDocument * getActiveDocument(void) const =0
获取当前活动文档
static std::string getUserConfigPath()
获取用户的配置文件路径
virtual long getUniqueObjectId()=0
生成一个唯一的对象ID
virtual App::IDocument * getDocumentById(const char *strId)=0
获取指定文档
virtual const std::map< std::string, App::IDocument * > & getIDocMap() const =0
返回一个包含所有文档的映射
virtual App::IDocument * addTemplateDocument(const char *tempalteName, const char *filePath)=0
临时加入一个文档
static std::string getHomePath()
获取应用程序的主目录路径
static std::string getUserCachePath()
获取用户的缓存路径
virtual const char * getIDocumentName(const App::IDocument *doc) const =0
得到文档的名称
virtual void setActiveDocument(const char *Name)=0
设置当前活动的Document文档
static std::string getHelpDir()
获取帮助文档目录的路径
static std::string getUserMacroDir()
获取用户宏目录的路径
static std::string getLibraryDir()
获取库目录路径
virtual bool isRestoring() const =0
当前是否正在打开或者恢复一些文档
virtual App::IDocument * getDocument(const char *Name) const =0
获取指定文档
virtual void deleteDocumentById(const char *strId)=0
删除指定Id的文档
virtual App::IDocument * openDocument(const char *FileName, bool createView, bool useLink, const char *className, void *pAppDelegate=nullptr, void *pGuiDelegate=nullptr)=0
打开一个文档
static std::string getExecutableName()
获取可执行文件的名称
static std::string getTempFileName(const char *FileName=nullptr)
获取临时文件名称
static std::string getUserAppDataDir()
获取用户的应用程序数据目录路径
virtual ~IApplication()
virtual App::IDocument * newIDocument(const char *Name=nullptr, const char *UserName=nullptr, bool createView=true, bool tempDoc=false, App::DocType type=App::DocType::Component, const char *className=nullptr)=0
创建一个新的文档对象
virtual bool closeDocument(const char *name)=0
关闭指定名称的文档,并且从DocMap中移除
static std::string getTempPath()
获取临时文件路径
virtual void closeAllDocuments(void)=0
关闭所有文档 (不保存)
virtual bool isClosingAll() const =0
是否关闭了所有文档
static IApplication & get()
获取应用程序实例
static std::string getResourceDir()
获取资源路径
Definition IApplication.h:40
文档接口类
Definition IDocument.h:43
DocType
文档类型
Definition IDocumentType.h:30
Definition BaseFigureFactory.h:28