BIMHome v1.0.0
BIMHome接口文档说明
ViewProviderObserverDelegate.h
浏览该文件的文档.
1/************************************************************************
2* @file ViewProviderObserverDelegate.h
3*
4* @brief DocumentObject渲染显示代理类
5*
6* @details DocumentObject渲染显示代理类
7*
8* @author sunpeng
9*
10* @version 1.0
11*
12* @date 2025-05-27
13*
14* @license 北京华科软科技有限公司
15*
16*************************************************************************/
17
18#ifndef BIMHOMEGUI_GUI_VIEWPROVIDEROBSERVERDELEGATE_H
19#define BIMHOMEGUI_GUI_VIEWPROVIDEROBSERVERDELEGATE_H
20
21#include "BHGlobal.h"
22
23#include <string>
24#include <boost/any.hpp>
25#include <QMessageBox>
26
27namespace App {
28class IDocumentObject;
29}
30
31namespace Gui
32{
33 class IViewProvider;
34 class IMDIView;
41 {
42
43 public:
44 ViewProviderObserverDelegate():m_pViewProviewr(nullptr), _pAttachObject(nullptr) {}
46
51 virtual void viewProviderCreating() {}
52
58
65 virtual bool canDelete(App::IDocumentObject* obj) const { return true; }
66
72 virtual bool doubleClicked(void) { return true; }
73
78 virtual void show() {}
79
84 virtual void hide() {}
85
91 virtual IMDIView* getMDIView() const { return nullptr; }
92
98 virtual std::vector<App::IDocumentObject*> claimChildren(void) const { return std::vector<App::IDocumentObject*>(); }
99
106 virtual void viewProviderOnChange(const std::string& sPropName, const boost::any& sPropValue) {}
107
112 virtual void finishRestoring() {}
113
118 void setViewProvider(IViewProvider* pViewProviewr) {
119 m_pViewProviewr = pViewProviewr;
120 }
121
127 return m_pViewProviewr;
128 }
129
134 void setAttach(App::IDocumentObject* pAttachObject) {
135 _pAttachObject = pAttachObject;
136 }
137
143 return _pAttachObject;
144 }
145
150 virtual void addExtensionSection() {}
151
157 virtual std::string delegateName() { return ""; }
158
159 protected:
162
163 };
164}
165
166#endif // BIMHOMEGUI_GUI_VIEWPROVIDEROBSERVERDELEGATE_H
Definition IDocumentObject.h:35
Definition IMDIView.h:38
提供视图相关功能的接口
Definition IViewProvider.h:41
virtual ~ViewProviderObserverDelegate()
Definition ViewProviderObserverDelegate.h:45
virtual void addExtensionSection()
添加扩展部分
Definition ViewProviderObserverDelegate.h:150
IViewProvider * m_pViewProviewr
当前关联的视图提供者指针
Definition ViewProviderObserverDelegate.h:160
virtual std::vector< App::IDocumentObject * > claimChildren(void) const
获取子节点
Definition ViewProviderObserverDelegate.h:98
void setAttach(App::IDocumentObject *pAttachObject)
设置附加对象
Definition ViewProviderObserverDelegate.h:134
virtual void viewProviderIsBeingDestructed()
视图提供者即将析构时回调
Definition ViewProviderObserverDelegate.h:57
virtual std::string delegateName()
获取代理名称
Definition ViewProviderObserverDelegate.h:157
virtual void show()
显示视图提供者
Definition ViewProviderObserverDelegate.h:78
virtual void viewProviderCreating()
视图提供者开始创建时回调
Definition ViewProviderObserverDelegate.h:51
IViewProvider * getViewProvider()
获取视图提供者
Definition ViewProviderObserverDelegate.h:126
App::IDocumentObject * _pAttachObject
当前附加的文档对象指针
Definition ViewProviderObserverDelegate.h:161
virtual IMDIView * getMDIView() const
获取 MDI 视图
Definition ViewProviderObserverDelegate.h:91
App::IDocumentObject * getAttachIDocumentObject()
获取附加的文档对象
Definition ViewProviderObserverDelegate.h:142
void setViewProvider(IViewProvider *pViewProviewr)
设置视图提供者
Definition ViewProviderObserverDelegate.h:118
virtual void finishRestoring()
完成恢复操作
Definition ViewProviderObserverDelegate.h:112
virtual void hide()
隐藏视图提供者
Definition ViewProviderObserverDelegate.h:84
virtual void viewProviderOnChange(const std::string &sPropName, const boost::any &sPropValue)
属性改变时调用
Definition ViewProviderObserverDelegate.h:106
ViewProviderObserverDelegate()
Definition ViewProviderObserverDelegate.h:44
virtual bool doubleClicked(void)
处理双击事件
Definition ViewProviderObserverDelegate.h:72
virtual bool canDelete(App::IDocumentObject *obj) const
检查是否允许删除指定对象
Definition ViewProviderObserverDelegate.h:65
视图提供者观察者代理基类
Definition ViewProviderObserverDelegate.h:41
Definition BaseFigureFactory.h:28
Definition GuiDocObserverDelegate.h:33