|
Packit |
1c1d7e |
/******************************************************************************
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Copyright (C) 1997-2015 by Dimitri van Heesch.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Permission to use, copy, modify, and distribute this software and its
|
|
Packit |
1c1d7e |
* documentation under the terms of the GNU General Public License is hereby
|
|
Packit |
1c1d7e |
* granted. No representations are made about the suitability of this software
|
|
Packit |
1c1d7e |
* for any purpose. It is provided "as is" without express or implied warranty.
|
|
Packit |
1c1d7e |
* See the GNU General Public License for more details.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Documents produced by Doxygen are derivative works derived from the
|
|
Packit |
1c1d7e |
* input used in their production; they are not affected by this license.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*/
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#ifndef _PRINTDOCVISITOR_H
|
|
Packit |
1c1d7e |
#define _PRINTDOCVISITOR_H
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#include <qglobal.h>
|
|
Packit |
1c1d7e |
#include "docvisitor.h"
|
|
Packit |
1c1d7e |
#include "htmlentity.h"
|
|
Packit |
1c1d7e |
#include "message.h"
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/*! Concrete visitor implementation for pretty printing */
|
|
Packit |
1c1d7e |
class PrintDocVisitor : public DocVisitor
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
PrintDocVisitor() : DocVisitor(DocVisitor_Other), m_indent(0),
|
|
Packit |
1c1d7e |
m_needsEnter(FALSE), m_insidePre(FALSE) {}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//--------------------------------------
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void visit(DocWord *w)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_leaf();
|
|
Packit |
1c1d7e |
printf("%s",w->word().data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visit(DocLinkedWord *w)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_leaf();
|
|
Packit |
1c1d7e |
printf("%s",w->word().data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visit(DocWhiteSpace *w)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_leaf();
|
|
Packit |
1c1d7e |
if (m_insidePre)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
printf("%s",w->chars().data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
else
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
printf(" ");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visit(DocSymbol *s)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_leaf();
|
|
Packit |
1c1d7e |
const char *res = HtmlEntityMapper::instance()->utf8(s->symbol(),TRUE);
|
|
Packit |
1c1d7e |
if (res)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
printf("%s",res);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
else
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
printf("print: non supported HTML-entity found: %s\n",HtmlEntityMapper::instance()->html(s->symbol(),TRUE));
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visit(DocURL *u)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_leaf();
|
|
Packit |
1c1d7e |
printf("%s",u->url().data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visit(DocLineBreak *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_leaf();
|
|
Packit |
1c1d7e |
printf(" ");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visit(DocHorRuler *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_leaf();
|
|
Packit |
1c1d7e |
printf(" ");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visit(DocStyleChange *s)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_leaf();
|
|
Packit |
1c1d7e |
switch (s->style())
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
case DocStyleChange::Bold:
|
|
Packit |
1c1d7e |
if (s->enable()) printf("<bold>"); else printf("</bold>");
|
|
Packit |
1c1d7e |
break;
|
|
Packit |
1c1d7e |
case DocStyleChange::Italic:
|
|
Packit |
1c1d7e |
if (s->enable()) printf("<italic>"); else printf("</italic>");
|
|
Packit |
1c1d7e |
break;
|
|
Packit |
1c1d7e |
case DocStyleChange::Code:
|
|
Packit |
1c1d7e |
if (s->enable()) printf(""); else printf(" ");
|
|
Packit |
1c1d7e |
break;
|
|
Packit |
1c1d7e |
case DocStyleChange::Subscript:
|
|
Packit |
1c1d7e |
if (s->enable()) printf("<sub>"); else printf("</sub>");
|
|
Packit |
1c1d7e |
break;
|
|
Packit |
1c1d7e |
case DocStyleChange::Superscript:
|
|
Packit |
1c1d7e |
if (s->enable()) printf("<sup>"); else printf("</sup>");
|
|
Packit |
1c1d7e |
break;
|
|
Packit |
1c1d7e |
case DocStyleChange::Center:
|
|
Packit |
1c1d7e |
if (s->enable()) printf("<center>"); else printf("</center>");
|
|
Packit |
1c1d7e |
break;
|
|
Packit |
1c1d7e |
case DocStyleChange::Small:
|
|
Packit |
1c1d7e |
if (s->enable()) printf("<small>"); else printf("</small>");
|
|
Packit |
1c1d7e |
break;
|
|
Packit |
1c1d7e |
case DocStyleChange::Preformatted:
|
|
Packit |
1c1d7e |
if (s->enable()) printf(""); else printf(" ");
|
|
Packit |
1c1d7e |
break;
|
|
Packit |
1c1d7e |
case DocStyleChange::Div:
|
|
Packit |
1c1d7e |
if (s->enable()) printf(""); else printf(" ");
|
|
Packit |
1c1d7e |
break;
|
|
Packit |
1c1d7e |
case DocStyleChange::Span:
|
|
Packit |
1c1d7e |
if (s->enable()) printf(""); else printf("");
|
|
Packit |
1c1d7e |
break;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visit(DocVerbatim *s)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_leaf();
|
|
Packit |
1c1d7e |
switch(s->type())
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
case DocVerbatim::Code: printf(""); break;
|
|
Packit |
1c1d7e |
case DocVerbatim::Verbatim: printf("<verbatim>"); break;
|
|
Packit |
1c1d7e |
case DocVerbatim::HtmlOnly: printf("<htmlonly>"); break;
|
|
Packit |
1c1d7e |
case DocVerbatim::RtfOnly: printf("<rtfonly>"); break;
|
|
Packit |
1c1d7e |
case DocVerbatim::ManOnly: printf("<manonly>"); break;
|
|
Packit |
1c1d7e |
case DocVerbatim::LatexOnly: printf("<latexonly>"); break;
|
|
Packit |
1c1d7e |
case DocVerbatim::XmlOnly: printf("<xmlonly>"); break;
|
|
Packit |
1c1d7e |
case DocVerbatim::DocbookOnly: printf("<docbookonly>"); break;
|
|
Packit |
1c1d7e |
case DocVerbatim::Dot: printf("<dot>"); break;
|
|
Packit |
1c1d7e |
case DocVerbatim::Msc: printf("<msc>"); break;
|
|
Packit |
1c1d7e |
case DocVerbatim::PlantUML: printf("<plantuml>"); break;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
printf("%s",s->text().data());
|
|
Packit |
1c1d7e |
switch(s->type())
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
case DocVerbatim::Code: printf(""); break;
|
|
Packit |
1c1d7e |
case DocVerbatim::Verbatim: printf("</verbatim>"); break;
|
|
Packit |
1c1d7e |
case DocVerbatim::HtmlOnly: printf("</htmlonly>"); break;
|
|
Packit |
1c1d7e |
case DocVerbatim::RtfOnly: printf("</rtfonly>"); break;
|
|
Packit |
1c1d7e |
case DocVerbatim::ManOnly: printf("</manonly>"); break;
|
|
Packit |
1c1d7e |
case DocVerbatim::LatexOnly: printf("</latexonly>"); break;
|
|
Packit |
1c1d7e |
case DocVerbatim::XmlOnly: printf("</xmlonly>"); break;
|
|
Packit |
1c1d7e |
case DocVerbatim::DocbookOnly: printf("</docbookonly>"); break;
|
|
Packit |
1c1d7e |
case DocVerbatim::Dot: printf("</dot>"); break;
|
|
Packit |
1c1d7e |
case DocVerbatim::Msc: printf("</msc>"); break;
|
|
Packit |
1c1d7e |
case DocVerbatim::PlantUML: printf("</plantuml>"); break;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visit(DocAnchor *a)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_leaf();
|
|
Packit |
1c1d7e |
printf("<anchor name=\"%s\"/>",a->anchor().data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visit(DocInclude *inc)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_leaf();
|
|
Packit |
1c1d7e |
printf("<include file=\"%s\" type=\"",inc->file().data());
|
|
Packit |
1c1d7e |
switch(inc->type())
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
case DocInclude::Include: printf("include"); break;
|
|
Packit |
1c1d7e |
case DocInclude::IncWithLines: printf("incwithlines"); break;
|
|
Packit |
1c1d7e |
case DocInclude::DontInclude: printf("dontinclude"); break;
|
|
Packit |
1c1d7e |
case DocInclude::HtmlInclude: printf("htmlinclude"); break;
|
|
Packit |
1c1d7e |
case DocInclude::LatexInclude: printf("latexinclude"); break;
|
|
Packit |
1c1d7e |
case DocInclude::VerbInclude: printf("verbinclude"); break;
|
|
Packit |
1c1d7e |
case DocInclude::Snippet: printf("snippet"); break;
|
|
Packit |
1c1d7e |
case DocInclude::SnipWithLines: printf("snipwithlines"); break;
|
|
Packit |
1c1d7e |
case DocInclude::SnippetDoc:
|
|
Packit |
1c1d7e |
case DocInclude::IncludeDoc:
|
|
Packit |
1c1d7e |
err("Internal inconsistency: found switch SnippetDoc / IncludeDoc in file: %s"
|
|
Packit |
1c1d7e |
"Please create a bug report\n",__FILE__);
|
|
Packit |
1c1d7e |
break;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
printf("\"/>");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visit(DocIncOperator *op)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_leaf();
|
|
Packit |
1c1d7e |
printf("<incoperator pattern=\"%s\" type=\"",op->pattern().data());
|
|
Packit |
1c1d7e |
switch(op->type())
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
case DocIncOperator::Line: printf("line"); break;
|
|
Packit |
1c1d7e |
case DocIncOperator::Skip: printf("skip"); break;
|
|
Packit |
1c1d7e |
case DocIncOperator::SkipLine: printf("skipline"); break;
|
|
Packit |
1c1d7e |
case DocIncOperator::Until: printf("until"); break;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
printf("\"/>");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visit(DocFormula *f)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_leaf();
|
|
Packit |
1c1d7e |
printf("<formula name=%s text=%s/>",f->name().data(),f->text().data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visit(DocIndexEntry *i)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_leaf();
|
|
Packit |
1c1d7e |
printf("<indexentry>%s</indexentry\n",i->entry().data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visit(DocSimpleSectSep *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_leaf();
|
|
Packit |
1c1d7e |
printf("<simplesectsep/>");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visit(DocCite *cite)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_leaf();
|
|
Packit |
1c1d7e |
printf("
|
|
Packit |
1c1d7e |
"anchor=\"%s\" text=\"%s\""
|
|
Packit |
1c1d7e |
"/>\n",
|
|
Packit |
1c1d7e |
cite->ref().data(),cite->file().data(),cite->anchor().data(),
|
|
Packit |
1c1d7e |
cite->text().data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//--------------------------------------
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void visitPre(DocAutoList *l)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
if (l->isEnumList())
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
printf("\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
else
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
printf("
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocAutoList *l)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
if (l->isEnumList())
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
printf("\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
else
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
printf("\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocAutoListItem *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocAutoListItem *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocPara *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("<para>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocPara *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("</para>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocRoot *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("<root>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocRoot *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("</root>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocSimpleSect *s)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("
|
|
Packit |
1c1d7e |
switch(s->type())
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
case DocSimpleSect::See: printf("see"); break;
|
|
Packit |
1c1d7e |
case DocSimpleSect::Return: printf("return"); break;
|
|
Packit |
1c1d7e |
case DocSimpleSect::Author: printf("author"); break;
|
|
Packit |
1c1d7e |
case DocSimpleSect::Authors: printf("authors"); break;
|
|
Packit |
1c1d7e |
case DocSimpleSect::Version: printf("version"); break;
|
|
Packit |
1c1d7e |
case DocSimpleSect::Since: printf("since"); break;
|
|
Packit |
1c1d7e |
case DocSimpleSect::Date: printf("date"); break;
|
|
Packit |
1c1d7e |
case DocSimpleSect::Note: printf("note"); break;
|
|
Packit |
1c1d7e |
case DocSimpleSect::Warning: printf("warning"); break;
|
|
Packit |
1c1d7e |
case DocSimpleSect::Pre: printf("pre"); break;
|
|
Packit |
1c1d7e |
case DocSimpleSect::Post: printf("post"); break;
|
|
Packit |
1c1d7e |
case DocSimpleSect::Copyright: printf("copyright"); break;
|
|
Packit |
1c1d7e |
case DocSimpleSect::Invar: printf("invar"); break;
|
|
Packit |
1c1d7e |
case DocSimpleSect::Remark: printf("remark"); break;
|
|
Packit |
1c1d7e |
case DocSimpleSect::Attention: printf("attention"); break;
|
|
Packit |
1c1d7e |
case DocSimpleSect::User: printf("user"); break;
|
|
Packit |
1c1d7e |
case DocSimpleSect::Rcs: printf("rcs"); break;
|
|
Packit |
1c1d7e |
case DocSimpleSect::Unknown: printf("unknown"); break;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
printf(">\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocSimpleSect *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("</simplesect>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocTitle *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("<title>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocTitle *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("</title>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocSimpleList *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocSimpleList *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocSimpleListItem *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocSimpleListItem *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocSection *s)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("<sect%d>\n",s->level());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocSection *s)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("</sect%d>\n",s->level());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocHtmlList *s)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
if (s->type()==DocHtmlList::Ordered) printf("\n"); else printf("
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocHtmlList *s)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
if (s->type()==DocHtmlList::Ordered) printf("\n"); else printf("\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocHtmlListItem *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocHtmlListItem *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
//void visitPre(DocHtmlPre *)
|
|
Packit |
1c1d7e |
//{
|
|
Packit |
1c1d7e |
// indent_pre();
|
|
Packit |
1c1d7e |
// printf("\n");
|
|
Packit |
1c1d7e |
// m_insidePre=TRUE;
|
|
Packit |
1c1d7e |
//}
|
|
Packit |
1c1d7e |
//void visitPost(DocHtmlPre *)
|
|
Packit |
1c1d7e |
//{
|
|
Packit |
1c1d7e |
// m_insidePre=FALSE;
|
|
Packit |
1c1d7e |
// indent_post();
|
|
Packit |
1c1d7e |
// printf("\n");
|
|
Packit |
1c1d7e |
//}
|
|
Packit |
1c1d7e |
void visitPre(DocHtmlDescList *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocHtmlDescList *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocHtmlDescTitle *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocHtmlDescTitle *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocHtmlDescData *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocHtmlDescData *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocHtmlTable *t)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("\n",
|
|
Packit |
1c1d7e |
t->numRows(),t->numColumns());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocHtmlTable *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocHtmlRow *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocHtmlRow *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocHtmlCell *c)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("<t%c>\n",c->isHeading()?'h':'d');
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocHtmlCell *c)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("</t%c>\n",c->isHeading()?'h':'d');
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocHtmlCaption *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("<caption>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocHtmlCaption *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("</caption>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocInternal *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("<internal>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocInternal *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("</internal>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocHRef *href)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("\n",href->url().data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocHRef *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocHtmlHeader *header)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("<h%d>\n",header->level());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocHtmlHeader *header)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("</h%d>\n",header->level());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocImage *img)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("<image src=\"%s\" type=\"",img->name().data());
|
|
Packit |
1c1d7e |
switch(img->type())
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
case DocImage::Html: printf("html"); break;
|
|
Packit |
1c1d7e |
case DocImage::Latex: printf("latex"); break;
|
|
Packit |
1c1d7e |
case DocImage::Rtf: printf("rtf"); break;
|
|
Packit |
1c1d7e |
case DocImage::DocBook: printf("docbook"); break;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
printf("\" %s %s>\n",img->width().data(),img->height().data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocImage *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("</image>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocDotFile *df)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("<dotfile src=\"%s\">\n",df->name().data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocDotFile *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("</dotfile>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocMscFile *df)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("<mscfile src=\"%s\">\n",df->name().data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocMscFile *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("</mscfile>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocDiaFile *df)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("<diafile src=\"%s\">\n",df->name().data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocDiaFile *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("</diafile>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocLink *lnk)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("<link ref=\"%s\" file=\"%s\" anchor=\"%s\">\n",
|
|
Packit |
1c1d7e |
lnk->ref().data(),lnk->file().data(),lnk->anchor().data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocLink *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("</link>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocRef *ref)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("
|
|
Packit |
1c1d7e |
"anchor=\"%s\" targetTitle=\"%s\""
|
|
Packit |
1c1d7e |
" hasLinkText=\"%s\" refToAnchor=\"%s\" refToSection=\"%s\" refToTable=\"%s\">\n",
|
|
Packit |
1c1d7e |
ref->ref().data(),ref->file().data(),ref->anchor().data(),
|
|
Packit |
1c1d7e |
ref->targetTitle().data(),ref->hasLinkText()?"yes":"no",
|
|
Packit |
1c1d7e |
ref->refToAnchor()?"yes":"no", ref->refToSection()?"yes":"no",
|
|
Packit |
1c1d7e |
ref->refToTable()?"yes":"no");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocRef *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("</ref>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocSecRefItem *ref)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("<secrefitem target=\"%s\">\n",ref->target().data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocSecRefItem *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("</secrefitem>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocSecRefList *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("<secreflist>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocSecRefList *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("</secreflist>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
//void visitPre(DocLanguage *l)
|
|
Packit |
1c1d7e |
//{
|
|
Packit |
1c1d7e |
// indent_pre();
|
|
Packit |
1c1d7e |
// printf("<language id=%s>\n",l->id().data());
|
|
Packit |
1c1d7e |
//}
|
|
Packit |
1c1d7e |
//void visitPost(DocLanguage *)
|
|
Packit |
1c1d7e |
//{
|
|
Packit |
1c1d7e |
// indent_post();
|
|
Packit |
1c1d7e |
// printf("</language>\n");
|
|
Packit |
1c1d7e |
//}
|
|
Packit |
1c1d7e |
void visitPre(DocParamList *pl)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
//QStrListIterator sli(pl->parameters());
|
|
Packit |
1c1d7e |
QListIterator<DocNode> sli(pl->parameters());
|
|
Packit |
1c1d7e |
//const char *s;
|
|
Packit |
1c1d7e |
DocNode *param;
|
|
Packit |
1c1d7e |
printf("<parameters>");
|
|
Packit |
1c1d7e |
for (sli.toFirst();(param=sli.current());++sli)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
printf("<param>");
|
|
Packit |
1c1d7e |
if (param->kind()==DocNode::Kind_Word)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
visit((DocWord*)param);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
else if (param->kind()==DocNode::Kind_LinkedWord)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
visit((DocLinkedWord*)param);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
printf("</param>");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
printf("\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocParamList *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("</parameters>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocParamSect *ps)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("
|
|
Packit |
1c1d7e |
switch (ps->type())
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
case DocParamSect::Param: printf("param"); break;
|
|
Packit |
1c1d7e |
case DocParamSect::RetVal: printf("retval"); break;
|
|
Packit |
1c1d7e |
case DocParamSect::Exception: printf("exception"); break;
|
|
Packit |
1c1d7e |
case DocParamSect::TemplateParam: printf("templateparam"); break;
|
|
Packit |
1c1d7e |
case DocParamSect::Unknown: printf("unknown"); break;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
printf(">\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocParamSect *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("</paramsect>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocXRefItem *x)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("<xrefitem file=\"%s\" anchor=\"%s\" title=\"%s\"/>\n",
|
|
Packit |
1c1d7e |
x->file().data(),x->anchor().data(),x->title().data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocXRefItem *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("<xrefitem/>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocInternalRef *r)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("<internalref file=%s anchor=%s>\n",r->file().data(),r->anchor().data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocInternalRef *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("</internalref>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocCopy *c)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("<copy link=\"%s\">\n",c->link().data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocCopy *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("</copy>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocText *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("<text>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocText *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("</text>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocHtmlBlockQuote *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocHtmlBlockQuote *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocVhdlFlow *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("<vhdlflow>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocVhdlFlow *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("</vhdlflow>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPre(DocParBlock *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_pre();
|
|
Packit |
1c1d7e |
printf("<parblock>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void visitPost(DocParBlock *)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent_post();
|
|
Packit |
1c1d7e |
printf("</parblock>\n");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
// helper functions
|
|
Packit |
1c1d7e |
void indent()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
if (m_needsEnter) printf("\n");
|
|
Packit |
1c1d7e |
for (int i=0;i
|
|
Packit |
1c1d7e |
m_needsEnter=FALSE;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void indent_leaf()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
if (!m_needsEnter) indent();
|
|
Packit |
1c1d7e |
m_needsEnter=TRUE;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void indent_pre()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
indent();
|
|
Packit |
1c1d7e |
m_indent++;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
void indent_post()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_indent--;
|
|
Packit |
1c1d7e |
indent();
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
// member variables
|
|
Packit |
1c1d7e |
int m_indent;
|
|
Packit |
1c1d7e |
bool m_needsEnter;
|
|
Packit |
1c1d7e |
bool m_insidePre;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#endif
|