diff --git a/src/tools/qdoc/ditaxmlgenerator.cpp b/src/tools/qdoc/ditaxmlgenerator.cpp index f49b267d2a..9c85e7b02a 100644 --- a/src/tools/qdoc/ditaxmlgenerator.cpp +++ b/src/tools/qdoc/ditaxmlgenerator.cpp @@ -646,6 +646,10 @@ void DitaXmlGenerator::generateTree(Tree *tree) Generator::generateTree(tree); generateCollisionPages(); + + QString fileBase = project.toLower().simplified().replace(" ", "-"); + generateIndex(fileBase, projectUrl, projectDescription); + writeDitaMap(tree); } @@ -2429,7 +2433,7 @@ void DitaXmlGenerator::writeRelatedLinks(const FakeNode* node, CodeMarker* marke /*! Returns "dita" for this subclass of class Generator. */ -QString DitaXmlGenerator::fileExtension(const Node * /* node */) const +QString DitaXmlGenerator::fileExtension() const { return "dita"; } @@ -5690,7 +5694,7 @@ DitaXmlGenerator::generateInnerNode(InnerNode* node) } /*! - Returns true if \a format is "XML" or "HTML" . + Returns true if \a format is "DITAXML" or "HTML" . */ bool DitaXmlGenerator::canHandleFormat(const QString& format) { diff --git a/src/tools/qdoc/ditaxmlgenerator.h b/src/tools/qdoc/ditaxmlgenerator.h index 6ce42fc0b1..2ced0e0467 100644 --- a/src/tools/qdoc/ditaxmlgenerator.h +++ b/src/tools/qdoc/ditaxmlgenerator.h @@ -281,7 +281,7 @@ protected: CodeMarker* marker); virtual void generateClassLikeNode(InnerNode* inner, CodeMarker* marker); virtual void generateFakeNode(FakeNode* fake, CodeMarker* marker); - virtual QString fileExtension(const Node* node) const; + virtual QString fileExtension() const; virtual QString guidForNode(const Node* node); virtual QString linkForNode(const Node* node, const Node* relative); virtual QString refForAtom(Atom* atom, const Node* node); diff --git a/src/tools/qdoc/generator.cpp b/src/tools/qdoc/generator.cpp index 4258bc69d0..16f84bb2a8 100644 --- a/src/tools/qdoc/generator.cpp +++ b/src/tools/qdoc/generator.cpp @@ -60,6 +60,7 @@ QT_BEGIN_NAMESPACE QString Generator::baseDir_; +Generator* Generator::currentGenerator_; QStringList Generator::exampleDirs; QStringList Generator::exampleImgExts; QMap > Generator::fmtLeftMaps; @@ -346,7 +347,7 @@ QString Generator::fileName(const Node* node) const QString name = fileBase(node); name += QLatin1Char('.'); - name += fileExtension(node); + name += fileExtension(); return name; } @@ -447,6 +448,173 @@ QMap& Generator::formattingRightMap() return fmtRightMaps[format()]; } +/*! + Returns the full document location. + */ +QString Generator::fullDocumentLocation(const Node *node, bool subdir) +{ + if (!node) + return ""; + if (!node->url().isEmpty()) + return node->url(); + + QString parentName; + QString anchorRef; + QString fdl = ""; + + /* + If the output is being sent to subdirectories of the + output directory, and if the subdir parameter is set, + prepend the subdirectory name + '/' to the result. + */ + if (subdir) { + fdl = node->outputSubdirectory(); + if (!fdl.isEmpty()) + fdl.append(QLatin1Char('/')); + } + if (node->type() == Node::Namespace) { + + // The root namespace has no name - check for this before creating + // an attribute containing the location of any documentation. + + if (!node->fileBase().isEmpty()) + parentName = node->fileBase() + "." + currentGenerator()->fileExtension(); + else + return ""; + } + else if (node->type() == Node::Fake) { + if ((node->subType() == Node::QmlClass) || + (node->subType() == Node::QmlBasicType)) { + QString fb = node->fileBase(); + if (fb.startsWith(Generator::outputPrefix(QLatin1String("QML")))) + return fb + "." + currentGenerator()->fileExtension(); + else { + QString mq = ""; + if (!node->qmlModuleName().isEmpty()) { + mq = node->qmlModuleIdentifier().replace(QChar('.'),QChar('-')); + mq = mq.toLower() + "-"; + } + return fdl+ Generator::outputPrefix(QLatin1String("QML")) + mq + + node->fileBase() + "." + currentGenerator()->fileExtension(); + } + } + else + parentName = node->fileBase() + "." + currentGenerator()->fileExtension(); + } + else if (node->fileBase().isEmpty()) + return ""; + + Node *parentNode = 0; + + if ((parentNode = node->relates())) { + parentName = fullDocumentLocation(node->relates()); + } + else if ((parentNode = node->parent())) { + if (parentNode->subType() == Node::QmlPropertyGroup) { + parentNode = parentNode->parent(); + parentName = fullDocumentLocation(parentNode); + } + else + parentName = fullDocumentLocation(node->parent()); + } + + switch (node->type()) { + case Node::Class: + case Node::Namespace: + if (parentNode && !parentNode->name().isEmpty()) { + parentName.remove("." + currentGenerator()->fileExtension()); + parentName += QLatin1Char('-') + + node->fileBase().toLower() + "." + currentGenerator()->fileExtension(); + } else { + parentName = node->fileBase() + "." + currentGenerator()->fileExtension(); + } + break; + case Node::Function: + { + /* + Functions can be destructors, overloaded, or + have associated properties. + */ + const FunctionNode *functionNode = + static_cast(node); + + if (functionNode->metaness() == FunctionNode::Dtor) + anchorRef = "#dtor." + functionNode->name().mid(1); + + else if (functionNode->associatedProperty()) + return fullDocumentLocation(functionNode->associatedProperty()); + + else if (functionNode->overloadNumber() > 1) + anchorRef = QLatin1Char('#') + functionNode->name() + + "-" + QString::number(functionNode->overloadNumber()); + else + anchorRef = QLatin1Char('#') + functionNode->name(); + } + + /* + Use node->name() instead of node->fileBase() as + the latter returns the name in lower-case. For + HTML anchors, we need to preserve the case. + */ + break; + case Node::Enum: + anchorRef = QLatin1Char('#') + node->name() + "-enum"; + break; + case Node::Typedef: + anchorRef = QLatin1Char('#') + node->name() + "-typedef"; + break; + case Node::Property: + anchorRef = QLatin1Char('#') + node->name() + "-prop"; + break; + case Node::QmlProperty: + anchorRef = QLatin1Char('#') + node->name() + "-prop"; + break; + case Node::QmlSignal: + anchorRef = QLatin1Char('#') + node->name() + "-signal"; + break; + case Node::QmlSignalHandler: + anchorRef = QLatin1Char('#') + node->name() + "-signal-handler"; + break; + case Node::QmlMethod: + anchorRef = QLatin1Char('#') + node->name() + "-method"; + break; + case Node::Variable: + anchorRef = QLatin1Char('#') + node->name() + "-var"; + break; + case Node::Fake: + { + /* + Use node->fileBase() for fake nodes because they are represented + by pages whose file names are lower-case. + */ + parentName = node->fileBase(); + parentName.replace(QLatin1Char('/'), "-").replace(".", "-"); + parentName += "." + currentGenerator()->fileExtension(); + } + break; + default: + break; + } + + // Various objects can be compat (deprecated) or obsolete. + if (node->type() != Node::Class && node->type() != Node::Namespace) { + switch (node->status()) { + case Node::Compat: + parentName.replace("." + currentGenerator()->fileExtension(), + "-compat." + currentGenerator()->fileExtension()); + break; + case Node::Obsolete: + parentName.replace("." + currentGenerator()->fileExtension(), + "-obsolete." + currentGenerator()->fileExtension()); + break; + default: + ; + } + } + + return fdl + parentName.toLower() + anchorRef; +} + QString Generator::fullName(const Node *node, const Node *relative, CodeMarker *marker) const @@ -1449,6 +1617,7 @@ void Generator::initialize(const Config &config) QList::ConstIterator g = generators.begin(); while (g != generators.end()) { if (outputFormats.contains((*g)->format())) { + currentGenerator_ = (*g); (*g)->initializeGenerator(config); QStringList extraImages = config.getCleanPathList(CONFIG_EXTRAIMAGES+Config::dot+(*g)->format()); diff --git a/src/tools/qdoc/generator.h b/src/tools/qdoc/generator.h index c97e59602d..713bfd2e51 100644 --- a/src/tools/qdoc/generator.h +++ b/src/tools/qdoc/generator.h @@ -90,6 +90,8 @@ public: virtual void terminateGenerator(); static const QString& baseDir() { return baseDir_; } + static Generator *currentGenerator() { return currentGenerator_; } + static QString fullDocumentLocation(const Node *node, bool subdir = false); static Generator *generatorForFormat(const QString& format); static void initialize(const Config& config); static const QString& outputDir() { return outDir_; } @@ -100,7 +102,7 @@ protected: virtual void endSubPage(); virtual void endText(const Node *relative, CodeMarker *marker); virtual QString fileBase(const Node* node) const; - virtual QString fileExtension(const Node* node) const = 0; + virtual QString fileExtension() const = 0; virtual QString fullName(const Node *node, const Node *relative, CodeMarker *marker) const; @@ -185,6 +187,7 @@ protected: private: static QString baseDir_; + static Generator* currentGenerator_; static QStringList exampleDirs; static QStringList exampleImgExts; static QMap > fmtLeftMaps; diff --git a/src/tools/qdoc/helpprojectwriter.cpp b/src/tools/qdoc/helpprojectwriter.cpp index da2a43d7e8..590feba166 100644 --- a/src/tools/qdoc/helpprojectwriter.cpp +++ b/src/tools/qdoc/helpprojectwriter.cpp @@ -211,7 +211,7 @@ QStringList HelpProjectWriter::keywordDetails(const Node *node) const details << node->name(); details << node->name(); } - details << HtmlGenerator::fullDocumentLocation(node,true); + details << Generator::fullDocumentLocation(node,true); return details; } @@ -271,12 +271,12 @@ bool HelpProjectWriter::generateSection(HelpProject &project, case Node::Class: project.keywords.append(keywordDetails(node)); - project.files.insert(HtmlGenerator::fullDocumentLocation(node,true)); + project.files.insert(Generator::fullDocumentLocation(node,true)); break; case Node::Namespace: project.keywords.append(keywordDetails(node)); - project.files.insert(HtmlGenerator::fullDocumentLocation(node,true)); + project.files.insert(Generator::fullDocumentLocation(node,true)); break; case Node::Enum: @@ -296,7 +296,7 @@ bool HelpProjectWriter::generateSection(HelpProject &project, details << item.name(); // "name" details << item.name(); // "id" } - details << HtmlGenerator::fullDocumentLocation(node,true); + details << Generator::fullDocumentLocation(node,true); project.keywords.append(details); } } @@ -328,7 +328,7 @@ bool HelpProjectWriter::generateSection(HelpProject &project, if (node->relates()) { project.memberStatus[node->relates()].insert(node->status()); - project.files.insert(HtmlGenerator::fullDocumentLocation(node->relates(),true)); + project.files.insert(Generator::fullDocumentLocation(node->relates(),true)); } else if (node->parent()) project.memberStatus[node->parent()].insert(node->status()); } @@ -342,7 +342,7 @@ bool HelpProjectWriter::generateSection(HelpProject &project, // Use the location of any associated enum node in preference // to that of the typedef. if (enumNode) - typedefDetails[2] = HtmlGenerator::fullDocumentLocation(enumNode,true); + typedefDetails[2] = Generator::fullDocumentLocation(enumNode,true); project.keywords.append(typedefDetails); } @@ -350,7 +350,7 @@ bool HelpProjectWriter::generateSection(HelpProject &project, case Node::Variable: { - QString location = HtmlGenerator::fullDocumentLocation(node,true); + QString location = Generator::fullDocumentLocation(node,true); project.files.insert(location.left(location.lastIndexOf(QLatin1Char('#')))); project.keywords.append(keywordDetails(node)); } @@ -370,12 +370,12 @@ bool HelpProjectWriter::generateSection(HelpProject &project, QStringList details; details << keyword->string() << keyword->string() - << HtmlGenerator::fullDocumentLocation(node,true) + + << Generator::fullDocumentLocation(node,true) + QLatin1Char('#') + Doc::canonicalTitle(keyword->string()); project.keywords.append(details); } else fakeNode->doc().location().warning( - tr("Bad keyword in %1").arg(HtmlGenerator::fullDocumentLocation(node,true)) + tr("Bad keyword in %1").arg(Generator::fullDocumentLocation(node,true)) ); } } @@ -398,7 +398,7 @@ bool HelpProjectWriter::generateSection(HelpProject &project, } } */ - project.files.insert(HtmlGenerator::fullDocumentLocation(node,true)); + project.files.insert(Generator::fullDocumentLocation(node,true)); } break; } @@ -477,7 +477,7 @@ void HelpProjectWriter::generate(const Tree *tre) void HelpProjectWriter::writeNode(HelpProject &project, QXmlStreamWriter &writer, const Node *node) { - QString href = HtmlGenerator::fullDocumentLocation(node,true); + QString href = Generator::fullDocumentLocation(node,true); QString objName = node->name(); switch (node->type()) { @@ -625,12 +625,12 @@ void HelpProjectWriter::generateProject(HelpProject &project) node = tree->findNode(QStringList("index.html")); QString indexPath; if (node) - indexPath = HtmlGenerator::fullDocumentLocation(node,true); + indexPath = Generator::fullDocumentLocation(node,true); else indexPath = "index.html"; writer.writeAttribute("ref", indexPath); writer.writeAttribute("title", project.indexTitle); - project.files.insert(HtmlGenerator::fullDocumentLocation(rootNode)); + project.files.insert(Generator::fullDocumentLocation(rootNode)); generateSections(project, writer, rootNode); @@ -668,7 +668,7 @@ void HelpProjectWriter::generateProject(HelpProject &project) const FakeNode *page = tree->findFakeNodeByTitle(atom->string()); writer.writeStartElement("section"); - QString indexPath = HtmlGenerator::fullDocumentLocation(page,true); + QString indexPath = Generator::fullDocumentLocation(page,true); writer.writeAttribute("ref", indexPath); writer.writeAttribute("title", atom->string()); project.files.insert(indexPath); @@ -693,7 +693,7 @@ void HelpProjectWriter::generateProject(HelpProject &project) if (!name.isEmpty()) { writer.writeStartElement("section"); - QString indexPath = HtmlGenerator::fullDocumentLocation(tree->findFakeNodeByTitle(subproject.indexTitle),true); + QString indexPath = Generator::fullDocumentLocation(tree->findFakeNodeByTitle(subproject.indexTitle),true); writer.writeAttribute("ref", indexPath); writer.writeAttribute("title", subproject.title); project.files.insert(indexPath); diff --git a/src/tools/qdoc/htmlgenerator.cpp b/src/tools/qdoc/htmlgenerator.cpp index 24dd31e0b5..7d9f3c00be 100644 --- a/src/tools/qdoc/htmlgenerator.cpp +++ b/src/tools/qdoc/htmlgenerator.cpp @@ -1690,7 +1690,7 @@ void HtmlGenerator::generateFakeNode(FakeNode* fake, CodeMarker* marker) /*! Returns "html" for this subclass of Generator. */ -QString HtmlGenerator::fileExtension(const Node * /* node */) const +QString HtmlGenerator::fileExtension() const { return "html"; } @@ -2110,7 +2110,7 @@ QString HtmlGenerator::generateListOfAllMemberFile(const InnerNode *inner, if (sections.isEmpty()) return QString(); - QString fileName = fileBase(inner) + "-members." + fileExtension(inner); + QString fileName = fileBase(inner) + "-members." + fileExtension(); beginSubPage(inner, fileName); QString title = "List of All Members for " + inner->name(); generateHeader(title, inner, marker); @@ -2142,7 +2142,7 @@ QString HtmlGenerator::generateAllQmlMembersFile(const QmlClassNode* qml_cn, if (sections.isEmpty()) return QString(); - QString fileName = fileBase(qml_cn) + "-members." + fileExtension(qml_cn); + QString fileName = fileBase(qml_cn) + "-members." + fileExtension(); beginSubPage(qml_cn, fileName); QString title = "List of All Members for " + qml_cn->name(); generateHeader(title, qml_cn, marker); @@ -2181,11 +2181,11 @@ QString HtmlGenerator::generateLowStatusMemberFile(const InnerNode *inner, if (status == CodeMarker::Compat) { title = "Compatibility Members for " + inner->name(); - fileName = fileBase(inner) + "-compat." + fileExtension(inner); + fileName = fileBase(inner) + "-compat." + fileExtension(); } else { title = "Obsolete Members for " + inner->name(); - fileName = fileBase(inner) + "-obsolete." + fileExtension(inner); + fileName = fileBase(inner) + "-obsolete." + fileExtension(); } beginSubPage(inner, fileName); @@ -4319,170 +4319,6 @@ void HtmlGenerator::generateExtractionMark(const Node *node, ExtractionMarkType } } -/*! - Returns the full document location for HTML-based documentation. - */ -QString HtmlGenerator::fullDocumentLocation(const Node *node, bool subdir) -{ - if (!node) - return ""; - if (!node->url().isEmpty()) - return node->url(); - - QString parentName; - QString anchorRef; - QString fdl = ""; - - /* - If the output is being sent to subdirectories of the - output directory, and if the subdir parameter is set, - prepend the subdirectory name + '/' to the result. - */ - if (subdir) { - fdl = node->outputSubdirectory(); - if (!fdl.isEmpty()) - fdl.append(QLatin1Char('/')); - } - if (node->type() == Node::Namespace) { - - // The root namespace has no name - check for this before creating - // an attribute containing the location of any documentation. - - if (!node->fileBase().isEmpty()) - parentName = node->fileBase() + ".html"; - else - return ""; - } - else if (node->type() == Node::Fake) { - if ((node->subType() == Node::QmlClass) || - (node->subType() == Node::QmlBasicType)) { - QString fb = node->fileBase(); - if (fb.startsWith(Generator::outputPrefix(QLatin1String("QML")))) - return fb + ".html"; - else { - QString mq = ""; - if (!node->qmlModuleName().isEmpty()) { - mq = node->qmlModuleIdentifier().replace(QChar('.'),QChar('-')); - mq = mq.toLower() + "-"; - } - return fdl+ Generator::outputPrefix(QLatin1String("QML")) + mq + - node->fileBase() + QLatin1String(".html"); - } - } - else - parentName = node->fileBase() + ".html"; - } - else if (node->fileBase().isEmpty()) - return ""; - - Node *parentNode = 0; - - if ((parentNode = node->relates())) { - parentName = fullDocumentLocation(node->relates()); - } - else if ((parentNode = node->parent())) { - if (parentNode->subType() == Node::QmlPropertyGroup) { - parentNode = parentNode->parent(); - parentName = fullDocumentLocation(parentNode); - } - else - parentName = fullDocumentLocation(node->parent()); - } - - switch (node->type()) { - case Node::Class: - case Node::Namespace: - if (parentNode && !parentNode->name().isEmpty()) { - parentName.remove(".html"); - parentName += QLatin1Char('-') - + node->fileBase().toLower() + ".html"; - } else { - parentName = node->fileBase() + ".html"; - } - break; - case Node::Function: - { - /* - Functions can be destructors, overloaded, or - have associated properties. - */ - const FunctionNode *functionNode = - static_cast(node); - - if (functionNode->metaness() == FunctionNode::Dtor) - anchorRef = "#dtor." + functionNode->name().mid(1); - - else if (functionNode->associatedProperty()) - return fullDocumentLocation(functionNode->associatedProperty()); - - else if (functionNode->overloadNumber() > 1) - anchorRef = QLatin1Char('#') + functionNode->name() - + "-" + QString::number(functionNode->overloadNumber()); - else - anchorRef = QLatin1Char('#') + functionNode->name(); - } - - /* - Use node->name() instead of node->fileBase() as - the latter returns the name in lower-case. For - HTML anchors, we need to preserve the case. - */ - break; - case Node::Enum: - anchorRef = QLatin1Char('#') + node->name() + "-enum"; - break; - case Node::Typedef: - anchorRef = QLatin1Char('#') + node->name() + "-typedef"; - break; - case Node::Property: - anchorRef = QLatin1Char('#') + node->name() + "-prop"; - break; - case Node::QmlProperty: - anchorRef = QLatin1Char('#') + node->name() + "-prop"; - break; - case Node::QmlSignal: - anchorRef = QLatin1Char('#') + node->name() + "-signal"; - break; - case Node::QmlSignalHandler: - anchorRef = QLatin1Char('#') + node->name() + "-signal-handler"; - break; - case Node::QmlMethod: - anchorRef = QLatin1Char('#') + node->name() + "-method"; - break; - case Node::Variable: - anchorRef = QLatin1Char('#') + node->name() + "-var"; - break; - case Node::Fake: - { - /* - Use node->fileBase() for fake nodes because they are represented - by pages whose file names are lower-case. - */ - parentName = node->fileBase(); - parentName.replace(QLatin1Char('/'), "-").replace(".", "-"); - parentName += ".html"; - } - break; - default: - break; - } - - // Various objects can be compat (deprecated) or obsolete. - if (node->type() != Node::Class && node->type() != Node::Namespace) { - switch (node->status()) { - case Node::Compat: - parentName.replace(".html", "-compat.html"); - break; - case Node::Obsolete: - parentName.replace(".html", "-obsolete.html"); - break; - default: - ; - } - } - - return fdl + parentName.toLower() + anchorRef; -} /*! This function outputs one or more manifest files in XML. diff --git a/src/tools/qdoc/htmlgenerator.h b/src/tools/qdoc/htmlgenerator.h index 403c1f0899..a4e6c2f368 100644 --- a/src/tools/qdoc/htmlgenerator.h +++ b/src/tools/qdoc/htmlgenerator.h @@ -94,7 +94,6 @@ public: static QString protect(const QString &string, const QString &encoding = "ISO-8859-1"); static QString cleanRef(const QString& ref); static QString sinceTitle(int i) { return sinceTitles[i]; } - static QString fullDocumentLocation(const Node *node, bool subdir = false); protected: virtual void startText(const Node *relative, CodeMarker *marker); @@ -103,7 +102,7 @@ protected: CodeMarker *marker); virtual void generateClassLikeNode(InnerNode* inner, CodeMarker* marker); virtual void generateFakeNode(FakeNode* fake, CodeMarker* marker); - virtual QString fileExtension(const Node *node) const; + virtual QString fileExtension() const; virtual QString refForNode(const Node *node); virtual QString linkForNode(const Node *node, const Node *relative); virtual QString refForAtom(Atom *atom, const Node *node); diff --git a/src/tools/qdoc/tree.cpp b/src/tools/qdoc/tree.cpp index 3dfcfea48b..98c269dccc 100644 --- a/src/tools/qdoc/tree.cpp +++ b/src/tools/qdoc/tree.cpp @@ -1513,7 +1513,7 @@ bool Tree::generateIndexSection(QXmlStreamWriter& writer, QString href = node->outputSubdirectory(); if (!href.isEmpty()) href.append(QLatin1Char('/')); - href.append(HtmlGenerator::fullDocumentLocation(node)); + href.append(Generator::fullDocumentLocation(node)); writer.writeAttribute("href", href); if ((node->type() != Node::Fake) && (!node->isQmlNode())) writer.writeAttribute("location", node->location().fileName()); @@ -2026,7 +2026,7 @@ void Tree::generateTagFileCompounds(QXmlStreamWriter& writer, const InnerNode* i if (node->type() == Node::Class) { writer.writeTextElement("name", node->fullDocumentName()); - writer.writeTextElement("filename", HtmlGenerator::fullDocumentLocation(node,true)); + writer.writeTextElement("filename", Generator::fullDocumentLocation(node,true)); // Classes contain information about their base classes. const ClassNode* classNode = static_cast(node); @@ -2044,7 +2044,7 @@ void Tree::generateTagFileCompounds(QXmlStreamWriter& writer, const InnerNode* i generateTagFileCompounds(writer, static_cast(node)); } else { writer.writeTextElement("name", node->fullDocumentName()); - writer.writeTextElement("filename", HtmlGenerator::fullDocumentLocation(node,true)); + writer.writeTextElement("filename", Generator::fullDocumentLocation(node,true)); // Recurse to write all members. generateTagFileMembers(writer, static_cast(node)); @@ -2163,7 +2163,7 @@ void Tree::generateTagFileMembers(QXmlStreamWriter& writer, const InnerNode* inn "virtual " + functionNode->returnType()); writer.writeTextElement("name", objName); - QStringList pieces = HtmlGenerator::fullDocumentLocation(node,true).split(QLatin1Char('#')); + QStringList pieces = Generator::fullDocumentLocation(node,true).split(QLatin1Char('#')); writer.writeTextElement("anchorfile", pieces[0]); writer.writeTextElement("anchor", pieces[1]); @@ -2202,7 +2202,7 @@ void Tree::generateTagFileMembers(QXmlStreamWriter& writer, const InnerNode* inn const PropertyNode* propertyNode = static_cast(node); writer.writeAttribute("type", propertyNode->dataType()); writer.writeTextElement("name", objName); - QStringList pieces = HtmlGenerator::fullDocumentLocation(node,true).split(QLatin1Char('#')); + QStringList pieces = Generator::fullDocumentLocation(node,true).split(QLatin1Char('#')); writer.writeTextElement("anchorfile", pieces[0]); writer.writeTextElement("anchor", pieces[1]); writer.writeTextElement("arglist", ""); @@ -2214,7 +2214,7 @@ void Tree::generateTagFileMembers(QXmlStreamWriter& writer, const InnerNode* inn { const EnumNode* enumNode = static_cast(node); writer.writeTextElement("name", objName); - QStringList pieces = HtmlGenerator::fullDocumentLocation(node).split(QLatin1Char('#')); + QStringList pieces = Generator::fullDocumentLocation(node).split(QLatin1Char('#')); writer.writeTextElement("anchor", pieces[1]); writer.writeTextElement("arglist", ""); writer.writeEndElement(); // member @@ -2238,7 +2238,7 @@ void Tree::generateTagFileMembers(QXmlStreamWriter& writer, const InnerNode* inn else writer.writeAttribute("type", ""); writer.writeTextElement("name", objName); - QStringList pieces = HtmlGenerator::fullDocumentLocation(node,true).split(QLatin1Char('#')); + QStringList pieces = Generator::fullDocumentLocation(node,true).split(QLatin1Char('#')); writer.writeTextElement("anchorfile", pieces[0]); writer.writeTextElement("anchor", pieces[1]); writer.writeTextElement("arglist", "");