diff options
author | Antti Määttä <antti.maatta@qt.io> | 2019-04-29 16:27:18 +0300 |
---|---|---|
committer | Antti Määttä <antti.maatta@qt.io> | 2019-04-30 11:14:13 +0000 |
commit | 5ae4c87e41dbdeb1e7745756bbe22045127d6977 (patch) | |
tree | d6ce96e41b73478266cb7259fecf13985a99cf35 /src/Runtime | |
parent | 22529efe1bd78b92813eddc0b62e1bede1695940 (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.cpp | 2 | ||||
-rw-r--r-- | src/Runtime/Source/engine/Qt3DSTegraApplication.h | 1 | ||||
-rw-r--r-- | src/Runtime/Source/runtime/Qt3DSPresentation.cpp | 4 | ||||
-rw-r--r-- | src/Runtime/Source/runtime/Qt3DSPresentation.h | 1 | ||||
-rw-r--r-- | src/Runtime/Source/viewer/Qt3DSViewerApp.cpp | 2 | ||||
-rw-r--r-- | src/Runtime/Source/viewer/Qt3DSViewerApp.h | 1 |
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(); }; |