diff options
Diffstat (limited to 'src/declarative/qml/qmlscriptparser_p.h')
-rw-r--r-- | src/declarative/qml/qmlscriptparser_p.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/declarative/qml/qmlscriptparser_p.h b/src/declarative/qml/qmlscriptparser_p.h new file mode 100644 index 0000000..0d89268 --- /dev/null +++ b/src/declarative/qml/qmlscriptparser_p.h @@ -0,0 +1,57 @@ +#ifndef QMLSCRIPTPARSER_P_H +#define QMLSCRIPTPARSER_P_H + +#include <QtCore/QList> +#include <QtCore/QUrl> +#include <qml.h> + +QT_BEGIN_HEADER +QT_BEGIN_NAMESPACE + +QT_MODULE(Declarative) + +namespace QmlParser { + class Object; +} + +class QByteArray; + +class QmlScriptParser +{ +public: + QmlScriptParser(); + ~QmlScriptParser(); + + bool parse(const QByteArray &data, const QUrl &url = QUrl()); + QString errorDescription() const; + int errorLine() const; + + QMap<QString,QString> nameSpacePaths() const; + QStringList types() const; + + QmlParser::Object *tree() const; + + void clear(); + +// ### private: + int findOrCreateTypeId(const QString &name); + void setTree(QmlParser::Object *tree); + + void setScriptFile(const QString &filename) {_scriptFile = filename; } + QString scriptFile() const { return _scriptFile; } + + void addNamespacePath(const QString &path); + +private: + QMap<QString,QString> _nameSpacePaths; + QmlParser::Object *root; + QStringList _typeNames; + QString _error; + int _errorLine; + QString _scriptFile; +}; + +QT_END_NAMESPACE +QT_END_HEADER + +#endif // QMLSCRIPTPARSER_P_H |