summaryrefslogtreecommitdiffstats
path: root/tools/qdoc3
diff options
context:
space:
mode:
authorSergio Ahumada <sergio.ahumada@nokia.com>2011-08-31 11:54:04 (GMT)
committerSergio Ahumada <sergio.ahumada@nokia.com>2011-08-31 11:54:04 (GMT)
commit9f51c31a0f492c20e6d882b2ae1e036b29c2755c (patch)
treecbb3beed71735514632b4f2788b63e72667cfc04 /tools/qdoc3
parent0e10b8dbb7d84694cbdeb57bf42df52b12d79f47 (diff)
parent4f933036a0ecbc6e6174b312ec2fd6078cea5b70 (diff)
downloadQt-9f51c31a0f492c20e6d882b2ae1e036b29c2755c.zip
Qt-9f51c31a0f492c20e6d882b2ae1e036b29c2755c.tar.gz
Qt-9f51c31a0f492c20e6d882b2ae1e036b29c2755c.tar.bz2
Merge remote-tracking branch 'upstream/4.8' into qt-4.8-from-4.7
Conflicts: src/network/ssl/qsslcertificate.cpp
Diffstat (limited to 'tools/qdoc3')
-rw-r--r--tools/qdoc3/cppcodemarker.cpp20
-rw-r--r--tools/qdoc3/ditaxmlgenerator.cpp5
-rw-r--r--tools/qdoc3/doc/config/images/arrow_down.pngbin0 -> 177 bytes
-rwxr-xr-xtools/qdoc3/doc/config/images/bg_l.pngbin0 -> 100 bytes
-rwxr-xr-xtools/qdoc3/doc/config/images/bg_l_blank.pngbin0 -> 84 bytes
-rw-r--r--tools/qdoc3/doc/config/images/bg_ll_blank.pngbin0 -> 320 bytes
-rwxr-xr-xtools/qdoc3/doc/config/images/bg_r.pngbin0 -> 96 bytes
-rw-r--r--tools/qdoc3/doc/config/images/bg_ul_blank.pngbin0 -> 304 bytes
-rwxr-xr-xtools/qdoc3/doc/config/images/box_bg.pngbin0 -> 89 bytes
-rwxr-xr-xtools/qdoc3/doc/config/images/breadcrumb.pngbin0 -> 134 bytes
-rw-r--r--tools/qdoc3/doc/config/images/bullet_dn.pngbin0 -> 230 bytes
-rwxr-xr-xtools/qdoc3/doc/config/images/bullet_gt.pngbin0 -> 124 bytes
-rwxr-xr-xtools/qdoc3/doc/config/images/bullet_sq.pngbin0 -> 74 bytes
-rw-r--r--tools/qdoc3/doc/config/images/bullet_up.pngbin0 -> 210 bytes
-rwxr-xr-xtools/qdoc3/doc/config/images/feedbackground.pngbin0 -> 263 bytes
-rw-r--r--tools/qdoc3/doc/config/images/header_bg.pngbin0 -> 114 bytes
-rwxr-xr-xtools/qdoc3/doc/config/images/horBar.pngbin0 -> 2807 bytes
-rw-r--r--tools/qdoc3/doc/config/images/page.pngbin0 -> 3102 bytes
-rwxr-xr-xtools/qdoc3/doc/config/images/page_bg.pngbin0 -> 84 bytes
-rw-r--r--tools/qdoc3/doc/config/images/spinner.gifbin0 -> 2037 bytes
-rwxr-xr-xtools/qdoc3/doc/config/images/sprites-combined.pngbin0 -> 62534 bytes
-rw-r--r--tools/qdoc3/node.cpp31
-rw-r--r--tools/qdoc3/puredocparser.cpp5
-rw-r--r--tools/qdoc3/puredocparser.h1
-rw-r--r--tools/qdoc3/qmlvisitor.cpp63
-rw-r--r--tools/qdoc3/qmlvisitor.h2
-rw-r--r--tools/qdoc3/test/qt-cpp-ignore.qdocconf3
-rw-r--r--tools/qdoc3/test/qt-html-templates-online.qdocconf14
-rw-r--r--tools/qdoc3/test/qt-project.qdocconf2
29 files changed, 54 insertions, 92 deletions
diff --git a/tools/qdoc3/cppcodemarker.cpp b/tools/qdoc3/cppcodemarker.cpp
index 585d6ce..3617be6 100644
--- a/tools/qdoc3/cppcodemarker.cpp
+++ b/tools/qdoc3/cppcodemarker.cpp
@@ -878,26 +878,6 @@ static const char * const keywordTable[] = {
"signals", "slots", "emit", 0
};
-static QString untabified(const QString &in)
-{
- QString res;
- int col = 0;
- int i = 0;
-
- for (; i < (int) in.length(); i++) {
- if (in[i] == QChar('\t')) {
- res += QString(" " + (col & 0x7));
- col = (col + 8) & ~0x7;
- } else {
- res += in[i];
- if (in[i] == QChar('\n'))
- col = 0;
- }
- }
-
- return res;
-}
-
/*
@char
@class
diff --git a/tools/qdoc3/ditaxmlgenerator.cpp b/tools/qdoc3/ditaxmlgenerator.cpp
index 64f12d6..840761c 100644
--- a/tools/qdoc3/ditaxmlgenerator.cpp
+++ b/tools/qdoc3/ditaxmlgenerator.cpp
@@ -2101,9 +2101,10 @@ DitaXmlGenerator::generateClassLikeNode(const InnerNode* inner, CodeMarker* mark
generateSince(qcn, marker);
enterSection("h2","Detailed Description");
generateBody(qcn, marker);
- if (cn)
+ if (cn) {
generateQmlText(cn->doc().body(), cn, marker, qcn->name());
- generateAlsoList(cn, marker);
+ generateAlsoList(cn, marker);
+ }
leaveSection();
leaveSection(); // </apiDesc>
diff --git a/tools/qdoc3/doc/config/images/arrow_down.png b/tools/qdoc3/doc/config/images/arrow_down.png
new file mode 100644
index 0000000..9d01e97
--- /dev/null
+++ b/tools/qdoc3/doc/config/images/arrow_down.png
Binary files differ
diff --git a/tools/qdoc3/doc/config/images/bg_l.png b/tools/qdoc3/doc/config/images/bg_l.png
new file mode 100755
index 0000000..90b1da1
--- /dev/null
+++ b/tools/qdoc3/doc/config/images/bg_l.png
Binary files differ
diff --git a/tools/qdoc3/doc/config/images/bg_l_blank.png b/tools/qdoc3/doc/config/images/bg_l_blank.png
new file mode 100755
index 0000000..5a9673d
--- /dev/null
+++ b/tools/qdoc3/doc/config/images/bg_l_blank.png
Binary files differ
diff --git a/tools/qdoc3/doc/config/images/bg_ll_blank.png b/tools/qdoc3/doc/config/images/bg_ll_blank.png
new file mode 100644
index 0000000..95a1c45
--- /dev/null
+++ b/tools/qdoc3/doc/config/images/bg_ll_blank.png
Binary files differ
diff --git a/tools/qdoc3/doc/config/images/bg_r.png b/tools/qdoc3/doc/config/images/bg_r.png
new file mode 100755
index 0000000..f0fb121
--- /dev/null
+++ b/tools/qdoc3/doc/config/images/bg_r.png
Binary files differ
diff --git a/tools/qdoc3/doc/config/images/bg_ul_blank.png b/tools/qdoc3/doc/config/images/bg_ul_blank.png
new file mode 100644
index 0000000..7051261
--- /dev/null
+++ b/tools/qdoc3/doc/config/images/bg_ul_blank.png
Binary files differ
diff --git a/tools/qdoc3/doc/config/images/box_bg.png b/tools/qdoc3/doc/config/images/box_bg.png
new file mode 100755
index 0000000..3322f92
--- /dev/null
+++ b/tools/qdoc3/doc/config/images/box_bg.png
Binary files differ
diff --git a/tools/qdoc3/doc/config/images/breadcrumb.png b/tools/qdoc3/doc/config/images/breadcrumb.png
new file mode 100755
index 0000000..0ded551
--- /dev/null
+++ b/tools/qdoc3/doc/config/images/breadcrumb.png
Binary files differ
diff --git a/tools/qdoc3/doc/config/images/bullet_dn.png b/tools/qdoc3/doc/config/images/bullet_dn.png
new file mode 100644
index 0000000..f776247
--- /dev/null
+++ b/tools/qdoc3/doc/config/images/bullet_dn.png
Binary files differ
diff --git a/tools/qdoc3/doc/config/images/bullet_gt.png b/tools/qdoc3/doc/config/images/bullet_gt.png
new file mode 100755
index 0000000..7561b4e
--- /dev/null
+++ b/tools/qdoc3/doc/config/images/bullet_gt.png
Binary files differ
diff --git a/tools/qdoc3/doc/config/images/bullet_sq.png b/tools/qdoc3/doc/config/images/bullet_sq.png
new file mode 100755
index 0000000..a84845e
--- /dev/null
+++ b/tools/qdoc3/doc/config/images/bullet_sq.png
Binary files differ
diff --git a/tools/qdoc3/doc/config/images/bullet_up.png b/tools/qdoc3/doc/config/images/bullet_up.png
new file mode 100644
index 0000000..7de2f06
--- /dev/null
+++ b/tools/qdoc3/doc/config/images/bullet_up.png
Binary files differ
diff --git a/tools/qdoc3/doc/config/images/feedbackground.png b/tools/qdoc3/doc/config/images/feedbackground.png
new file mode 100755
index 0000000..3a38d99
--- /dev/null
+++ b/tools/qdoc3/doc/config/images/feedbackground.png
Binary files differ
diff --git a/tools/qdoc3/doc/config/images/header_bg.png b/tools/qdoc3/doc/config/images/header_bg.png
new file mode 100644
index 0000000..a436aa6
--- /dev/null
+++ b/tools/qdoc3/doc/config/images/header_bg.png
Binary files differ
diff --git a/tools/qdoc3/doc/config/images/horBar.png b/tools/qdoc3/doc/config/images/horBar.png
new file mode 100755
index 0000000..100fe91
--- /dev/null
+++ b/tools/qdoc3/doc/config/images/horBar.png
Binary files differ
diff --git a/tools/qdoc3/doc/config/images/page.png b/tools/qdoc3/doc/config/images/page.png
new file mode 100644
index 0000000..1db151b
--- /dev/null
+++ b/tools/qdoc3/doc/config/images/page.png
Binary files differ
diff --git a/tools/qdoc3/doc/config/images/page_bg.png b/tools/qdoc3/doc/config/images/page_bg.png
new file mode 100755
index 0000000..9b3bd99
--- /dev/null
+++ b/tools/qdoc3/doc/config/images/page_bg.png
Binary files differ
diff --git a/tools/qdoc3/doc/config/images/spinner.gif b/tools/qdoc3/doc/config/images/spinner.gif
new file mode 100644
index 0000000..1ed786f
--- /dev/null
+++ b/tools/qdoc3/doc/config/images/spinner.gif
Binary files differ
diff --git a/tools/qdoc3/doc/config/images/sprites-combined.png b/tools/qdoc3/doc/config/images/sprites-combined.png
new file mode 100755
index 0000000..3a48b21
--- /dev/null
+++ b/tools/qdoc3/doc/config/images/sprites-combined.png
Binary files differ
diff --git a/tools/qdoc3/node.cpp b/tools/qdoc3/node.cpp
index 189c28f..4fc8946 100644
--- a/tools/qdoc3/node.cpp
+++ b/tools/qdoc3/node.cpp
@@ -1694,37 +1694,6 @@ bool QmlPropertyNode::fromTrool(Trool troolean, bool defaultValue)
}
}
-static QString valueType(const QString &n)
-{
- if (n == "QPoint")
- return "QDeclarativePointValueType";
- if (n == "QPointF")
- return "QDeclarativePointFValueType";
- if (n == "QSize")
- return "QDeclarativeSizeValueType";
- if (n == "QSizeF")
- return "QDeclarativeSizeFValueType";
- if (n == "QRect")
- return "QDeclarativeRectValueType";
- if (n == "QRectF")
- return "QDeclarativeRectFValueType";
- if (n == "QVector2D")
- return "QDeclarativeVector2DValueType";
- if (n == "QVector3D")
- return "QDeclarativeVector3DValueType";
- if (n == "QVector4D")
- return "QDeclarativeVector4DValueType";
- if (n == "QQuaternion")
- return "QDeclarativeQuaternionValueType";
- if (n == "QMatrix4x4")
- return "QDeclarativeMatrix4x4ValueType";
- if (n == "QEasingCurve")
- return "QDeclarativeEasingValueType";
- if (n == "QFont")
- return "QDeclarativeFontValueType";
- return QString();
-}
-
/*!
Returns true if a QML property or attached property is
read-only. The algorithm for figuring this out is long
diff --git a/tools/qdoc3/puredocparser.cpp b/tools/qdoc3/puredocparser.cpp
index c7db1bf..0f21cbc 100644
--- a/tools/qdoc3/puredocparser.cpp
+++ b/tools/qdoc3/puredocparser.cpp
@@ -55,6 +55,11 @@ PureDocParser::~PureDocParser()
{
}
+QString PureDocParser::language()
+{
+ return "qdoc";
+}
+
QStringList PureDocParser::sourceFileNameFilter()
{
return QStringList("*.qdoc");
diff --git a/tools/qdoc3/puredocparser.h b/tools/qdoc3/puredocparser.h
index 7f0434d..814c829 100644
--- a/tools/qdoc3/puredocparser.h
+++ b/tools/qdoc3/puredocparser.h
@@ -64,6 +64,7 @@ public:
PureDocParser();
virtual ~PureDocParser();
+ virtual QString language();
virtual QStringList sourceFileNameFilter();
};
diff --git a/tools/qdoc3/qmlvisitor.cpp b/tools/qdoc3/qmlvisitor.cpp
index 98e188d..a8886de 100644
--- a/tools/qdoc3/qmlvisitor.cpp
+++ b/tools/qdoc3/qmlvisitor.cpp
@@ -69,18 +69,30 @@ QmlDocVisitor::~QmlDocVisitor()
QDeclarativeJS::AST::SourceLocation QmlDocVisitor::precedingComment(quint32 offset) const
{
- QDeclarativeJS::AST::SourceLocation currentLoc;
+ QListIterator<QDeclarativeJS::AST::SourceLocation> it(engine->comments());
+ it.toBack();
- foreach (const QDeclarativeJS::AST::SourceLocation &loc, engine->comments()) {
- if (loc.begin() >= offset)
+ while (it.hasPrevious()) {
+
+ QDeclarativeJS::AST::SourceLocation loc = it.previous();
+
+ if (loc.begin() <= lastEndOffset)
+ // Return if we reach the end of the preceding structure.
break;
- else if (loc.begin() > lastEndOffset && loc.end() < offset)
- currentLoc = loc;
- }
- if (currentLoc.isValid()) {
- QString comment = document.mid(currentLoc.offset, currentLoc.length);
- if (comment.startsWith("!") || comment.startsWith("*"))
- return currentLoc;
+
+ else if (usedComments.contains(loc.begin()))
+ // Return if we encounter a previously used comment.
+ break;
+
+ else if (loc.begin() > lastEndOffset && loc.end() < offset) {
+
+ // Only examine multiline comments in order to avoid snippet markers.
+ if (document.mid(loc.offset - 1, 1) == "*") {
+ QString comment = document.mid(loc.offset, loc.length);
+ if (comment.startsWith("!") || comment.startsWith("*"))
+ return loc;
+ }
+ }
}
return QDeclarativeJS::AST::SourceLocation();
@@ -93,20 +105,18 @@ void QmlDocVisitor::applyDocumentation(QDeclarativeJS::AST::SourceLocation locat
if (loc.isValid()) {
QString source = document.mid(loc.offset, loc.length);
- if (source.startsWith(QLatin1String("!")) ||
- (source.startsWith(QLatin1String("*")) &&
- source[1] != QLatin1Char('*'))) {
-
- Location start(filePath);
- start.setLineNo(loc.startLine);
- start.setColumnNo(loc.startColumn);
- Location finish(filePath);
- finish.setLineNo(loc.startLine);
- finish.setColumnNo(loc.startColumn);
-
- Doc doc(start, finish, source.mid(1), commands);
- node->setDoc(doc);
- }
+
+ Location start(filePath);
+ start.setLineNo(loc.startLine);
+ start.setColumnNo(loc.startColumn);
+ Location finish(filePath);
+ finish.setLineNo(loc.startLine);
+ finish.setColumnNo(loc.startColumn);
+
+ Doc doc(start, finish, source.mid(1), commands);
+ node->setDoc(doc);
+
+ usedComments.insert(loc.offset);
}
}
@@ -152,6 +162,11 @@ bool QmlDocVisitor::visit(QDeclarativeJS::AST::UiImportList *imports)
return true;
}
+void QmlDocVisitor::endVisit(QDeclarativeJS::AST::UiImportList *definition)
+{
+ lastEndOffset = definition->lastSourceLocation().end();
+}
+
/*!
Visits public member declarations, such as signals and properties.
These only include custom signals and properties.
diff --git a/tools/qdoc3/qmlvisitor.h b/tools/qdoc3/qmlvisitor.h
index 1d3a401..28821a9 100644
--- a/tools/qdoc3/qmlvisitor.h
+++ b/tools/qdoc3/qmlvisitor.h
@@ -57,6 +57,7 @@ public:
virtual ~QmlDocVisitor();
bool visit(QDeclarativeJS::AST::UiImportList *imports);
+ void endVisit(QDeclarativeJS::AST::UiImportList *definition);
bool visit(QDeclarativeJS::AST::UiObjectDefinition *definition);
void endVisit(QDeclarativeJS::AST::UiObjectDefinition *definition);
@@ -77,6 +78,7 @@ private:
QString document;
QList<QPair<QString, QString> > importList;
QSet<QString> commands;
+ QSet<quint32> usedComments;
Tree *tree;
InnerNode *current;
};
diff --git a/tools/qdoc3/test/qt-cpp-ignore.qdocconf b/tools/qdoc3/test/qt-cpp-ignore.qdocconf
index 044eef4..5b41ae3 100644
--- a/tools/qdoc3/test/qt-cpp-ignore.qdocconf
+++ b/tools/qdoc3/test/qt-cpp-ignore.qdocconf
@@ -73,7 +73,8 @@ Cpp.ignoretokens = QAXFACTORY_EXPORT \
Q_DECLARATIVE_EXPORT \
Q_GADGET \
QWEBKIT_EXPORT \
- Q_INVOKABLE
+ Q_INVOKABLE \
+ Q_DECL_CONSTEXPR
Cpp.ignoredirectives = Q_DECLARE_HANDLE \
Q_DECLARE_INTERFACE \
Q_DECLARE_METATYPE \
diff --git a/tools/qdoc3/test/qt-html-templates-online.qdocconf b/tools/qdoc3/test/qt-html-templates-online.qdocconf
index 03ed6fa..3584b68 100644
--- a/tools/qdoc3/test/qt-html-templates-online.qdocconf
+++ b/tools/qdoc3/test/qt-html-templates-online.qdocconf
@@ -181,16 +181,4 @@ HTML.footer = \
" <div id=\"blurpage\">\n" \
" </div>\n" \
"\n" \
- " <script src=\"scripts/functions.js\" type=\"text/javascript\"></script>\n" \
- " <script type=\"text/javascript\">\n" \
- " var _gaq = _gaq || [];\n" \
- " _gaq.push(['_setAccount', 'UA-4457116-5']);\n" \
- " _gaq.push(['_trackPageview']);\n" \
- " (function() {\n" \
- " var ga = document.createElement('script'); " \
- "ga.type = 'text/javascript'; ga.async = true;\n" \
- " ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + " \
- "'.google-analytics.com/ga.js';\n" \
- " var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n" \
- " })();\n" \
- " </script>\n"
+ " <script src=\"scripts/functions.js\" type=\"text/javascript\"></script>\n"
diff --git a/tools/qdoc3/test/qt-project.qdocconf b/tools/qdoc3/test/qt-project.qdocconf
index fca6545..57bf797 100644
--- a/tools/qdoc3/test/qt-project.qdocconf
+++ b/tools/qdoc3/test/qt-project.qdocconf
@@ -105,7 +105,7 @@ exampledirs = $QT_SOURCE_TREE/doc/src \
$QT_SOURCE_TREE/examples/tutorials \
$QT_SOURCE_TREE \
$QT_SOURCE_TREE/qmake/examples \
- $QT_SOURCE_TREE/src/3rdparty/webkit/WebKit/qt/docs
+ $QT_SOURCE_TREE/src/3rdparty/webkit/Source/WebKit/qt/docs
imagedirs = $QT_SOURCE_TREE/doc/src/images \
$QT_SOURCE_TREE/examples \
$QT_SOURCE_TREE/doc/src/declarative/pics \