--- a/tools/qdoc3/htmlgenerator.cpp Tue Jan 26 12:42:25 2010 +0200
+++ b/tools/qdoc3/htmlgenerator.cpp Tue Feb 02 00:43:10 2010 +0200
@@ -2300,7 +2300,8 @@
<< " </b>";
}
out() << "</td>\n";
-
+
+ out() << "<td>";
if ((currentParagraphNo[i] < NumParagraphs) &&
!paragraphName[currentParagraphNo[i]].isEmpty()) {
NodeMap::Iterator it;
@@ -2308,7 +2309,6 @@
for (j = 0; j < currentOffsetInParagraph[i]; j++)
++it;
- out() << "<td>";
// Previously, we used generateFullName() for this, but we
// require some special formatting.
out() << "<a href=\""
@@ -2322,8 +2322,8 @@
generateFullName(it.value()->parent(), relative, marker);
out() << ")";
}
- out() << "</td>\n";
- }
+ }
+ out() << "</td>\n";
currentOffset[i]++;
currentOffsetInParagraph[i]++;
@@ -3429,6 +3429,8 @@
if (node->type() == Node::Fake) {
if (static_cast<const FakeNode *>(node)->subType() == Node::ExternalPage)
return node->name();
+ if (static_cast<const FakeNode *>(node)->subType() == Node::Image)
+ return node->name();
}
return PageGenerator::fileName(node);
}
@@ -3467,10 +3469,13 @@
ref += "-" + QString::number(func->overloadNumber());
}
break;
- case Node::Property:
-#ifdef QDOC_QML
+#ifdef QDOC_QML
+ case Node::Fake:
+ if (node->subType() != Node::QmlPropertyGroup)
+ break;
case Node::QmlProperty:
#endif
+ case Node::Property:
ref = node->name() + "-prop";
break;
#ifdef QDOC_QML
@@ -3512,9 +3517,9 @@
// ### reintroduce this test, without breaking .dcf files
if (fn != outFileName())
#endif
- link += fn;
-
- if (!node->isInnerNode()) {
+ link += fn;
+
+ if (!node->isInnerNode() || node->subType() == Node::QmlPropertyGroup) {
ref = refForNode(node);
if (relative && fn == fileName(relative) && ref == refForNode(relative))
return QString();
@@ -3997,6 +4002,8 @@
if (path.isEmpty()) {
link = linkForNode(*node, relative);
+ if (*node && (*node)->subType() == Node::Image)
+ link = "images/used-in-examples/" + link;
if (targetAtom)
link += "#" + refForAtom(targetAtom, *node);
}
@@ -4077,7 +4084,7 @@
QStringList macRefs = marker->macRefsForNode(node);
foreach (const QString &macRef, macRefs)
- out() << "<a name=\"" << "//apple_ref/" << macRef << "\" />\n";
+ out() << "<a name=\"" << "//apple_ref/" << macRef << "\"></a>\n";
}
void HtmlGenerator::beginLink(const QString &link,
@@ -4189,13 +4196,15 @@
const QmlPropGroupNode* qpgn = static_cast<const QmlPropGroupNode*>(node);
NodeList::ConstIterator p = qpgn->childNodes().begin();
out() << "<div class=\"qmlproto\">";
- out() << "<table class=\"qmlname\">";
+ out() << "<table width=\"100%\" class=\"qmlname\">";
while (p != qpgn->childNodes().end()) {
if ((*p)->type() == Node::QmlProperty) {
qpn = static_cast<const QmlPropertyNode*>(*p);
out() << "<tr><td>";
out() << "<a name=\"" + refForNode(qpn) + "\"></a>";
+ if (!qpn->isWritable())
+ out() << "<span class=\"qmlreadonly\">read-only</span>";
generateQmlItem(qpn, relative, marker, false);
out() << "</td></tr>";
if (qpgn->isDefault()) {
@@ -4214,23 +4223,24 @@
out() << "</div>";
}
else if (node->type() == Node::QmlSignal) {
- const QmlSignalNode* qsn = static_cast<const QmlSignalNode*>(node);
+ const FunctionNode* qsn = static_cast<const FunctionNode*>(node);
out() << "<div class=\"qmlproto\">";
out() << "<table class=\"qmlname\">";
out() << "<tr><td>";
out() << "<a name=\"" + refForNode(qsn) + "\"></a>";
- generateQmlItem(qsn,relative,marker,false);
+ generateSynopsis(qsn,relative,marker,CodeMarker::Detailed,false);
+ //generateQmlItem(qsn,relative,marker,false);
out() << "</td></tr>";
out() << "</table>";
out() << "</div>";
}
else if (node->type() == Node::QmlMethod) {
- const QmlMethodNode* qmn = static_cast<const QmlMethodNode*>(node);
+ const FunctionNode* qmn = static_cast<const FunctionNode*>(node);
out() << "<div class=\"qmlproto\">";
out() << "<table class=\"qmlname\">";
out() << "<tr><td>";
out() << "<a name=\"" + refForNode(qmn) + "\"></a>";
- generateQmlItem(qmn,relative,marker,false);
+ generateSynopsis(qmn,relative,marker,CodeMarker::Detailed,false);
out() << "</td></tr>";
out() << "</table>";
out() << "</div>";
@@ -4276,7 +4286,7 @@
}
/*!
- Output the "[Xxx instantiates the C++ class QFxXxx]"
+ Output the "[Xxx instantiates the C++ class QmlGraphicsXxx]"
line for the QML element, if there should be one.
If there is no class node, or if the class node status
@@ -4306,7 +4316,7 @@
}
/*!
- Output the "[QFxXxx is instantiated by QML element Xxx]"
+ Output the "[QmlGraphicsXxx is instantiated by QML element Xxx]"
line for the class, if there should be one.
If there is no QML element, or if the class node status