diff options
Diffstat (limited to 'src/tools/qdoc/qdocindexfiles.cpp')
-rw-r--r-- | src/tools/qdoc/qdocindexfiles.cpp | 75 |
1 files changed, 42 insertions, 33 deletions
diff --git a/src/tools/qdoc/qdocindexfiles.cpp b/src/tools/qdoc/qdocindexfiles.cpp index 8961ff71ad..74b0b14347 100644 --- a/src/tools/qdoc/qdocindexfiles.cpp +++ b/src/tools/qdoc/qdocindexfiles.cpp @@ -172,9 +172,9 @@ void QDocIndexFiles::readIndexSection(const QDomElement& element, QString href = element.attribute("href"); Node* node; Location location; - InnerNode* parent = 0; - if (current->isInnerNode()) - parent = static_cast<InnerNode*>(current); + Aggregate* parent = 0; + if (current->isAggregate()) + parent = static_cast<Aggregate*>(current); QString filePath; int lineNo = 0; @@ -342,7 +342,7 @@ void QDocIndexFiles::readIndexSection(const QDomElement& element, else if ((element.nodeName() == "qmlmethod") || (element.nodeName() == "qmlsignal") || (element.nodeName() == "qmlsignalhandler")) { - Node::Type t = Node::QmlMethod; + Node::NodeType t = Node::QmlMethod; if (element.nodeName() == "qmlsignal") t = Node::QmlSignal; else if (element.nodeName() == "qmlsignalhandler") @@ -354,7 +354,7 @@ void QDocIndexFiles::readIndexSection(const QDomElement& element, else if ((element.nodeName() == "jsmethod") || (element.nodeName() == "jssignal") || (element.nodeName() == "jssignalhandler")) { - Node::Type t = Node::QmlMethod; + Node::NodeType t = Node::QmlMethod; if (element.nodeName() == "jssignal") t = Node::QmlSignal; else if (element.nodeName() == "jssignalhandler") @@ -405,7 +405,7 @@ void QDocIndexFiles::readIndexSection(const QDomElement& element, node = cn; } else if (element.nodeName() == "page") { - Node::SubType subtype; + Node::DocSubtype subtype; Node::PageType ptype = Node::NoPageType; QString attr = element.attribute("subtype"); if (attr == "example") { @@ -486,8 +486,8 @@ void QDocIndexFiles::readIndexSection(const QDomElement& element, QString t = element.attribute("virtual"); if (t == "non") virt = FunctionNode::NonVirtual; - else if (t == "impure") - virt = FunctionNode::ImpureVirtual; + else if (t == "virtual") + virt = FunctionNode::NormalVirtual; else if (t == "pure") virt = FunctionNode::PureVirtual; else @@ -520,8 +520,14 @@ void QDocIndexFiles::readIndexSection(const QDomElement& element, functionNode->setMetaness(meta); functionNode->setConst(element.attribute("const") == "true"); functionNode->setStatic(element.attribute("static") == "true"); - functionNode->setOverload(element.attribute("overload") == "true"); - + if (element.attribute("overload") == "true") { + functionNode->setOverloadFlag(true); + functionNode->setOverloadNumber(element.attribute("overload-number").toUInt()); + } + else { + functionNode->setOverloadFlag(false); + functionNode->setOverloadNumber(0); + } if (element.hasAttribute("relates") && element.attribute("relates") != parent->name()) { relatedList_.append( @@ -613,12 +619,12 @@ void QDocIndexFiles::readIndexSection(const QDomElement& element, node->setStatus(Node::Obsolete); else if (status == "preliminary") node->setStatus(Node::Preliminary); - else if (status == "commendable") - node->setStatus(Node::Commendable); + else if (status == "active") + node->setStatus(Node::Active); else if (status == "internal") node->setStatus(Node::Internal); else - node->setStatus(Node::Commendable); + node->setStatus(Node::Active); QString physicalModuleName = element.attribute("module"); if (!physicalModuleName.isEmpty()) @@ -726,7 +732,7 @@ bool QDocIndexFiles::generateIndexSection(QXmlStreamWriter& writer, /* Don't include index nodes in a new index file. Or DITA map nodes. */ - if (node->isIndexNode() || node->subType() == Node::DitaMap) + if (node->isIndexNode() || node->docSubtype() == Node::DitaMap) return false; QString nodeName; @@ -885,8 +891,8 @@ bool QDocIndexFiles::generateIndexSection(QXmlStreamWriter& writer, case Node::Preliminary: status = "preliminary"; break; - case Node::Commendable: - status = "commendable"; + case Node::Active: + status = "active"; break; case Node::Internal: status = "internal"; @@ -937,7 +943,7 @@ bool QDocIndexFiles::generateIndexSection(QXmlStreamWriter& writer, else href = node->name(); if (node->isQmlNode() || node->isJsNode()) { - InnerNode* p = node->parent(); + Aggregate* p = node->parent(); if (p) { if (p->isQmlPropertyGroup() || p->isJsPropertyGroup()) p = p->parent(); @@ -954,11 +960,12 @@ bool QDocIndexFiles::generateIndexSection(QXmlStreamWriter& writer, if (node->isAbstract()) writer.writeAttribute("abstract", "true"); } - if (!node->location().fileName().isEmpty()) - writer.writeAttribute("location", node->location().fileName()); - if (!node->location().filePath().isEmpty()) { - writer.writeAttribute("filepath", node->location().filePath()); - writer.writeAttribute("lineno", QString("%1").arg(node->location().lineNo())); + const Location& declLocation = node->declLocation(); + if (!declLocation.fileName().isEmpty()) + writer.writeAttribute("location", declLocation.fileName()); + if (!declLocation.filePath().isEmpty()) { + writer.writeAttribute("filepath", declLocation.filePath()); + writer.writeAttribute("lineno", QString("%1").arg(declLocation.lineNo())); } if (!node->since().isEmpty()) { @@ -1019,7 +1026,7 @@ bool QDocIndexFiles::generateIndexSection(QXmlStreamWriter& writer, */ bool writeModuleName = false; const DocumentNode* docNode = static_cast<const DocumentNode*>(node); - switch (docNode->subType()) { + switch (docNode->docSubtype()) { case Node::Example: writer.writeAttribute("subtype", "example"); writeModuleName = true; @@ -1139,8 +1146,8 @@ bool QDocIndexFiles::generateIndexSection(QXmlStreamWriter& writer, case FunctionNode::NonVirtual: writer.writeAttribute("virtual", "non"); break; - case FunctionNode::ImpureVirtual: - writer.writeAttribute("virtual", "impure"); + case FunctionNode::NormalVirtual: + writer.writeAttribute("virtual", "virtual"); break; case FunctionNode::PureVirtual: writer.writeAttribute("virtual", "pure"); @@ -1182,9 +1189,11 @@ bool QDocIndexFiles::generateIndexSection(QXmlStreamWriter& writer, if (functionNode->relates()) { writer.writeAttribute("relates", functionNode->relates()->name()); } - const PropertyNode* propertyNode = functionNode->associatedProperty(); - if (propertyNode) - writer.writeAttribute("associated-property", propertyNode->name()); + if (functionNode->hasAssociatedProperties()) { + foreach (PropertyNode* pn, functionNode->associatedProperties()) { + writer.writeAttribute("associated-property", pn->name()); + } + } writer.writeAttribute("type", functionNode->returnType()); if (!brief.isEmpty()) writer.writeAttribute("brief", brief); @@ -1316,7 +1325,7 @@ bool QDocIndexFiles::generateIndexSection(QXmlStreamWriter& writer, bool external = false; if (node->type() == Node::Document) { const DocumentNode* docNode = static_cast<const DocumentNode*>(node); - if (docNode->subType() == Node::ExternalPage) + if (docNode->docSubtype() == Node::ExternalPage) external = true; } foreach (const Atom* target, node->doc().targets()) { @@ -1349,8 +1358,8 @@ bool QDocIndexFiles::generateIndexSection(QXmlStreamWriter& writer, // opening tag, create child elements, then add a closing tag for the // element. Elements for all other nodes are closed in the opening tag. - if (node->isInnerNode()) { - const InnerNode* inner = static_cast<const InnerNode*>(node); + if (node->isAggregate()) { + const Aggregate* inner = static_cast<const Aggregate*>(node); if (inner->doc().hasTableOfContents()) { for (int i = 0; i < inner->doc().tableOfContents().size(); ++i) { @@ -1453,8 +1462,8 @@ void QDocIndexFiles::generateIndexSections(QXmlStreamWriter& writer, return; if (generateIndexSection(writer, node, generateInternalNodes)) { - if (node->isInnerNode()) { - const InnerNode* inner = static_cast<const InnerNode*>(node); + if (node->isAggregate()) { + const Aggregate* inner = static_cast<const Aggregate*>(node); NodeList cnodes = inner->childNodes(); std::sort(cnodes.begin(), cnodes.end(), compareNodes); |