summaryrefslogtreecommitdiffstats
path: root/src/Authoring/Client/Code/Core/Doc/Qt3DSDMStudioSystem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Authoring/Client/Code/Core/Doc/Qt3DSDMStudioSystem.cpp')
-rw-r--r--src/Authoring/Client/Code/Core/Doc/Qt3DSDMStudioSystem.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/Authoring/Client/Code/Core/Doc/Qt3DSDMStudioSystem.cpp b/src/Authoring/Client/Code/Core/Doc/Qt3DSDMStudioSystem.cpp
index b1f2a3ae..644675c4 100644
--- a/src/Authoring/Client/Code/Core/Doc/Qt3DSDMStudioSystem.cpp
+++ b/src/Authoring/Client/Code/Core/Doc/Qt3DSDMStudioSystem.cpp
@@ -41,6 +41,10 @@
#include "Qt3DSDMXML.h"
#include "foundation/IOStreams.h"
#include "StudioUtils.h"
+#include "Core.h"
+#include "Dispatch.h"
+
+#include <QtCore/qtimer.h>
using namespace std;
@@ -184,6 +188,13 @@ void CStudioSystem::ResetDatabase()
m_StudioSystem = std::shared_ptr<CStudioFullSystem>(new CStudioFullSystem(
theCore, m_Bridge->GetSlideInstance(), m_Bridge->GetSlideComponentIdProperty(),
m_Bridge->GetActionInstance(), m_Bridge->GetActionEyeball()));
+
+ m_StudioSystem->GetAnimationSystem()->setRefreshCallback(
+ [this](Qt3DSDMInstanceHandle instance) {
+ QTimer::singleShot(0,[this, instance]() {
+ m_Doc->GetCore()->GetDispatch()->FireImmediateRefreshInstance(instance);
+ });
+ });
}
IMetaData *CStudioSystem::GetActionMetaData()
@@ -201,7 +212,7 @@ ISlideCore *CStudioSystem::GetSlideCore()
return m_StudioSystem->GetSlideCore().get();
}
-IPropertySystem *CStudioSystem::GetPropertySystem()
+IPropertySystem *CStudioSystem::GetPropertySystem() const
{
return m_StudioSystem->GetPropertySystem().get();
}