summaryrefslogtreecommitdiffstats
path: root/src/Runtime
diff options
context:
space:
mode:
authorAntti Määttä <antti.maatta@qt.io>2019-04-29 16:27:18 +0300
committerAntti Määttä <antti.maatta@qt.io>2019-04-30 11:14:13 +0000
commit5ae4c87e41dbdeb1e7745756bbe22045127d6977 (patch)
treed6ce96e41b73478266cb7259fecf13985a99cf35 /src/Runtime
parent22529efe1bd78b92813eddc0b62e1bede1695940 (diff)
Add customSignalEmitted
Task-number: QT3DS-3215 Change-Id: If36cca0d864b8c2fa7fd6ec499ace678ecaa206a Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Diffstat (limited to 'src/Runtime')
-rw-r--r--src/Runtime/Source/engine/Qt3DSTegraApplication.cpp2
-rw-r--r--src/Runtime/Source/engine/Qt3DSTegraApplication.h1
-rw-r--r--src/Runtime/Source/runtime/Qt3DSPresentation.cpp4
-rw-r--r--src/Runtime/Source/runtime/Qt3DSPresentation.h1
-rw-r--r--src/Runtime/Source/viewer/Qt3DSViewerApp.cpp2
-rw-r--r--src/Runtime/Source/viewer/Qt3DSViewerApp.h1
6 files changed, 11 insertions, 0 deletions
diff --git a/src/Runtime/Source/engine/Qt3DSTegraApplication.cpp b/src/Runtime/Source/engine/Qt3DSTegraApplication.cpp
index b85cbd32..cf1c4a90 100644
--- a/src/Runtime/Source/engine/Qt3DSTegraApplication.cpp
+++ b/src/Runtime/Source/engine/Qt3DSTegraApplication.cpp
@@ -298,6 +298,8 @@ bool CNDDView::InitializeGraphics(const QSurfaceFormat &format)
signalProxy(), &QINDDViewSignalProxy::SigSlideEntered);
QObject::connect(m_Presentation->signalProxy(), &QPresentationSignalProxy::SigSlideExited,
signalProxy(), &QINDDViewSignalProxy::SigSlideExited);
+ QObject::connect(m_Presentation->signalProxy(), &QPresentationSignalProxy::SigCustomSignal,
+ signalProxy(), &QINDDViewSignalProxy::SigCustomSignal);
m_TimeProvider.Reset();
return true;
diff --git a/src/Runtime/Source/engine/Qt3DSTegraApplication.h b/src/Runtime/Source/engine/Qt3DSTegraApplication.h
index d68e9efa..0b3ba635 100644
--- a/src/Runtime/Source/engine/Qt3DSTegraApplication.h
+++ b/src/Runtime/Source/engine/Qt3DSTegraApplication.h
@@ -58,6 +58,7 @@ class QINDDViewSignalProxy : public QObject
Q_SIGNALS:
void SigSlideEntered(const QString &elementPath, unsigned int index, const QString &name);
void SigSlideExited(const QString &elementPath, unsigned int index, const QString &name);
+ void SigCustomSignal(const QString &elementPath, const QString &name);
};
namespace qt3ds {
diff --git a/src/Runtime/Source/runtime/Qt3DSPresentation.cpp b/src/Runtime/Source/runtime/Qt3DSPresentation.cpp
index 358b3abb..68691a99 100644
--- a/src/Runtime/Source/runtime/Qt3DSPresentation.cpp
+++ b/src/Runtime/Source/runtime/Qt3DSPresentation.cpp
@@ -444,7 +444,11 @@ void CPresentation::ProcessCommand(const SEventCommand &inCommand)
}
}
} else if (inCommand.m_Type == COMMAND_EMITSIGNAL) {
+ CRegisteredString nameStr = GetStringTable().HandleToStr(inCommand.m_Arg1.m_INT32);
m_Application->GetRuntimeFactoryCore().GetScriptEngineQml().ProcessSignal(this, inCommand);
+ QString path = QString::fromLatin1(inCommand.m_Target->m_Path.c_str());
+ QString name = QString::fromLatin1(nameStr.c_str());
+ signalProxy()->SigCustomSignal(path, name);
} else {
qCCritical(qt3ds::INVALID_OPERATION) << "Command not implemented: " << inCommand.m_Type;
}
diff --git a/src/Runtime/Source/runtime/Qt3DSPresentation.h b/src/Runtime/Source/runtime/Qt3DSPresentation.h
index 0f0b1b0f..d813b418 100644
--- a/src/Runtime/Source/runtime/Qt3DSPresentation.h
+++ b/src/Runtime/Source/runtime/Qt3DSPresentation.h
@@ -52,6 +52,7 @@ class QPresentationSignalProxy : public QObject
Q_SIGNALS:
void SigSlideEntered(const QString &elementPath, unsigned int index, const QString &name);
void SigSlideExited(const QString &elementPath, unsigned int index, const QString &name);
+ void SigCustomSignal(const QString &elementPath, const QString &name);
};
namespace qt3ds {
diff --git a/src/Runtime/Source/viewer/Qt3DSViewerApp.cpp b/src/Runtime/Source/viewer/Qt3DSViewerApp.cpp
index 2b5c0af1..77581073 100644
--- a/src/Runtime/Source/viewer/Qt3DSViewerApp.cpp
+++ b/src/Runtime/Source/viewer/Qt3DSViewerApp.cpp
@@ -370,6 +370,8 @@ bool Q3DSViewerApp::InitializeApp(int winWidth, int winHeight, const QSurfaceFor
&QINDDViewSignalProxy::SigSlideEntered, this, &Q3DSViewerApp::SigSlideEntered);
connect(m_Impl.m_tegraApp->getNDDView()->signalProxy(),
&QINDDViewSignalProxy::SigSlideExited, this, &Q3DSViewerApp::SigSlideExited);
+ connect(m_Impl.m_tegraApp->getNDDView()->signalProxy(),
+ &QINDDViewSignalProxy::SigCustomSignal, this, &Q3DSViewerApp::SigCustomSignal);
Resize(winWidth, winHeight);
diff --git a/src/Runtime/Source/viewer/Qt3DSViewerApp.h b/src/Runtime/Source/viewer/Qt3DSViewerApp.h
index df034653..d89c4706 100644
--- a/src/Runtime/Source/viewer/Qt3DSViewerApp.h
+++ b/src/Runtime/Source/viewer/Qt3DSViewerApp.h
@@ -390,6 +390,7 @@ public:
Q_SIGNALS:
void SigSlideEntered(const QString &elementPath, unsigned int index, const QString &name);
void SigSlideExited(const QString &elementPath, unsigned int index, const QString &name);
+ void SigCustomSignal(const QString &elementPath, const QString &name);
void SigPresentationReady();
};