diff options
Diffstat (limited to 'src/qdoc/webxmlgenerator.cpp')
-rw-r--r-- | src/qdoc/webxmlgenerator.cpp | 131 |
1 files changed, 53 insertions, 78 deletions
diff --git a/src/qdoc/webxmlgenerator.cpp b/src/qdoc/webxmlgenerator.cpp index 330f3d474..c7312d418 100644 --- a/src/qdoc/webxmlgenerator.cpp +++ b/src/qdoc/webxmlgenerator.cpp @@ -41,7 +41,6 @@ QT_BEGIN_NAMESPACE static CodeMarker *marker_ = nullptr; - void WebXMLGenerator::initializeGenerator(const Config &config) { HtmlGenerator::initializeGenerator(config); @@ -71,9 +70,7 @@ QString WebXMLGenerator::fileExtension() const Some pages produce supplementary output while being generated, and that's handled here. */ -int WebXMLGenerator::generateAtom(const Atom *atom, - const Node *relative, - CodeMarker *marker) +int WebXMLGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMarker *marker) { if (supplement && currentWriter) addAtomElements(*currentWriter.data(), atom, relative, marker); @@ -120,9 +117,8 @@ void WebXMLGenerator::generatePageNode(PageNode *pn, CodeMarker * /* marker */) endSubPage(); } -void WebXMLGenerator::generateExampleFilePage(const Node *en, - const QString &file, - CodeMarker * /* marker */) +void WebXMLGenerator::generateExampleFilePage(const Node *en, const QString &file, + CodeMarker * /* marker */) { QByteArray data; QXmlStreamWriter writer(&data); @@ -140,9 +136,8 @@ void WebXMLGenerator::generateExampleFilePage(const Node *en, writer.writeAttribute("subtitle", file); writer.writeStartElement("description"); QString userFriendlyFilePath; // unused - writer.writeAttribute("path", Doc::resolveFile(en->doc().location(), - file, - &userFriendlyFilePath)); + writer.writeAttribute("path", + Doc::resolveFile(en->doc().location(), file, &userFriendlyFilePath)); writer.writeAttribute("line", "0"); writer.writeAttribute("column", "0"); @@ -151,14 +146,12 @@ void WebXMLGenerator::generateExampleFilePage(const Node *en, QString code = quoter.quoteTo(en->location(), QString(), QString()); writer.writeTextElement("code", trimmedTrailing(code, QString(), QString())); - writer.writeEndElement(); // description writer.writeEndElement(); // page writer.writeEndElement(); // document writer.writeEndElement(); // WebXML writer.writeEndDocument(); - out() << data; endFilePage(); } @@ -267,8 +260,7 @@ void WebXMLGenerator::generateDocumentation(Node *node) qdb_->mergeCollections(static_cast<CollectionNode *>(node)); generatePageNode(static_cast<PageNode *>(node), nullptr); } - } - else if (node->isTextPageNode()) + } else if (node->isTextPageNode()) generatePageNode(static_cast<PageNode *>(node), nullptr); // else if TODO: anything else? } @@ -276,16 +268,15 @@ void WebXMLGenerator::generateDocumentation(Node *node) if (node->isAggregate()) { Aggregate *aggregate = static_cast<Aggregate *>(node); for (auto c : aggregate->childNodes()) { - if ((c->isAggregate() || - c->isTextPageNode() || - c->isCollectionNode()) && !c->isPrivate()) + if ((c->isAggregate() || c->isTextPageNode() || c->isCollectionNode()) + && !c->isPrivate()) generateDocumentation(c); } } } -const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, - const Atom *atom, const Node *relative, CodeMarker *marker) +const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, const Atom *atom, + const Node *relative, CodeMarker *marker) { bool keepQuoting = false; @@ -293,13 +284,11 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, return nullptr; switch (atom->type()) { - case Atom::AnnotatedList: - { - const CollectionNode* cn = qdb_->getCollectionNode(atom->string(), Node::Group); + case Atom::AnnotatedList: { + const CollectionNode *cn = qdb_->getCollectionNode(atom->string(), Node::Group); if (cn) generateAnnotatedList(writer, relative, cn->members()); - } - break; + } break; case Atom::AutoLink: if (!inLink && !inSectionHeading) { const Node *node = nullptr; @@ -348,9 +337,8 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, const QVector<QStringRef> words = str.splitRef(' '); if (!words.isEmpty()) { const QStringRef &first(words.at(0)); - if (!(first == "contains" || first == "specifies" - || first == "describes" || first == "defines" - || first == "holds" || first == "determines")) + if (!(first == "contains" || first == "specifies" || first == "describes" + || first == "defines" || first == "holds" || first == "determines")) writer.writeCharacters(" holds "); else writer.writeCharacters(" "); @@ -378,7 +366,8 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, case Atom::Code: if (!hasQuotingInformation) - writer.writeTextElement("code", trimmedTrailing(plainCode(atom->string()), QString(), QString())); + writer.writeTextElement( + "code", trimmedTrailing(plainCode(atom->string()), QString(), QString())); else keepQuoting = true; break; @@ -386,22 +375,26 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, #ifdef QDOC_QML case Atom::Qml: if (!hasQuotingInformation) - writer.writeTextElement("qml", trimmedTrailing(plainCode(atom->string()), QString(), QString())); + writer.writeTextElement( + "qml", trimmedTrailing(plainCode(atom->string()), QString(), QString())); else keepQuoting = true; #endif case Atom::CodeBad: - writer.writeTextElement("badcode", trimmedTrailing(plainCode(atom->string()), QString(), QString())); + writer.writeTextElement("badcode", + trimmedTrailing(plainCode(atom->string()), QString(), QString())); break; case Atom::CodeNew: writer.writeTextElement("para", "you can rewrite it as"); - writer.writeTextElement("newcode", trimmedTrailing(plainCode(atom->string()), QString(), QString())); + writer.writeTextElement("newcode", + trimmedTrailing(plainCode(atom->string()), QString(), QString())); break; case Atom::CodeOld: writer.writeTextElement("para", "For example, if you have code like"); - writer.writeTextElement("oldcode", trimmedTrailing(plainCode(atom->string()), QString(), QString())); + writer.writeTextElement("oldcode", + trimmedTrailing(plainCode(atom->string()), QString(), QString())); break; case Atom::CodeQuoteArgument: @@ -424,25 +417,21 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, } break; - case Atom::ExampleFileLink: - { + case Atom::ExampleFileLink: { if (!inLink) { QString link = linkForExampleFile(atom->string(), relative); if (!link.isEmpty()) startLink(writer, atom, relative, link); } - } - break; + } break; - case Atom::ExampleImageLink: - { + case Atom::ExampleImageLink: { if (!inLink) { QString link = atom->string(); if (!link.isEmpty()) startLink(writer, atom, nullptr, "images/used-in-examples/" + link); } - } - break; + } break; case Atom::FootnoteLeft: writer.writeStartElement("footnote"); @@ -459,8 +448,7 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, writer.writeStartElement("raw"); writer.writeAttribute("format", atom->string()); break; - case Atom::FormattingLeft: - { + case Atom::FormattingLeft: { if (atom->string() == ATOM_FORMATTING_BOLD) writer.writeStartElement("bold"); else if (atom->string() == ATOM_FORMATTING_ITALIC) @@ -477,11 +465,9 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, writer.writeStartElement("argument"); else if (atom->string() == ATOM_FORMATTING_INDEX) writer.writeStartElement("index"); - } - break; + } break; - case Atom::FormattingRight: - { + case Atom::FormattingRight: { if (atom->string() == ATOM_FORMATTING_BOLD) writer.writeEndElement(); else if (atom->string() == ATOM_FORMATTING_ITALIC) @@ -565,8 +551,7 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, writer.writeAttribute("type", "enum"); else writer.writeAttribute("type", "definition"); - } - else { + } else { writer.writeAttribute("type", "ordered"); if (atom->string() == ATOM_LIST_UPPERALPHA) writer.writeAttribute("start", "A"); @@ -583,14 +568,12 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, case Atom::ListItemNumber: break; - case Atom::ListTagLeft: - { + case Atom::ListTagLeft: { writer.writeStartElement("definition"); - writer.writeTextElement("term", plainCode( - marker->markedUpEnumValue(atom->next()->string(), relative))); - } - break; + writer.writeTextElement( + "term", plainCode(marker->markedUpEnumValue(atom->next()->string(), relative))); + } break; case Atom::ListTagRight: writer.writeEndElement(); // definition @@ -650,14 +633,12 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, writer.writeEndElement(); // section break; - case Atom::SectionHeadingLeft: - { + case Atom::SectionHeadingLeft: { writer.writeStartElement("heading"); int unit = atom->string().toInt(); // + hOffset(relative) writer.writeAttribute("level", QString::number(unit)); inSectionHeading = true; - } - break; + } break; case Atom::SectionHeadingRight: writer.writeEndElement(); // heading @@ -671,7 +652,6 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, case Atom::SnippetCommand: if (quoting_) { writer.writeStartElement(atom->string()); - } break; @@ -722,8 +702,7 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, writer.writeEndElement(); // row break; - case Atom::TableItemLeft: - { + case Atom::TableItemLeft: { writer.writeStartElement("item"); QStringList spans = atom->string().split(","); if (spans.size() == 2) { @@ -732,8 +711,7 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, if (spans.at(1) != "1") writer.writeAttribute("rowspan", spans.at(1).trimmed()); } - } - break; + } break; case Atom::TableItemRight: writer.writeEndElement(); // item break; @@ -754,11 +732,10 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, hasQuotingInformation = keepQuoting; return atom->next(); - } -void WebXMLGenerator::startLink(QXmlStreamWriter &writer, const Atom *atom, - const Node *node, const QString &link) +void WebXMLGenerator::startLink(QXmlStreamWriter &writer, const Atom *atom, const Node *node, + const QString &link) { QString fullName = link; if (node) @@ -776,8 +753,7 @@ void WebXMLGenerator::startLink(QXmlStreamWriter &writer, const Atom *atom, case Node::Enum: writer.writeAttribute("enum", fullName); break; - case Node::Example: - { + case Node::Example: { const ExampleNode *en = static_cast<const ExampleNode *>(node); QString fileTitle = exampleFileTitle(en, atom->string()); if (!fileTitle.isEmpty()) { @@ -785,17 +761,15 @@ void WebXMLGenerator::startLink(QXmlStreamWriter &writer, const Atom *atom, break; } } - Q_FALLTHROUGH(); + Q_FALLTHROUGH(); case Node::Page: writer.writeAttribute("page", fullName); break; - case Node::Property: - { + case Node::Property: { const PropertyNode *propertyNode = static_cast<const PropertyNode *>(node); if (propertyNode->getters().size() > 0) writer.writeAttribute("getter", propertyNode->getters().at(0)->fullName()); - } - break; + } break; default: break; } @@ -804,7 +778,8 @@ void WebXMLGenerator::startLink(QXmlStreamWriter &writer, const Atom *atom, } } -void WebXMLGenerator::endLink(QXmlStreamWriter &writer) { +void WebXMLGenerator::endLink(QXmlStreamWriter &writer) +{ if (inLink) { writer.writeEndElement(); // link inLink = false; @@ -855,14 +830,14 @@ void WebXMLGenerator::generateRelations(QXmlStreamWriter &writer, const Node *no } } -void WebXMLGenerator::generateAnnotatedList(QXmlStreamWriter &writer, - const Node *relative, const NodeMap &nodeMap) +void WebXMLGenerator::generateAnnotatedList(QXmlStreamWriter &writer, const Node *relative, + const NodeMap &nodeMap) { generateAnnotatedList(writer, relative, nodeMap.values()); } -void WebXMLGenerator::generateAnnotatedList(QXmlStreamWriter &writer, - const Node *relative, const NodeList &nodeList) +void WebXMLGenerator::generateAnnotatedList(QXmlStreamWriter &writer, const Node *relative, + const NodeList &nodeList) { writer.writeStartElement("table"); writer.writeAttribute("width", "100%"); |