aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken6/generator/qtdoc/qtdocgenerator.h
diff options
context:
space:
mode:
Diffstat (limited to 'sources/shiboken6/generator/qtdoc/qtdocgenerator.h')
-rw-r--r--sources/shiboken6/generator/qtdoc/qtdocgenerator.h64
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