aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken2/generator/qtdoc/qtdocgenerator.h
diff options
context:
space:
mode:
Diffstat (limited to 'sources/shiboken2/generator/qtdoc/qtdocgenerator.h')
-rw-r--r--sources/shiboken2/generator/qtdoc/qtdocgenerator.h32
1 files changed, 23 insertions, 9 deletions
diff --git a/sources/shiboken2/generator/qtdoc/qtdocgenerator.h b/sources/shiboken2/generator/qtdoc/qtdocgenerator.h
index 53e292d22..b0f4c2552 100644
--- a/sources/shiboken2/generator/qtdoc/qtdocgenerator.h
+++ b/sources/shiboken2/generator/qtdoc/qtdocgenerator.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt for Python.
@@ -33,6 +33,7 @@
#include <QtCore/QScopedPointer>
#include <QtCore/QTextStream>
#include <QXmlStreamReader>
+#include "abstractmetalang.h"
#include "generator.h"
#include "docparser.h"
#include "typesystem_enums.h"
@@ -67,13 +68,16 @@ public:
TableCell(const char* text) : data(QLatin1String(text)) {}
};
- using TableRow = QList<TableCell>;
- class Table : public QList<TableRow>
+ using TableRow = QVector<TableCell>;
+
+ class Table
{
public:
Table() = default;
- void enableHeader(bool enable)
+ bool isEmpty() const { return m_rows.isEmpty(); }
+
+ void setHeaderEnabled(bool enable)
{
m_hasHeader = enable;
}
@@ -92,10 +96,19 @@ public:
void clear() {
m_normalized = false;
- QList<TableRow>::clear();
+ m_rows.clear();
}
+ void appendRow(const TableRow &row) { m_rows.append(row); }
+
+ const TableRow &constFirst() { return m_rows.constFirst(); }
+ TableRow &first() { return m_rows.first(); }
+ TableRow &last() { return m_rows.last(); }
+
+ void format (QTextStream& s) const;
+
private:
+ QVector<TableRow> m_rows;
bool m_hasHeader = false;
bool m_normalized = false;
};
@@ -226,8 +239,8 @@ public:
protected:
bool shouldGenerate(const AbstractMetaClass *) const override;
QString fileNameSuffix() const override;
- QString fileNameForContext(GeneratorContext &context) const override;
- void generateClass(QTextStream &s, GeneratorContext &classContext) override;
+ QString fileNameForContext(const GeneratorContext &context) const override;
+ void generateClass(QTextStream &s, const GeneratorContext &classContext) override;
bool finishGeneration() override;
void writeFunctionArguments(QTextStream&, const AbstractMetaFunction*, Options) const override {}
@@ -240,7 +253,7 @@ private:
void writeArguments(QTextStream &s, const AbstractMetaClass *cppClass, const AbstractMetaFunction *func);
QString functionSignature(const AbstractMetaClass* cppClass, const AbstractMetaFunction* func);
void writeFunction(QTextStream& s, const AbstractMetaClass* cppClass,
- const AbstractMetaFunction* func);
+ const AbstractMetaFunction* func, bool indexed = true);
void writeFunctionParametersType(QTextStream &s, const AbstractMetaClass *cppClass,
const AbstractMetaFunction* func);
void writeFunctionList(QTextStream& s, const AbstractMetaClass* cppClass);
@@ -249,7 +262,8 @@ private:
void writeConstructors(QTextStream &s, const AbstractMetaClass *cppClass);
void writeFormattedText(QTextStream &s, const Documentation &doc,
- const AbstractMetaClass *metaclass = nullptr);
+ const AbstractMetaClass *metaclass = nullptr,
+ Documentation::Type docType = Documentation::Detailed);
bool writeInjectDocumentation(QTextStream& s, TypeSystem::DocModificationMode mode, const AbstractMetaClass* cppClass, const AbstractMetaFunction* func);
void writeDocSnips(QTextStream &s, const CodeSnipList &codeSnips, TypeSystem::CodeSnipPosition position, TypeSystem::Language language);