BIMHome v1.0.0
BIMHome接口文档说明
IGuiApplication.h
浏览该文件的文档.
1/************************************************************************
2* @file IGuiApplication.h
3*
4* @brief 应用程序类
5*
6* @details 应用程序类
7*
8* @author sunpeng
9*
10* @version 1.0
11*
12* @date 2014-9-11
13*
14* @license 北京华科软科技有限公司
15*
16*************************************************************************/
17
18#ifndef BIMHOMEGUI_GUI_IGUIAPPLICATION_H
19#define BIMHOMEGUI_GUI_IGUIAPPLICATION_H
20
21#include <BHGlobal.h>
22#include <vector>
23#include <string>
24
25namespace App
26{
27 enum class DocType;
28 class IDocument;
29 class IDocumentObject;
30}
31
32namespace Gui
33{
34 class ICommand;
35 class IWorkbench;
36 class IDocument;
37 class IMenuItem;
38 class IViewProvider;
39 class IMDIView;
40
46 class GuiExport IGuiApplication
47 {
48 public:
49
55
56 public:
57
64 virtual void newDocument(App::DocType type, const char* className = nullptr, const char* docName = "") = 0;
65
70 virtual void copyPartForProduct() = 0;
71
76 virtual void openDocument() = 0;
77
84 virtual void openDocument(const char* filename, const char* Module) = 0;
85
92 virtual void openFile(const char* FileName, const char* Module) = 0;
93
100 virtual void insertIDocument(Gui::IDocument* pDocument, bool usePartLink = true) = 0;
101
108 virtual Gui::IDocument* getIDocument(const char* name) const = 0;
109
116 virtual Gui::IDocument* getIDocument(const App::IDocument* pDocument) const = 0;
117
124 virtual Gui::IDocument* getDocumentById(const char* strId) = 0;
125
131 virtual void deleteIDocument(Gui::IDocument* pDocument) = 0;
132
138 virtual void copyIDocument(Gui::IDocument* pDocument) = 0;
139
147 virtual void importFrom(const char* FileName, const char* DocName, const char* Module) = 0;
148
156 virtual void exportTo(const char* FileName, const char* DocName, const char* Module,bool isLocal=false,unsigned short unitType=0) = 0;
157
162 virtual void saveAll() = 0;
163
170 virtual bool activateWorkbench(const char* name) = 0;
171
177 virtual std::string getActiveWorkbench() const = 0;
178
184 virtual Gui::IDocument* getActiveDocument(void) const = 0;
185
191 virtual void setActiveIDocument(Gui::IDocument* pDocument) = 0;
192
198 virtual Gui::IDocument* editDocument(void) const = 0;
199
205 virtual void setEditIDocument(Gui::IDocument* pDocument) = 0;
206
212 virtual bool isClosing(void) = 0;
213
220 virtual void setupContextIMenu(const char* recipient, Gui::IMenuItem* pIItem) const = 0;
221
226 virtual void activeViewFit() = 0;
227
232 virtual Gui::IMDIView* activeIView(void) const = 0;
233
239 };
240
241}
242
243#endif // GUI_IGUIAPPLICATION_H
文档接口类
Definition IDocument.h:43
Definition IDocumentObject.h:35
Definition IGuiDocument.h:32
virtual void activeViewFit()=0
调整当前活动文档中所有视图的显示范围,使其适应视图中的内容
virtual Gui::IMDIView * activeIView(void) const =0
返回当前活动视图
virtual void openDocument()=0
打开文档
virtual void exportTo(const char *FileName, const char *DocName, const char *Module, bool isLocal=false, unsigned short unitType=0)=0
将各种文件类型导入到应用程序中
virtual void setupContextIMenu(const char *recipient, Gui::IMenuItem *pIItem) const =0
设置上下文菜单项
virtual void saveAll()=0
全部保存
virtual Gui::IDocument * getIDocument(const App::IDocument *pDocument) const =0
根据传入的App::Document指针返回对应的Gui::Document指针,没有找到返回nullptr
virtual void openDocument(const char *filename, const char *Module)=0
打开文档
virtual std::string getActiveWorkbench() const =0
获取当前激活的工作台
virtual Gui::IDocument * editDocument(void) const =0
获取当前应用程序中正在编辑的文档
virtual Gui::IDocument * getDocumentById(const char *strId)=0
根据Id返回Document指针,没有找到返回nullptr
virtual void importFrom(const char *FileName, const char *DocName, const char *Module)=0
将各种文件类型导入到应用程序中
virtual void copyIDocument(Gui::IDocument *pDocument)=0
复制一个 Gui::IDocument 对象
virtual bool activateWorkbench(const char *name)=0
激活指定名称的工作台
virtual void newDocument(App::DocType type, const char *className=nullptr, const char *docName="")=0
新建文档
virtual void openFile(const char *FileName, const char *Module)=0
打开文件
virtual Gui::IViewProvider * getIViewProvider(App::IDocumentObject *) const =0
获取VP对象
virtual Gui::IDocument * getActiveDocument(void) const =0
获取当前活动的文档
virtual void setActiveIDocument(Gui::IDocument *pDocument)=0
设置活动文档
virtual bool isClosing(void)=0
检查应用程序是否正在关闭
virtual void setEditIDocument(Gui::IDocument *pDocument)=0
设置正在编辑的文档
virtual void insertIDocument(Gui::IDocument *pDocument, bool usePartLink=true)=0
将一个 Gui::IDocument 对象插入到应用程序中
virtual Gui::IDocument * getIDocument(const char *name) const =0
根据给定的文档名称获取对应的 Gui::Document 对象
virtual void deleteIDocument(Gui::IDocument *pDocument)=0
从应用程序中删除一个 Gui::IDocument 对象
static IGuiApplication & get()
获取 GUI 应用单例
virtual void copyPartForProduct()=0
在当前活动的 GUI 树状视图中复制部件的操作
图形界面应用单例接口
Definition IGuiApplication.h:47
Definition IMDIView.h:38
Definition IMenuItem.h:30
提供视图相关功能的接口
Definition IViewProvider.h:41
DocType
文档类型
Definition IDocumentType.h:30
Definition BaseFigureFactory.h:28
Definition GuiDocObserverDelegate.h:33