Plasma Engine  2.0
Loading...
Searching...
No Matches
VisualizerAdapter.h
1#pragma once
2
3#include <EditorFramework/EditorFrameworkDLL.h>
4#include <Foundation/Types/Variant.h>
5#include <ToolsFoundation/Document/Document.h>
6#include <ToolsFoundation/Object/ObjectMetaData.h>
7
13
22class PL_EDITORFRAMEWORK_DLL plVisualizerAdapter
23{
24public:
26 virtual ~plVisualizerAdapter();
27
28 void SetVisualizer(const plVisualizerAttribute* pAttribute, const plDocumentObject* pObject);
29
30private:
31 void DocumentObjectPropertyEventHandler(const plDocumentObjectPropertyEvent& e);
32 void DocumentWindowEventHandler(const plQtDocumentWindowEvent& e);
33 void DocumentObjectMetaDataEventHandler(const plObjectMetaData<plUuid, plDocumentObjectMetaData>::EventData& e);
34
35protected:
36 virtual plTransform GetObjectTransform() const;
37 plObjectAccessorBase* GetObjectAccessor() const;
38 const plAbstractProperty* GetProperty(const char* szProperty) const;
39
41 virtual void Finalize() = 0;
43 virtual void Update() = 0;
45 virtual void UpdateGizmoTransform() = 0;
46
47 bool m_bVisualizerIsVisible;
48 const plVisualizerAttribute* m_pVisualizerAttr;
49 const plDocumentObject* m_pObject;
50};
This is the base interface for all properties in the reflection system. It provides enough informatio...
Definition AbstractProperty.h:150
Definition DocumentObjectBase.h:11
Definition ObjectAccessorBase.h:8
Base class for the editor side code that sets up a 'visualizer' for object properties.
Definition VisualizerAdapter.h:23
virtual void UpdateGizmoTransform()=0
Called when the object has been moved somehow. More light weight than a full update.
virtual void Update()=0
Called when object properties have changed and the visualizer may need to react.
virtual void Finalize()=0
Called to actually properly set up the adapter. All setup code is implemented here.
Definition PropertyAttributes.h:780
Used by plDocumentObjectManager::m_PropertyEvents.
Definition DocumentObjectManager.h:77
Definition ObjectMetaData.h:20
Definition DocumentWindow.moc.h:19