diff options
author | Renato Filho <renato.filho@openbossa.org> | 2011-07-28 16:08:57 -0300 |
---|---|---|
committer | Renato Filho <renato.filho@openbossa.org> | 2011-07-28 16:40:18 -0300 |
commit | 652f60b9e0850505696fa43a45ea312a619244e7 (patch) | |
tree | 10fcba42696611ca18f3800fc185ceacca7840f0 | |
parent | fcf5916d468fe037b89daff877ea2abf081cd4a9 (diff) |
Classify function as Signal/Slot/Virtual/Static in documentation.
Reviewer: Luciano Wolf <luciano.wolf@openbossa.org>
Marcelo Lira <marcelo.lira@openbossa.org>
-rw-r--r-- | generators/qtdoc/qtdocgenerator.cpp | 59 | ||||
-rw-r--r-- | generators/qtdoc/qtdocgenerator.h | 1 |
2 files changed, 32 insertions, 28 deletions
diff --git a/generators/qtdoc/qtdocgenerator.cpp b/generators/qtdoc/qtdocgenerator.cpp index 52a0bf936..91d2f2b28 100644 --- a/generators/qtdoc/qtdocgenerator.cpp +++ b/generators/qtdoc/qtdocgenerator.cpp @@ -1007,6 +1007,9 @@ void QtDocGenerator::generateClass(QTextStream& s, const AbstractMetaClass* meta void QtDocGenerator::writeFunctionList(QTextStream& s, const AbstractMetaClass* cppClass) { QStringList functionList; + QStringList virtualList; + QStringList signalList; + QStringList slotList; QStringList staticFunctionList; foreach (AbstractMetaFunction* func, cppClass->functions()) { @@ -1020,7 +1023,6 @@ void QtDocGenerator::writeFunctionList(QTextStream& s, const AbstractMetaClass* className = getClassTargetFullName(func->implementingClass()->enclosingClass()) + '.'; QString funcName = getFuncName(func); - QStringList& list = func->isStatic() ? staticFunctionList : functionList; QString str("def :meth:`"); str += funcName; @@ -1032,7 +1034,16 @@ void QtDocGenerator::writeFunctionList(QTextStream& s, const AbstractMetaClass* str += parseArgDocStyle(cppClass, func); str += ')'; - list << str; + if (func->isStatic()) + staticFunctionList << str; + else if (func->isVirtual()) + virtualList << str; + else if (func->isSignal()) + signalList << str; + else if (func->isSlot()) + slotList << str; + else + functionList << str; } if ((functionList.size() > 0) || (staticFunctionList.size() > 0)) { @@ -1042,36 +1053,28 @@ void QtDocGenerator::writeFunctionList(QTextStream& s, const AbstractMetaClass* s << "Synopsis" << endl << "--------" << endl << endl; - if (functionList.size() > 0) { - s << "Functions" << endl - << "^^^^^^^^^" << endl << endl; - - qSort(functionList); - foreach (QString func, functionList) { - row << func; - functionTable << row; - row.clear(); - } + writeFunctionBlock(s, "Functions", functionList); + writeFunctionBlock(s, "Virtual functions", virtualList); + writeFunctionBlock(s, "Slots", slotList); + writeFunctionBlock(s, "Signals", signalList); + writeFunctionBlock(s, "Static functions", staticFunctionList); + } +} - functionTable.normalize(); - s << functionTable << endl; - functionTable.clear(); - } +void QtDocGenerator::writeFunctionBlock(QTextStream& s, const QString& title, QStringList& functions) +{ + if (functions.size() > 0) { + s << title << endl + << QString('^').repeated(title.size()) << endl; - if (staticFunctionList.size() > 0) { - s << "Static functions" << endl - << "^^^^^^^^^^^^^^^^" << endl; + qSort(functions); - qSort(staticFunctionList); - foreach (QString func, staticFunctionList) { - row << func; - functionTable << row; - row.clear(); - } + s << ".. container:: function_list" << endl << endl; + Indentation indentation(INDENT); + foreach (QString func, functions) + s << '*' << INDENT << func << endl; - functionTable.normalize(); - s << functionTable << endl; - } + s << endl << endl; } } diff --git a/generators/qtdoc/qtdocgenerator.h b/generators/qtdoc/qtdocgenerator.h index f88055771..fc8c82b0e 100644 --- a/generators/qtdoc/qtdocgenerator.h +++ b/generators/qtdoc/qtdocgenerator.h @@ -200,6 +200,7 @@ private: 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& s, const AbstractMetaClass* cppClass); + void writeFunctionBlock(QTextStream& s, const QString& title, QStringList& functions); void writeParamerteType(QTextStream &s, const AbstractMetaClass *cppClass, const AbstractMetaArgument *arg); void writeConstructors(QTextStream &s, const AbstractMetaClass *cppClass); |