diff options
Diffstat (limited to 'sources/shiboken6/generator/qtdoc/qtdocgenerator.h')
-rw-r--r-- | sources/shiboken6/generator/qtdoc/qtdocgenerator.h | 64 |
1 files changed, 36 insertions, 28 deletions
diff --git a/sources/shiboken6/generator/qtdoc/qtdocgenerator.h b/sources/shiboken6/generator/qtdoc/qtdocgenerator.h index 3ad78b590..56e15e2a1 100644 --- a/sources/shiboken6/generator/qtdoc/qtdocgenerator.h +++ b/sources/shiboken6/generator/qtdoc/qtdocgenerator.h @@ -9,13 +9,15 @@ #include "generator.h" #include "documentation.h" +#include <optionsparser.h> #include "typesystem_enums.h" #include "modifications_typedefs.h" #include "qtxmltosphinxinterface.h" class DocParser; - +struct DocGeneratorOptions; struct GeneratorDocumentation; +struct DocPackage; /** * The DocGenerator generates documentation from library being binded. @@ -23,6 +25,8 @@ struct GeneratorDocumentation; class QtDocGenerator : public Generator, public QtXmlToSphinxDocGeneratorInterface { public: + Q_DISABLE_COPY_MOVE(QtDocGenerator) + QtDocGenerator(); ~QtDocGenerator(); @@ -33,8 +37,8 @@ public: return "QtDocGenerator"; } - OptionDescriptions options() const override; - bool handleOption(const QString &key, const QString &value) override; + static QList<OptionDescription> options(); + static std::shared_ptr<OptionsParser> createOptionsParser(); // QtXmlToSphinxDocGeneratorInterface QString expandFunction(const QString &function) const override; @@ -44,6 +48,7 @@ public: const QString &methodName) const override; const QLoggingCategory &loggingCategory() const override; QtXmlToSphinxLink resolveLink(const QtXmlToSphinxLink &) const override; + Image resolveImage(const QString &href, const QString &context) const override; static QString getFuncName(const AbstractMetaFunctionCPtr &cppFunc); static QString formatArgs(const AbstractMetaFunctionCPtr &func); @@ -56,46 +61,52 @@ protected: bool finishGeneration() override; private: - void writeEnums(TextStream &s, const AbstractMetaClassCPtr &cppClass) const; + void writeEnums(TextStream &s, const AbstractMetaEnumList &enums, + const QString &scope) const; void writeFields(TextStream &s, const AbstractMetaClassCPtr &cppClass) const; - static QString functionSignature(const AbstractMetaClassCPtr &cppClass, - const AbstractMetaFunctionCPtr &func); - void writeFunction(TextStream &s, const AbstractMetaClassCPtr &cppClass, - const AbstractMetaFunctionCPtr &func, bool indexed = true); + void writeFunctions(TextStream &s, const AbstractMetaFunctionCList &funcs, + const AbstractMetaClassCPtr &cppClass, const QString &scope); + void writeFunction(TextStream &s, const AbstractMetaFunctionCPtr &func, + const AbstractMetaClassCPtr &cppClass = {}, + const QString &scope = {}, bool indexed = true); + void writeFunctionDocumentation(TextStream &s, const AbstractMetaFunctionCPtr &func, + const DocModificationList &modifications, + const QString &scope) const; void writeFunctionParametersType(TextStream &s, const AbstractMetaClassCPtr &cppClass, const AbstractMetaFunctionCPtr &func) const; static void writeFunctionToc(TextStream &s, const QString &title, - const AbstractMetaClassCPtr &cppClass, const AbstractMetaFunctionCList &functions); - void writePropertyToc(TextStream &s, - const GeneratorDocumentation &doc, - const AbstractMetaClassCPtr &cppClass); + static void writePropertyToc(TextStream &s, + const GeneratorDocumentation &doc); void writeProperties(TextStream &s, const GeneratorDocumentation &doc, const AbstractMetaClassCPtr &cppClass) const; void writeParameterType(TextStream &s, const AbstractMetaClassCPtr &cppClass, const AbstractMetaArgument &arg) const; - - void writeConstructors(TextStream &s, - const AbstractMetaClassCPtr &cppClass, - const AbstractMetaFunctionCList &constructors) const; - void writeFormattedText(TextStream &s, const QString &doc, Documentation::Format format, - const AbstractMetaClassCPtr &metaClass = {}) const; + const QString &scope = {}) const; void writeFormattedBriefText(TextStream &s, const Documentation &doc, - const AbstractMetaClassCPtr &metaclass = {}) const; + const QString &scope = {}) const; void writeFormattedDetailedText(TextStream &s, const Documentation &doc, - const AbstractMetaClassCPtr &metaclass = {}) const; + const QString &scope = {}) const; bool writeInjectDocumentation(TextStream &s, TypeSystem::DocModificationMode mode, - const AbstractMetaClassCPtr &cppClass, - const AbstractMetaFunctionCPtr &func); + const AbstractMetaClassCPtr &cppClass) const; + bool writeInjectDocumentation(TextStream &s, TypeSystem::DocModificationMode mode, + const DocModificationList &modifications, + const AbstractMetaFunctionCPtr &func, + const QString &scope = {}) const; + bool writeDocModifications(TextStream &s, const DocModificationList &mods, + TypeSystem::DocModificationMode mode, + const QString &scope = {}) const; static void writeDocSnips(TextStream &s, const CodeSnipList &codeSnips, TypeSystem::CodeSnipPosition position, TypeSystem::Language language); void writeModuleDocumentation(); + void writeGlobals(const QString &package, const QString &fileName, + const DocPackage &docPackage); void writeAdditionalDocumentation() const; bool writeInheritanceFile(); @@ -108,15 +119,12 @@ private: const QString &context = QString(), QString *errorMessage = nullptr) const; - GeneratorDocumentation generatorDocumentation(const AbstractMetaClassCPtr &cppClass) const; + static GeneratorDocumentation generatorDocumentation(const AbstractMetaClassCPtr &cppClass); - QString m_extraSectionDir; QStringList m_functionList; - QMap<QString, QStringList> m_packages; + QMap<QString, DocPackage> m_packages; QScopedPointer<DocParser> m_docParser; - QtXmlToSphinxParameters m_parameters; - QString m_additionalDocumentationList; - QString m_inheritanceFile; + static DocGeneratorOptions m_options; }; #endif // DOCGENERATOR_H |