summaryrefslogtreecommitdiffstats
path: root/tools/qdoc3
diff options
context:
space:
mode:
authorMartin Smith <martin.smith@nokia.com>2011-11-21 11:51:01 (GMT)
committerMartin Smith <martin.smith@nokia.com>2011-11-21 11:51:01 (GMT)
commita6a4f5343ac67a4921c86fa70fc1ae49b1ef3b7d (patch)
treeb44ae98f5053f46a9b8c03fa94a16303173111fc /tools/qdoc3
parent68f32a3e4f447f86cad7f1fddbd566227a7bd00d (diff)
downloadQt-a6a4f5343ac67a4921c86fa70fc1ae49b1ef3b7d.zip
Qt-a6a4f5343ac67a4921c86fa70fc1ae49b1ef3b7d.tar.gz
Qt-a6a4f5343ac67a4921c86fa70fc1ae49b1ef3b7d.tar.bz2
qdoc3: qdoc supports \depends in 4.8
This is what you write... /*! \example designer/calculatorbuilder \depends examples/qmlapplicationviewer \title Calculator Builder Example This is what you get... <example name="Calculator Builder Example" docUrl="qthelp://com.trolltech.qt.480/qdoc/designer-calculatorbuilder.html" projectPath="designer/calculatorbuilder/calculatorbuilder.pro" imageUrl="qthelp://com.trolltech.qt.480/qdoc/images/calculatorbuilder-example.png"> <description><![CDATA[The Calculator Builder example shows how to create a user interface from a Qt Designer form at run-time, using the QUiLoader class.]]></description> <tags>calculator,builder</tags> <fileToOpen>designer/calculatorbuilder/main.cpp</fileToOpen> <depends>../../examples/qmlapplicationviewer</depends> </example> Task-number: QTBUG-22838
Diffstat (limited to 'tools/qdoc3')
-rw-r--r--tools/qdoc3/codeparser.cpp5
-rw-r--r--tools/qdoc3/htmlgenerator.cpp8
-rw-r--r--tools/qdoc3/node.h4
3 files changed, 17 insertions, 0 deletions
diff --git a/tools/qdoc3/codeparser.cpp b/tools/qdoc3/codeparser.cpp
index 9ab5f82..9bf9c14 100644
--- a/tools/qdoc3/codeparser.cpp
+++ b/tools/qdoc3/codeparser.cpp
@@ -51,6 +51,7 @@
QT_BEGIN_NAMESPACE
#define COMMAND_COMPAT Doc::alias(QLatin1String("compat"))
+#define COMMAND_DEPENDS Doc::alias(QLatin1String("depends"))
#define COMMAND_DEPRECATED Doc::alias(QLatin1String("deprecated")) // ### don't document
#define COMMAND_INGROUP Doc::alias(QLatin1String("ingroup"))
#define COMMAND_INMODULE Doc::alias(QLatin1String("inmodule")) // ### don't document
@@ -200,6 +201,7 @@ CodeParser *CodeParser::parserForSourceFile(const QString &filePath)
QSet<QString> CodeParser::commonMetaCommands()
{
return QSet<QString>() << COMMAND_COMPAT
+ << COMMAND_DEPENDS
<< COMMAND_DEPRECATED
<< COMMAND_INGROUP
<< COMMAND_INMODULE
@@ -231,6 +233,9 @@ void CodeParser::processCommonMetaCommand(const Location &location,
if (command == COMMAND_COMPAT) {
node->setStatus(Node::Compat);
}
+ else if (command == COMMAND_DEPENDS) {
+ node->addDependency(arg);
+ }
else if (command == COMMAND_DEPRECATED) {
node->setStatus(Node::Deprecated);
}
diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp
index 923d523..a840c93 100644
--- a/tools/qdoc3/htmlgenerator.cpp
+++ b/tools/qdoc3/htmlgenerator.cpp
@@ -4483,6 +4483,14 @@ void HtmlGenerator::generateManifestFile(QString manifest, QString element)
}
}
}
+ if (!en->dependencies().isEmpty()) {
+ for (int idx=0; idx<en->dependencies().size(); ++idx) {
+ writer.writeStartElement("depends");
+ QString file = "../../" + en->dependencies()[idx];
+ writer.writeCharacters(file);
+ writer.writeEndElement(); // depends
+ }
+ }
writer.writeEndElement(); // example
++i;
}
diff --git a/tools/qdoc3/node.h b/tools/qdoc3/node.h
index a08151a..60636d1 100644
--- a/tools/qdoc3/node.h
+++ b/tools/qdoc3/node.h
@@ -167,6 +167,7 @@ class Node
void setTemplateStuff(const QString &templateStuff) { tpl = templateStuff; }
void setPageType(PageType t) { pageTyp = t; }
void setPageType(const QString& t);
+ virtual void addDependency(const QString& ) { }
virtual bool isInnerNode() const = 0;
virtual bool isReimp() const { return false; }
@@ -409,12 +410,15 @@ class ExampleNode : public FakeNode
virtual ~ExampleNode() { }
virtual QString imageFileName() const { return imageFileName_; }
virtual void setImageFileName(const QString& ifn) { imageFileName_ = ifn; }
+ virtual void addDependency(const QString& arg) { dependencies_.append(arg); }
+ const QStringList& dependencies() const { return dependencies_; }
public:
static ExampleNodeMap exampleNodeMap;
private:
QString imageFileName_;
+ QStringList dependencies_;
};
class QmlClassNode : public FakeNode