diff options
Diffstat (limited to 'generators/qtdoc/qtdocgenerator.cpp')
-rw-r--r-- | generators/qtdoc/qtdocgenerator.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/generators/qtdoc/qtdocgenerator.cpp b/generators/qtdoc/qtdocgenerator.cpp index b7dac851f..05a452aab 100644 --- a/generators/qtdoc/qtdocgenerator.cpp +++ b/generators/qtdoc/qtdocgenerator.cpp @@ -947,6 +947,24 @@ void QtDocGenerator::writeFormatedText(QTextStream& s, const Documentation& doc, s << endl; } +static void writeInheritedByList(QTextStream& s, const AbstractMetaClass* metaClass, const AbstractMetaClassList& allClasses) +{ + AbstractMetaClassList res; + foreach (AbstractMetaClass* c, allClasses) { + if (c != metaClass && c->inheritsFrom(metaClass)) + res << c; + } + + if (res.isEmpty()) + return; + + s << "**Inherited by:** "; + QStringList classes; + foreach (AbstractMetaClass* c, res) + classes << QString(":ref:`%1`").arg(getClassTargetFullName(c, false)); + s << classes.join(", ") << endl << endl; +} + void QtDocGenerator::generateClass(QTextStream& s, const AbstractMetaClass* metaClass) { ReportHandler::debugSparse("Generating Documentation for " + metaClass->fullName()); @@ -966,6 +984,9 @@ void QtDocGenerator::generateClass(QTextStream& s, const AbstractMetaClass* meta s << ".. inheritance-diagram:: " << className << endl << " :parts: 2" << endl << endl; // TODO: This would be a parameter in the future... + + writeInheritedByList(s, metaClass, classes()); + if (metaClass->typeEntry() && (metaClass->typeEntry()->version() != 0)) s << ".. note:: This class was introduced in Qt " << metaClass->typeEntry()->version() << endl; |