From 93de7f375842c0afb72db8796c45bfda5f1a6f13 Mon Sep 17 00:00:00 2001 From: deva Date: Fri, 25 Mar 2011 14:54:32 +0000 Subject: Finished documenting the last widgets. Also some changes in the docgen app. --- client/docgen/generate.cc | 44 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) (limited to 'client/docgen/generate.cc') diff --git a/client/docgen/generate.cc b/client/docgen/generate.cc index 73734a5..5cff6b7 100644 --- a/client/docgen/generate.cc +++ b/client/docgen/generate.cc @@ -29,9 +29,47 @@ #include #include +#include #include "genimage.h" +static QString function(QString f) +{ + QString out; + + if(f.indexOf(" ") > f.indexOf("(") || f.indexOf(" ") == -1) { + printf("MISSING return type in \"%s\".\n", f.toStdString().c_str()); + return f; + } + + QString ret = f.left(f.indexOf(" ")); + QString name = f.mid(f.indexOf(" ") + 1, f.indexOf("(") - f.indexOf(" ") - 1); + QString ps = f.mid(f.indexOf("(") + 1, + f.indexOf(")") - f.indexOf("(") - 1); + + QStringList parms = ps.split(","); + + out += "" + ret + " "; + out += "" + name + ""; + out += "("; + for(int i = 0; i < parms.size(); i++) { + QStringList l = parms.at(i).split(" ", QString::SkipEmptyParts); + if(l.length() != 2) { + out += parms.at(i); + continue; + } + QString type = l.at(0); + QString name = l.at(1); + if(i != 0) out += ", "; + out += "" + type + ""; + out += " " + name + ""; + } + out += ")"; + + + return out; +} + static QString generateMethods(QVector meths) { QString out; @@ -39,7 +77,7 @@ static QString generateMethods(QVector meths) foreach(Method meth, meths) { out += "
\n"; out += "
" + meth.name + "
\n"; + "\">
" + function(meth.name) + "
\n"; out += "
" + meth.description + "
\n"; @@ -189,7 +227,9 @@ QString generate(Doc &doc, QMap > &meths, out += "
\n"; out += "
This documentation is generated for" - " Pracro version "VERSION" at "+QDate::currentDate().toString()+"
\n"; + " Pracro" + " version "VERSION" at "+QDate::currentDate().toString()+"\n"; + return out; } -- cgit v1.2.3