Plasma Engine  2.0
Loading...
Searching...
No Matches
VisualizerManager.h
1#pragma once
2
3#include <Foundation/Configuration/Singleton.h>
4#include <Foundation/Configuration/Startup.h>
5#include <GuiFoundation/GuiFoundationDLL.h>
6#include <ToolsFoundation/Document/DocumentManager.h>
7
11
12struct PL_GUIFOUNDATION_DLL plVisualizerManagerEvent
13{
14 const plDocument* m_pDocument;
15 const plDeque<const plDocumentObject*>* m_pSelection;
16};
17
18class PL_GUIFOUNDATION_DLL plVisualizerManager
19{
20 PL_DECLARE_SINGLETON(plVisualizerManager);
21
22public:
25
26 void SetVisualizersActive(const plDocument* pDoc, bool bActive);
27 bool GetVisualizersActive(const plDocument* pDoc);
28
30
31private:
32 void SelectionEventHandler(const plSelectionManagerEvent& e);
33 void DocumentManagerEventHandler(const plDocumentManager::Event& e);
34 void StructureEventHandler(const plDocumentObjectStructureEvent& e);
35 void SendEventToRecreateVisualizers(const plDocument* pDoc);
36
37 struct DocData
38 {
39 bool m_bActivated;
40
41 DocData() { m_bActivated = true; }
42 };
43
44 plMap<const plDocument*, DocData> m_DocsSubscribed;
45};
Definition Deque.h:270
Definition Document.h:57
Definition DocumentObjectBase.h:11
Definition Event.h:177
Definition Map.h:408
Definition PropertyAttributes.h:780
Definition VisualizerManager.h:19
Definition DocumentManager.h:65
Used by plDocumentObjectManager::m_StructureEvents.
Definition DocumentObjectManager.h:45
Definition SelectionManager.h:10
Definition VisualizerManager.h:13