diff options
Diffstat (limited to 'src/Runtime/Source/uipparser')
-rw-r--r-- | src/Runtime/Source/uipparser/Qt3DSUIPParser.h | 2 | ||||
-rw-r--r-- | src/Runtime/Source/uipparser/Qt3DSUIPParserImpl.cpp | 5 | ||||
-rw-r--r-- | src/Runtime/Source/uipparser/Qt3DSUIPParserImpl.h | 6 |
3 files changed, 12 insertions, 1 deletions
diff --git a/src/Runtime/Source/uipparser/Qt3DSUIPParser.h b/src/Runtime/Source/uipparser/Qt3DSUIPParser.h index 857d403c..c3b4611b 100644 --- a/src/Runtime/Source/uipparser/Qt3DSUIPParser.h +++ b/src/Runtime/Source/uipparser/Qt3DSUIPParser.h @@ -143,6 +143,8 @@ public: // Parse UIP file // mesh files (and possibly font files). virtual NVConstDataRef<eastl::string> GetSourcePaths() const = 0; + virtual QVector<QString> GetSlideSourcePaths() const = 0; + // Creation function static IUIPParser &Create(const QString &inFileName, IRuntimeMetaData &inMetaData, qt3ds::render::IInputStreamFactory &inStreamFactory, diff --git a/src/Runtime/Source/uipparser/Qt3DSUIPParserImpl.cpp b/src/Runtime/Source/uipparser/Qt3DSUIPParserImpl.cpp index 746d5e58..2ddffe3f 100644 --- a/src/Runtime/Source/uipparser/Qt3DSUIPParserImpl.cpp +++ b/src/Runtime/Source/uipparser/Qt3DSUIPParserImpl.cpp @@ -2089,8 +2089,11 @@ BOOL CUIPParserImpl::LoadSlideElementAttrs(IPresentation &inPresentation, bool, ++theRef; bool isSet = AreEqual(inReader.GetNarrowElementName(), "Set"); const char8_t *sourcepath; - if (inReader.UnregisteredAtt("sourcepath", sourcepath)) + if (inReader.UnregisteredAtt("sourcepath", sourcepath)) { AddSourcePath(sourcepath); + theBuilder.AddSourcePath(sourcepath); + m_slideSourcePaths.push_back(QString::fromLatin1(sourcepath)); + } // We don't force set attributes when a given component has a set command within one of its // child states. This happens in the case of actions (but nothing else). diff --git a/src/Runtime/Source/uipparser/Qt3DSUIPParserImpl.h b/src/Runtime/Source/uipparser/Qt3DSUIPParserImpl.h index 9d96b681..fd921161 100644 --- a/src/Runtime/Source/uipparser/Qt3DSUIPParserImpl.h +++ b/src/Runtime/Source/uipparser/Qt3DSUIPParserImpl.h @@ -429,6 +429,8 @@ protected: TStringSet m_SourcePathSet; TStringVector m_SourcePathList; + QVector<QString> m_slideSourcePaths; + struct SElementRefCache { SElementData *m_Element; @@ -534,6 +536,10 @@ public: // Parse UIP file { return NVConstDataRef<eastl::string>(m_SourcePathList.data(), m_SourcePathList.size()); } + QVector<QString> GetSlideSourcePaths() const override + { + return m_slideSourcePaths; + } protected: // Operation BOOL LoadProjectSettings(IPresentation &inPresentation, qt3dsdm::IDOMReader &inReader); |