summaryrefslogtreecommitdiffstats
path: root/src/qdoc/webxmlgenerator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qdoc/webxmlgenerator.cpp')
-rw-r--r--src/qdoc/webxmlgenerator.cpp131
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%");