summaryrefslogtreecommitdiff
path: root/client/docgen/docgen.cc
diff options
context:
space:
mode:
Diffstat (limited to 'client/docgen/docgen.cc')
-rw-r--r--client/docgen/docgen.cc87
1 files changed, 76 insertions, 11 deletions
diff --git a/client/docgen/docgen.cc b/client/docgen/docgen.cc
index e4af0a3..4eb2e08 100644
--- a/client/docgen/docgen.cc
+++ b/client/docgen/docgen.cc
@@ -32,6 +32,7 @@
#include <QDir>
#include <QMap>
#include <QDate>
+#include <QFileInfo>
#include <stdio.h>
@@ -39,7 +40,9 @@
#include "parse.h"
#include "generate.h"
-#define INPUT "../widgets"
+#define WIDGETS_DIR "../widgets"
+#define SERVER_DIR "../../server/src"
+#define CLIENT_DIR ".."
#define OUTPUT "html"
QString output;
@@ -94,16 +97,46 @@ void writeIndex(QMap<QString, Doc> &docs)
out += "<h1>Pracro "VERSION" Documentation</h1>\n";
out += "<h2>Overview</h2>\n";
+ out += "<h3>Clientside</h3>\n";
+ out += "<h4>Widgets</h4>\n";
out += "<ul>\n";
QMap<QString, Doc>::iterator i = docs.begin();
while(i != docs.end()) {
Doc &doc = *i;
- out += "<li><a href=\""+doc.name+".html\">["+doc.name+"]</a> - "+
- doc.title+"</li>\n";
+ if(doc.tag != "") {
+ out += "<li><a href=\""+doc.name+".html\">["+doc.name+"]</a> - "+
+ doc.title+"</li>\n";
+ }
+ i++;
+ }
+ out += "</ul>\n";
+ out += "<h4>Classes</h4>\n";
+ out += "<ul>\n";
+ i = docs.begin();
+ while(i != docs.end()) {
+ Doc &doc = *i;
+ if(doc.classname != "" && doc.clientside) {
+ out += "<li><a href=\""+doc.name+".html\">["+doc.name+"]</a> - "+
+ doc.title+"</li>\n";
+ }
i++;
}
out += "</ul>\n";
+ out += "<h3>Serverside</h3>\n";
+ out += "<ul>\n";
+ i = docs.begin();
+ while(i != docs.end()) {
+ Doc &doc = *i;
+ if(doc.classname != "" && doc.serverside) {
+ out += "<li><a href=\""+doc.name+".html\">["+doc.name+"]</a> - "+
+ doc.title+"</li>\n";
+ }
+ i++;
+ }
+ out += "</ul>\n";
+
+
QFile::remove(output + "/index.html");
QFile ofile(output + "/index.html");
ofile.open(QIODevice::ReadWrite | QIODevice::Text);
@@ -133,15 +166,47 @@ int main(int argc, char *argv[])
QFile::remove(output + "/style.css");
QFile::copy("style.css", output + "/style.css");
- QDir dir(INPUT);
- QStringList filter; filter << "*.h";
- dir.setNameFilters(filter);
+ QStringList files;
+
+ // Widgets
+ {
+ QDir dir(WIDGETS_DIR);
+ QStringList filter; filter << "*.h";
+ dir.setNameFilters(filter);
+ if(!dir.exists()) return 1;
+ QFileInfoList inflst = dir.entryInfoList(QDir::Files);
+ foreach(QFileInfo inf, inflst) {
+ files.append(inf.absoluteFilePath());
+ }
+ }
+
+ // Client
+ {
+ QDir dir(CLIENT_DIR);
+ QStringList filter; filter << "*.h";
+ dir.setNameFilters(filter);
+ if(!dir.exists()) return 1;
+ QFileInfoList inflst = dir.entryInfoList(QDir::Files);
+ foreach(QFileInfo inf, inflst) {
+ files.append(inf.absoluteFilePath());
+ }
+ }
+
+ // Server
+ {
+ QDir dir(SERVER_DIR);
+ QStringList filter; filter << "*.h";
+ dir.setNameFilters(filter);
+ if(!dir.exists()) return 1;
+ QFileInfoList inflst = dir.entryInfoList(QDir::Files);
+ foreach(QFileInfo inf, inflst) {
+ files.append(inf.absoluteFilePath());
+ }
+ }
- if(!dir.exists()) return 1;
- QStringList l = dir.entryList(QDir::Files);
- foreach(QString file, l) {
- Doc doc = parse(QString(INPUT) + "/" + file);
- if(doc.title != "" || doc.tag != "")
+ foreach(QString file, files) {
+ Doc doc = parse(file);
+ if(doc.title != "" || doc.tag != "" || doc.classname != "")
docs[doc.name] = doc;
}