aboutsummaryrefslogtreecommitdiffstats
path: root/docgenerator.h
diff options
context:
space:
mode:
Diffstat (limited to 'docgenerator.h')
-rw-r--r--docgenerator.h213
1 files changed, 0 insertions, 213 deletions
diff --git a/docgenerator.h b/docgenerator.h
deleted file mode 100644
index 6298f41cb..000000000
--- a/docgenerator.h
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * This file is part of the Shiboken Python Binding Generator project.
- *
- * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
- *
- * Contact: PySide team <contact@pyside.org>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA
- *
- */
-#ifndef DOCGENERATOR_H
-#define DOCGENERATOR_H
-
-#include "shibokengenerator.h"
-#include <QtCore/QStack>
-
-class QXmlStreamReader;
-class DocGenerator;
-
-class QtXmlToSphinx
-{
-public:
- struct TableCell
- {
- short rowSpan;
- short colSpan;
- QString data;
-
- TableCell(const QString& text = QString()) : rowSpan(0), colSpan(0), data(text) {}
- TableCell(const char* text) : rowSpan(0), colSpan(0), data(text) {}
- };
-
- typedef QList<TableCell> TableRow;
- class Table : public QList<TableRow>
- {
- public:
- Table() : m_hasHeader(false), m_normalized(false)
- {
- }
-
- void enableHeader(bool enable)
- {
- m_hasHeader = enable;
- }
-
- bool hasHeader() const
- {
- return m_hasHeader;
- }
-
- void normalize();
-
- bool isNormalized() const
- {
- return m_normalized;
- }
-
- void clear()
- {
- m_normalized = false;
- QList<TableRow>::clear();
- }
-
- private:
- bool m_hasHeader;
- bool m_normalized;
- };
-
- QtXmlToSphinx(DocGenerator* generator, const QString& doc, const QString& context = QString());
-
- QString result() const
- {
- return m_result;
- }
-
-private:
- QString transform(const QString& doc);
-
- void handleHeadingTag(QXmlStreamReader& reader);
- void handleParaTag(QXmlStreamReader& reader);
- void handleItalicTag(QXmlStreamReader& reader);
- void handleBoldTag(QXmlStreamReader& reader);
- void handleArgumentTag(QXmlStreamReader& reader);
- void handleSeeAlsoTag(QXmlStreamReader& reader);
- void handleSnippetTag(QXmlStreamReader& reader);
- void handleDotsTag(QXmlStreamReader& reader);
- void handleLinkTag(QXmlStreamReader& reader);
- void handleImageTag(QXmlStreamReader& reader);
- void handleListTag(QXmlStreamReader& reader);
- void handleTermTag(QXmlStreamReader& reader);
- void handleSuperScriptTag(QXmlStreamReader& reader);
- void handleQuoteFileTag(QXmlStreamReader& reader);
-
- // table tagsvoid QtXmlToSphinx::handleValueTag(QXmlStreamReader& reader)
-
- void handleTableTag(QXmlStreamReader& reader);
- void handleRowTag(QXmlStreamReader& reader);
- void handleItemTag(QXmlStreamReader& reader);
- void handleRawTag(QXmlStreamReader& reader);
- void handleCodeTag(QXmlStreamReader& reader);
-
- void handleIgnoredTag(QXmlStreamReader& reader);
- void handleUnknownTag(QXmlStreamReader& reader);
- void handleUselessTag(QXmlStreamReader& reader);
- void handleAnchorTag(QXmlStreamReader& reader);
-
- typedef void (QtXmlToSphinx::*TagHandler)(QXmlStreamReader&);
- QHash<QString, TagHandler> m_handlerMap;
- QStack<TagHandler> m_handlers;
- QTextStream m_output;
- QString m_result;
-
- QStack<QString*> m_buffers;
-
-
- Table m_currentTable;
- bool m_tableHasHeader;
- QString m_context;
- DocGenerator* m_generator;
- bool m_insideBold;
- bool m_insideItalic;
- QString m_lastTagName;
- QString m_opened_anchor;
-
- QString readFromLocation(QString& location, QString& identifier);
- void pushOutputBuffer();
- QString popOutputBuffer();
- void writeTable(Table& table);
-};
-
-inline QTextStream& operator<<(QTextStream& s, const QtXmlToSphinx& xmlToSphinx)
-{
- return s << xmlToSphinx.result();
-}
-
-QTextStream& operator<<(QTextStream& s, const QtXmlToSphinx::Table &table);
-
-/**
-* The DocGenerator generates documentation from library being binded.
-*/
-class DocGenerator : public ShibokenGenerator
-{
-public:
- virtual GeneratorType type() const
- {
- return DocumentationType;
- }
-
- QString libSourceDir() const
- {
- return m_libSourceDir;
- }
-
- virtual bool prepareGeneration(const QMap<QString, QString>& args);
-
- const char* name() const
- {
- return "DocGenerator";
- }
-
- QMap<QString, QString> options() const;
-
- QString codeSnippetDir() const
- {
- return m_codeSnippetDir;
- }
-
-protected:
- QString fileNameForClass(const AbstractMetaClass* cppClass) const;
- void generateClass(QTextStream& s, const AbstractMetaClass* cppClass);
- void finishGeneration();
-private:
- void writeEnums(QTextStream& s, const AbstractMetaClass* cppClass);
-
- void writeFields(QTextStream &s, const AbstractMetaClass *cppClass);
- void writeArguments(QTextStream &s, const AbstractMetaClass *cppClass, const AbstractMetaFunction *func);
- void writeFunctionBrief(QTextStream &s, const AbstractMetaClass *cppClass, const AbstractMetaFunction *cppFunction);
- void writeFunctionSignature(QTextStream& s, const AbstractMetaClass* cppClass, const AbstractMetaFunction* func);
- void writeFunction(QTextStream& s, bool writeDoc, const AbstractMetaClass* cppClass, const AbstractMetaFunction* func);
- void writeFunctionParametersType(QTextStream &s, const AbstractMetaClass *cppClass, const AbstractMetaFunction* func);
- void writeFunctionList(QTextStream &se, const QString &content, const AbstractMetaClass *cppClass);
- void writeParamerteType(QTextStream &s, const AbstractMetaClass *cppClass, const AbstractMetaArgument *arg);
-
- void writeConstructors(QTextStream &s, const AbstractMetaClass *cppClass);
- void writeFormatedText(QTextStream& s, const Documentation& doc, const AbstractMetaClass* metaclass = 0);
- void writeInjectDocumentation(QTextStream &s, DocModification::Mode mode, const AbstractMetaClass *cppClass, const AbstractMetaFunction *func);
- void writeDocSnips(QTextStream &s, const CodeSnipList &codeSnips, CodeSnip::Position position, TypeSystem::Language language);
-
-
- QString parseArgDocStyle(const AbstractMetaClass *cppClass, const AbstractMetaFunction *func);
- QString parseFunctionDeclaration(const QString &data, const AbstractMetaClass *cppClass);
- QString translateToPythonType(const AbstractMetaType *type, const AbstractMetaClass *cppClass);
-
- QString m_docDataDir;
- QString m_libSourceDir;
- QString m_codeSnippetDir;
- QStringList m_functionList;
- Documentation m_moduleDoc;
-};
-
-#endif // DOCGENERATOR_H