From d7044d310387d3752774831c1a8a768c0ca1ed67 Mon Sep 17 00:00:00 2001 From: deva Date: Tue, 29 Mar 2011 10:04:47 +0000 Subject: Examples in docs. --- client/docgen/generate.cc | 81 +++++++++++++++++++++++++++++++++-------------- 1 file changed, 57 insertions(+), 24 deletions(-) (limited to 'client/docgen/generate.cc') diff --git a/client/docgen/generate.cc b/client/docgen/generate.cc index 5cff6b7..db7d0c9 100644 --- a/client/docgen/generate.cc +++ b/client/docgen/generate.cc @@ -32,6 +32,23 @@ #include #include "genimage.h" +#include "highlight.h" + +static QString generateExamples(QVector &examples, lang_t lang) +{ + QString out; + QVector::iterator k = examples.begin(); + while(k != examples.end()) { + Example &e = *k; + out += "
\n"; + out += "
" + e.name + + "
\n"; + out += "
" + highlight(e.code, lang) + "
"; + out += "
"; + k++; + } + return out; +} static QString function(QString f) { @@ -75,12 +92,18 @@ static QString generateMethods(QVector meths) QString out; foreach(Method meth, meths) { + QString f = meth.name; + QString name = f.mid(f.indexOf(" ") + 1, + f.indexOf("(") - f.indexOf(" ") - 1); + out += "
\n"; - out += "
" + function(meth.name) + "
\n"; out += "
" + meth.description + "
\n"; - + + out += generateExamples(meth.examples, lua); + if(meth.parameters.size()) { out += "
\n"; foreach(Parameter parm, meth.parameters) { @@ -150,7 +173,10 @@ static QString generateMethodOverview(Doc &doc, out += "
    \n"; foreach(Method meth, meths) { - out += "
  • "+meth.name+" " + + QString f = meth.name; + QString name = f.mid(f.indexOf(" ") + 1, + f.indexOf("(") - f.indexOf(" ") - 1); + out += "
  • "+meth.name+" " + meth.description.left(meth.description.indexOf(".") + 1) + "
  • \n"; } out += "
\n"; @@ -158,8 +184,28 @@ static QString generateMethodOverview(Doc &doc, return out; } +static QString extendedBy(QString name, QMap &docs) +{ + QString out; + + QMap::iterator i = docs.begin(); + while(i != docs.end()) { + Doc &d = i.value(); + if(d.extends == name) { + if(out != "") out += ", "; + out += "" + d.name + ""; + } + i++; + } + + if(out != "") out = "Extended by: " + out + "."; + + return out; +} + QString generate(Doc &doc, QMap > &meths, - QMap > &atts) + QMap > &atts, + QMap &docs) { QString out; @@ -169,7 +215,8 @@ QString generate(Doc &doc, QMap > &meths, out += "
\n"; out += "

" + doc.title + "

\n"; if(doc.tag != "" ){ - out += "
<" + doc.tag + " />
\n"; + out += "
" +
+      highlight("<" + doc.tag + " />", xml) + "
\n"; } if(doc.container) { @@ -177,10 +224,12 @@ QString generate(Doc &doc, QMap > &meths, } if(doc.extends != "") { - out += " \n"; } + out += extendedBy(doc.name, docs); + if(doc.screenshot) { genImage(doc.tag); out += "
\n"; @@ -192,6 +241,8 @@ QString generate(Doc &doc, QMap > &meths, out += doc.description; out += "
\n"; + out += generateExamples(doc.examples, xml); + out += "

Attributes

\n"; out += "
\n"; if(doc.attributes.size()) { @@ -232,21 +283,3 @@ QString generate(Doc &doc, QMap > &meths, return out; } - -#ifdef TEST_GENERATE -//Additional dependency files -//deps: -//Required cflags (autoconf vars may be used) -//cflags: -//Required link options (autoconf vars may be used) -//libs: -#include "test.h" - -TEST_BEGIN; - -// TODO: Put some testcode here (see test.h for usable macros). -TEST_TRUE(false, "No tests yet!"); - -TEST_END; - -#endif/*TEST_GENERATE*/ -- cgit v1.2.3