summaryrefslogtreecommitdiffstats
path: root/tools/qdoc3/htmlgenerator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/qdoc3/htmlgenerator.cpp')
-rw-r--r--tools/qdoc3/htmlgenerator.cpp67
1 files changed, 52 insertions, 15 deletions
diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp
index eb33ce9..9e8d768 100644
--- a/tools/qdoc3/htmlgenerator.cpp
+++ b/tools/qdoc3/htmlgenerator.cpp
@@ -1493,7 +1493,7 @@ void HtmlGenerator::generateFakeNode(const FakeNode *fake, CodeMarker *marker)
const QmlClassNode* qml_cn = 0;
if (fake->subType() == Node::QmlClass) {
qml_cn = static_cast<const QmlClassNode*>(fake);
- sections = marker->qmlSections(qml_cn,CodeMarker::Summary);
+ sections = marker->qmlSections(qml_cn,CodeMarker::Summary,0);
generateTableOfContents(fake,marker,&sections);
}
else if (fake->name() != QString("index.html"))
@@ -1575,6 +1575,13 @@ void HtmlGenerator::generateFakeNode(const FakeNode *fake, CodeMarker *marker)
generateQmlInherits(qml_cn, marker);
generateQmlInheritedBy(qml_cn, marker);
generateQmlInstantiates(qml_cn, marker);
+
+ QString allQmlMembersLink = generateAllQmlMembersFile(qml_cn, marker);
+ if (!allQmlMembersLink.isEmpty()) {
+ out() << "<li><a href=\"" << allQmlMembersLink << "\">"
+ << "List of all members, including inherited members</a></li>\n";
+ }
+
s = sections.begin();
while (s != sections.end()) {
out() << "<a name=\"" << registerRef((*s).name.toLower())
@@ -1594,7 +1601,7 @@ void HtmlGenerator::generateFakeNode(const FakeNode *fake, CodeMarker *marker)
generateExtractionMark(fake, EndMark);
//out() << "<hr />\n";
- sections = marker->qmlSections(qml_cn,CodeMarker::Detailed);
+ sections = marker->qmlSections(qml_cn,CodeMarker::Detailed,0);
s = sections.begin();
while (s != sections.end()) {
out() << "<h2>" << protectEnc((*s).name) << "</h2>\n";
@@ -1717,7 +1724,7 @@ void HtmlGenerator::generateBreadCrumbs(const QString& title,
out() << "</li>\n";
}
if (!cn->name().isEmpty())
- out() << " <li>" << cn->name() << "</li>\n";
+ out() << " <li>" << protectEnc(cn->name()) << "</li>\n";
}
else if (node->type() == Node::Fake) {
const FakeNode* fn = static_cast<const FakeNode*>(node);
@@ -1725,52 +1732,50 @@ void HtmlGenerator::generateBreadCrumbs(const QString& title,
out() << " <li><a href=\"modules.html\">Modules</a></li>";
QString name = node->name();
if (!name.isEmpty())
- out() << " <li>" << name << "</li>\n";
+ out() << " <li>" << protectEnc(name) << "</li>\n";
}
else if (node->subType() == Node::Group) {
if (fn->name() == QString("modules"))
out() << " <li>Modules</li>";
else {
- out() << " <li>" << title << "</li>";
+ out() << " <li>" << protectEnc(title) << "</li>";
}
}
else if (node->subType() == Node::Page) {
if (fn->name() == QString("qdeclarativeexamples.html")) {
out() << " <li><a href=\"all-examples.html\">Examples</a></li>";
- out() << " <li>QML Examples & Demos</li>";
+ out() << " <li>QML Examples &amp; Demos</li>";
}
else if (fn->name().startsWith("examples-")) {
out() << " <li><a href=\"all-examples.html\">Examples</a></li>";
- out() << " <li>" << title << "</li>";
+ out() << " <li>" << protectEnc(title) << "</li>";
}
else if (fn->name() == QString("namespaces.html")) {
out() << " <li>Namespaces</li>";
}
else {
- out() << " <li>" << title << "</li>";
+ out() << " <li>" << protectEnc(title) << "</li>";
}
}
else if (node->subType() == Node::QmlClass) {
out() << " <li><a href=\"qdeclarativeelements.html\">QML Elements</a></li>";
- out() << " <li>" << title << "</li>";
+ out() << " <li>" << protectEnc(title) << "</li>";
}
else if (node->subType() == Node::Example) {
out() << " <li><a href=\"all-examples.html\">Examples</a></li>";
QStringList sl = fn->name().split('/');
if (sl.contains("declarative"))
- out() << " <li><a href=\"qdeclarativeexamples.html\">QML Examples & Demos</a></li>";
+ out() << " <li><a href=\"qdeclarativeexamples.html\">QML Examples &amp; Demos</a></li>";
else {
- QString name = "examples-" + sl.at(0) + ".html"; // this generates an empty link
+ QString name = protectEnc("examples-" + sl.at(0) + ".html"); // this generates an empty link
QString t = CodeParser::titleFromName(name);
- // out() << " <li> <a href=\"" << name << "\">"
- // << t << "</a></li>";
}
- out() << " <li>" << title << "</li>";
+ out() << " <li>" << protectEnc(title) << "</li>";
}
}
else if (node->type() == Node::Namespace) {
out() << " <li><a href=\"namespaces.html\">Namespaces</a></li>";
- out() << " <li>" << title << "</li>";
+ out() << " <li>" << protectEnc(title) << "</li>";
}
}
@@ -2291,6 +2296,38 @@ QString HtmlGenerator::generateListOfAllMemberFile(const InnerNode *inner,
return fileName;
}
+/*!
+ This function creates an html page on which are listed all
+ the members of QML class \a qml_cn, including the inherited
+ members. The \a marker is used for formatting stuff.
+ */
+QString HtmlGenerator::generateAllQmlMembersFile(const QmlClassNode* qml_cn,
+ CodeMarker* marker)
+{
+ QList<Section> sections;
+ QList<Section>::ConstIterator s;
+
+ sections = marker->qmlSections(qml_cn,CodeMarker::SeparateList,myTree);
+ if (sections.isEmpty())
+ return QString();
+
+ QString fileName = fileBase(qml_cn) + "-members." + fileExtension(qml_cn);
+ beginSubPage(qml_cn->location(), fileName);
+ QString title = "List of All Members for " + qml_cn->name();
+ generateHeader(title, qml_cn, marker);
+ generateTitle(title, Text(), SmallSubTitle, qml_cn, marker);
+ out() << "<p>This is the complete list of members for ";
+ generateFullName(qml_cn, 0, marker);
+ out() << ", including inherited members.</p>\n";
+
+ Section section = sections.first();
+ generateSectionList(section, 0, marker, CodeMarker::SeparateList);
+
+ generateFooter();
+ endSubPage();
+ return fileName;
+}
+
QString HtmlGenerator::generateLowStatusMemberFile(const InnerNode *inner,
CodeMarker *marker,
CodeMarker::Status status)