diff options
author | David Boddie <david.boddie@nokia.com> | 2010-12-09 18:39:35 (GMT) |
---|---|---|
committer | David Boddie <david.boddie@nokia.com> | 2010-12-09 18:39:35 (GMT) |
commit | 297da17b94df6cd4a3b0c4ade56baf55310939e8 (patch) | |
tree | ec833849a8b65732d42c86f383537f500cd535ec /tools/qdoc3 | |
parent | 77f069df4dcfd40a3d009f40e074ce1a5ac132c1 (diff) | |
download | Qt-297da17b94df6cd4a3b0c4ade56baf55310939e8.zip Qt-297da17b94df6cd4a3b0c4ade56baf55310939e8.tar.gz Qt-297da17b94df6cd4a3b0c4ade56baf55310939e8.tar.bz2 |
Ensured that object definition identifiers are marked up as links.
It may be worthwhile extending this to other UiQualifiedId nodes.
Diffstat (limited to 'tools/qdoc3')
-rw-r--r-- | tools/qdoc3/qmlmarkupvisitor.cpp | 14 | ||||
-rw-r--r-- | tools/qdoc3/qmlmarkupvisitor.h | 3 |
2 files changed, 13 insertions, 4 deletions
diff --git a/tools/qdoc3/qmlmarkupvisitor.cpp b/tools/qdoc3/qmlmarkupvisitor.cpp index 6bede96..9916be2 100644 --- a/tools/qdoc3/qmlmarkupvisitor.cpp +++ b/tools/qdoc3/qmlmarkupvisitor.cpp @@ -183,7 +183,8 @@ void QmlMarkupVisitor::addExtra(quint32 start, quint32 finish) } void QmlMarkupVisitor::addMarkedUpToken( - QDeclarativeJS::AST::SourceLocation &location, const QString &tagName) + QDeclarativeJS::AST::SourceLocation &location, const QString &tagName, + const QHash<QString, QString> &attributes) { if (!location.isValid()) return; @@ -193,7 +194,10 @@ void QmlMarkupVisitor::addMarkedUpToken( else if (cursor > location.offset) return; - output += QString(QLatin1String("<@%1>%2</@%3>")).arg(tagName, protect(sourceText(location)), tagName); + output += QString(QLatin1String("<@%1")).arg(tagName); + foreach (const QString &key, attributes) + output += QString(QLatin1String(" %1=\"%2\"")).arg(key).arg(attributes[key]); + output += QString(QLatin1String(">%2</@%3>")).arg(protect(sourceText(location)), tagName); cursor += location.length; } @@ -853,9 +857,13 @@ bool QmlMarkupVisitor::visit(QDeclarativeJS::AST::DebuggerStatement *statement) return true; } +// Elements and items are represented by UiObjectDefinition nodes. + bool QmlMarkupVisitor::visit(QDeclarativeJS::AST::UiObjectDefinition *definition) { - QDeclarativeJS::AST::Node::accept(definition->qualifiedTypeNameId, this); + QHash<QString, QString> attributes; + attributes[QLatin1String("node")] = sourceText(definition->qualifiedTypeNameId->identifierToken); + addMarkedUpToken(definition->qualifiedTypeNameId->identifierToken, QLatin1String("link"), attributes); QDeclarativeJS::AST::Node::accept(definition->initializer, this); return false; } diff --git a/tools/qdoc3/qmlmarkupvisitor.h b/tools/qdoc3/qmlmarkupvisitor.h index 7a9ff22..60bc336 100644 --- a/tools/qdoc3/qmlmarkupvisitor.h +++ b/tools/qdoc3/qmlmarkupvisitor.h @@ -161,7 +161,8 @@ protected: private: void addExtra(quint32 start, quint32 finish); void addMarkedUpToken(QDeclarativeJS::AST::SourceLocation &location, - const QString &text); + const QString &text, + const QHash<QString, QString> &attributes = QHash<QString, QString>()); void addVerbatim(QDeclarativeJS::AST::SourceLocation first, QDeclarativeJS::AST::SourceLocation last = QDeclarativeJS::AST::SourceLocation()); QString sourceText(QDeclarativeJS::AST::SourceLocation &location); |