From 1d0ed55e6e7529608f87beb2eceaefffffeaea61 Mon Sep 17 00:00:00 2001 From: Casper van Donderen Date: Mon, 16 Apr 2012 10:11:26 +0200 Subject: [PATCH] QDoc: Write subclasses of namespaces in automatic ditamap. Now we also write the subclasses of namespaces sorted to qt.ditamap. Change-Id: I4a4376bac208b9bacd5a2ddd5265faef13dc2eba Reviewed-by: Martin Smith --- src/tools/qdoc/ditaxmlgenerator.cpp | 39 ++++++++++++++++++----------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/src/tools/qdoc/ditaxmlgenerator.cpp b/src/tools/qdoc/ditaxmlgenerator.cpp index 1f986e35ff..f49b267d2a 100644 --- a/src/tools/qdoc/ditaxmlgenerator.cpp +++ b/src/tools/qdoc/ditaxmlgenerator.cpp @@ -6048,23 +6048,32 @@ void DitaXmlGenerator::writeTopicrefs(NodeMultiMap* nmm, const QString& navtitle xmlWriter().writeAttribute("navtitle",i.key()); xmlWriter().writeAttribute("href",fileName(i.value())); switch (i.value()->type()) { - case Node::Class: { - const NamespaceNode* nn = static_cast(i.value()); - const NodeList& c = nn->childNodes(); - for (int j=0; jisInternal() || c[j]->access() == Node::Private || c[j]->doc().isEmpty()) - continue; - if (c[j]->type() == Node::Class) { - writeStartTag(DT_topicref); - xmlWriter().writeAttribute("navtitle",c[j]->name()); - xmlWriter().writeAttribute("href",fileName(c[j])); - writeEndTag(); // + case Node::Class: + case Node::Namespace: { + const NamespaceNode* nn = static_cast(i.value()); + const NodeList& c = nn->childNodes(); + QMap tempMap; + for (int j=0; jisInternal() || c[j]->access() == Node::Private || c[j]->doc().isEmpty()) + continue; + if (c[j]->type() == Node::Class) { + tempMap.insert(c[j]->name(), c[j]); + } } + QMap::iterator classIterator = tempMap.begin(); + while (classIterator != tempMap.end()) { + const Node* currentNode = static_cast(classIterator.value()); + writeStartTag(DT_topicref); + xmlWriter().writeAttribute("navtitle",currentNode->name()); + xmlWriter().writeAttribute("href",fileName(currentNode)); + writeEndTag(); // + ++classIterator; + } + + break; } - break; - } - default: - break; + default: + break; } writeEndTag(); // ++i;