diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-12-11 13:00:27 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-12-19 12:29:45 +0100 |
commit | 83276ba986ea54ffec69831913bd8b2646b2d87d (patch) | |
tree | beba3a5c30428b6c4722e1ea9142e1f16b9a4b49 /sources/shiboken6/generator | |
parent | 1e2f45da078e36487c3bb9bd0d63f67a29ef3f3d (diff) |
Extract global (non-added) function/enum documentation
Try to determine the name of the .webxml file in which the
documentation is via include/doc file hint and write that to the
globals page.
Task-number: PYSIDE-1106
Change-Id: I8042d9122fa9037a602aadc2266d85d1f79f4fde
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Diffstat (limited to 'sources/shiboken6/generator')
-rw-r--r-- | sources/shiboken6/generator/qtdoc/qtdocgenerator.cpp | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/sources/shiboken6/generator/qtdoc/qtdocgenerator.cpp b/sources/shiboken6/generator/qtdoc/qtdocgenerator.cpp index a00e75ceb..d8df44a74 100644 --- a/sources/shiboken6/generator/qtdoc/qtdocgenerator.cpp +++ b/sources/shiboken6/generator/qtdoc/qtdocgenerator.cpp @@ -53,6 +53,7 @@ struct DocPackage { QStringList classPages; AbstractMetaFunctionCList globalFunctions; + AbstractMetaEnumList globalEnums; }; struct DocGeneratorOptions @@ -942,6 +943,15 @@ static QStringList functionListToToc(const AbstractMetaFunctionCList &functions) return result; } +static QStringList enumListToToc(const AbstractMetaEnumList &enums) +{ + QStringList result; + result.reserve(enums.size()); + for (const auto &e : enums) + result.append(e.name()); + return result; +} + static void writeFancyToc(TextStream& s, QAnyStringView title, const QStringList& items, QLatin1StringView referenceType) @@ -986,8 +996,16 @@ static void writeFancyToc(TextStream& s, QAnyStringView title, bool QtDocGenerator::finishGeneration() { - for (const auto &f : api().globalFunctions()) + for (const auto &f : api().globalFunctions()) { + auto ncf = std::const_pointer_cast<AbstractMetaFunction>(f); + m_docParser->fillGlobalFunctionDocumentation(ncf); m_packages[f->targetLangPackage()].globalFunctions.append(f); + } + + for (auto e : api().globalEnums()) { + m_docParser->fillGlobalEnumDocumentation(e); + m_packages[e.typeEntry()->targetLangPackage()].globalEnums.append(e); + } if (!m_packages.isEmpty()) writeModuleDocumentation(); @@ -1085,7 +1103,8 @@ void QtDocGenerator::writeModuleDocumentation() } removeExtraDocs(extraTocEntries, &docPackage.globalFunctions); - const bool hasGlobals = !docPackage.globalFunctions.isEmpty(); + const bool hasGlobals = !docPackage.globalFunctions.isEmpty() + || !docPackage.globalEnums.isEmpty(); const QString globalsPage = moduleName + "_globals.rst"_L1; s << ".. container:: hide\n\n" << indent @@ -1120,6 +1139,8 @@ void QtDocGenerator::writeModuleDocumentation() "doc"_L1); writeFancyToc(s, "List of Functions", functionListToToc(docPackage.globalFunctions), "py:func"_L1); + writeFancyToc(s, "List of Enumerations", enumListToToc(docPackage.globalEnums), + "any"_L1); output.done(); @@ -1144,6 +1165,11 @@ void QtDocGenerator::writeGlobals(const QString &package, } } + if (!docPackage.globalEnums.isEmpty()) { + s << headline("Enumerations"); + writeEnums(s, docPackage.globalEnums, package); + } + output.done(); } |