16#ifndef PRINTDOCVISITOR_H
17#define PRINTDOCVISITOR_H
77 printf(
"print: non supported emoji found: %s\n",
qPrint(s.
name()));
101 if (s.
enable()) printf(
"<bold>");
else printf(
"</bold>");
104 if (s.
enable()) printf(
"<s>");
else printf(
"</s>");
107 if (s.
enable()) printf(
"<strike>");
else printf(
"</strike>");
110 if (s.
enable()) printf(
"<del>");
else printf(
"</del>");
113 if (s.
enable()) printf(
"<underline>");
else printf(
"</underline>");
116 if (s.
enable()) printf(
"<ins>");
else printf(
"</ins>");
119 if (s.
enable()) printf(
"<italic>");
else printf(
"</italic>");
122 if (s.
enable()) printf(
"<kbd>");
else printf(
"</kbd>");
125 if (s.
enable()) printf(
"<tt>");
else printf(
"</tt>");
128 if (s.
enable()) printf(
"<code>");
else printf(
"</code>");
131 if (s.
enable()) printf(
"<sub>");
else printf(
"</sub>");
134 if (s.
enable()) printf(
"<sup>");
else printf(
"</sup>");
137 if (s.
enable()) printf(
"<center>");
else printf(
"</center>");
140 if (s.
enable()) printf(
"<small>");
else printf(
"</small>");
143 if (s.
enable()) printf(
"<cite>");
else printf(
"</cite>");
146 if (s.
enable()) printf(
"<pre>");
else printf(
"</pre>");
149 if (s.
enable()) printf(
"<div>");
else printf(
"</div>");
152 if (s.
enable()) printf(
"<span>");
else printf(
"</span>");
203 printf(
"<include file=\"%s\" type=\"",
qPrint(inc.
file()));
211 printf(
"htmlinclude");
212 if (inc.
isBlock()) printf(
" block=\"yes\"");
228 printf(
"<incoperator pattern=\"%s\" type=\"",
qPrint(op.
pattern()));
246 printf(
"<indexentry>%s</indexentry\n",
qPrint(i.
entry()));
251 printf(
"<simplesectsep/>");
264 if (!opt.noPar()) txt +=
"[";
266 if (!opt.noPar()) txt +=
"]";
268 printf(
"<cite ref=\"%s\" file=\"%s\" "
269 "anchor=\"%s\" text=\"%s\""
284 for (
const auto &child : t.children())
286 std::visit(*
this, child);
318 printf(
"<li class=\"unchecked\">\n");
322 printf(
"<li class=\"checked\">\n");
351 printf(
"<simplesect type=");
377 std::visit(*
this, *s.
title());
381 printf(
"</simplesect>\n");
389 printf(
"</title>\n");
413 printf(
"<sect%d>\n",s.
level());
416 std::visit(*
this, *s.
title());
420 printf(
"</sect%d>\n",s.
level());
428 for (
const auto &opt : s.
attribs())
430 printf(
" %s=\"%s\"",
qPrint(opt.name),
qPrint(opt.value));
453 for (
const auto &opt : li.
attribs())
455 printf(
" %s=\"%s\"",
qPrint(opt.name),
qPrint(opt.value));
489 printf(
"<table rows=\"%zu\" cols=\"%zu\">\n",
494 std::visit(*
this, *t.
caption());
497 printf(
"</table>\n");
513 printf(
"</t%c>\n",c.
isHeading()?
'h':
'd');
518 printf(
"<caption>\n");
521 printf(
"</caption>\n");
526 printf(
"<internal>\n");
529 printf(
"</internal>\n");
534 printf(
"<a url=\"%s\">\n",
qPrint(href.
url()));
543 for (
const auto &opt : summary.
attribs())
545 printf(
" %s=\"%s\"",
qPrint(opt.name),
qPrint(opt.value));
550 printf(
"</summary>\n");
556 for (
const auto &opt :
details.attribs())
558 printf(
" %s=\"%s\"",
qPrint(opt.name),
qPrint(opt.value));
561 auto summary =
details.summary();
564 std::visit(*
this,*summary);
568 printf(
"</details>\n");
573 printf(
"<h%d>\n",header.
level());
576 printf(
"</h%d>\n",header.
level());
581 printf(
"<image src=\"%s\" type=\"",
qPrint(img.
name()));
593 printf(
"</image>\n");
598 printf(
"<dotfile src=\"%s\">\n",
qPrint(df.
name()));
601 printf(
"</dotfile>\n");
606 printf(
"<mscfile src=\"%s\">\n",
qPrint(df.
name()));
609 printf(
"</mscfile>\n");
614 printf(
"<diafile src=\"%s\">\n",
qPrint(df.
name()));
617 printf(
"</diafile>\n");
622 printf(
"<plantumlfile src=\"%s\">\n",
qPrint(df.
name()));
625 printf(
"</plantumlfile>\n");
630 printf(
"<mermaidfile src=\"%s\">\n",
qPrint(df.
name()));
633 printf(
"</mermaidfile>\n");
638 printf(
"<link ref=\"%s\" file=\"%s\" anchor=\"%s\">\n",
647 printf(
"<ref ref=\"%s\" file=\"%s\" "
648 "anchor=\"%s\" targetTitle=\"%s\""
649 " hasLinkText=\"%s\" refToAnchor=\"%s\" refToSection=\"%s\" refToTable=\"%s\">\n",
661 printf(
"<secrefitem target=\"%s\">\n",
qPrint(ref.
target()));
664 printf(
"</secrefitem>\n");
669 printf(
"<secreflist>\n");
672 printf(
"</secreflist>\n");
677 printf(
"<parameters>");
683 std::visit(*
this,param);
689 printf(
"</parameters>\n");
694 printf(
"<paramsect type=");
706 printf(
"</paramsect>\n");
711 printf(
"<xrefitem file=\"%s\" anchor=\"%s\" title=\"%s\">\n",
715 printf(
"</xrefitem>\n");
723 printf(
"</internalref>\n");
736 printf(
"<blockquote>\n");
739 printf(
"</blockquote>\n");
744 printf(
"<vhdlflow>\n");
747 printf(
"</vhdlflow>\n");
752 printf(
"<parblock>\n");
755 printf(
"</parblock>\n");
763 for (
int i=0;i<
m_indent;i++) printf(
".");
A String class for use with Doxygen wrapping std::string and adding some additional functionality off...
bool empty() const
Returns true iff the string is empty (std::string compatible alias for isEmpty()).
Node representing an anchor.
Node representing an auto List.
Node representing an item of a auto list.
Node representing a citation of some bibliographic reference.
CiteInfoOption option() const
Node representing a dia file.
Node representing a dot file.
Node representing an emoji.
Node representing a Hypertext reference.
Node representing a horizontal ruler.
Node representing an HTML blockquote.
Node representing a HTML table caption.
Node representing a HTML table cell.
Node representing a HTML description data.
Node representing a Html description list.
Node representing a Html description item.
Node representing a Html list.
const HtmlAttribList & attribs() const
Node representing a HTML list item.
const HtmlAttribList & attribs() const
Node representing a HTML table row.
const HtmlAttribList & attribs() const
Node representing a HTML table.
size_t numColumns() const
const DocNodeVariant * caption() const
Node representing an image.
bool isInlineImage() const
Node representing a include/dontinclude operator block.
Node representing an included text block from file.
Node representing an entry in the index.
Node representing an internal section of documentation.
Node representing an internal reference to some item.
Node representing a line break.
Node representing a link to some item.
Node representing a word that can be linked to something.
Node representing a mermaid file.
Node representing a msc file.
Node representing an block of paragraphs.
Node representing a paragraph in the documentation tree.
Node representing a parameter list.
const DocNodeList & parameters() const
Node representing a parameter section.
Node representing a uml file.
Node representing a reference to some item.
bool refToSection() const
DString targetTitle() const
Root node of documentation tree.
Node representing a reference to a section.
Node representing a list of section references.
Node representing a normal section.
const DocNodeVariant * title() const
Node representing a separator.
Node representing a simple list.
Node representing a simple list item.
const DocNodeVariant * paragraph() const
Node representing a simple section.
const DocNodeVariant * title() const
Node representing a separator between two simple sections of the same type.
Node representing a style change.
Node representing a special symbol.
HtmlEntityMapper::SymType symbol() const
Root node of a text fragment.
Node representing a simple section title.
Node representing a URL (or email address).
Node representing a verbatim, unparsed text fragment.
Node representing a VHDL flow chart.
Node representing some amount of white space.
Node representing a word.
Node representing an item of a cross-referenced list.
const char * name(int index) const
Access routine to the name of the Emoji entity.
static EmojiEntityMapper & instance()
Returns the one and only instance of the Emoji entity mapper.
bool empty() const
checks whether the container is empty
const char * utf8(SymType symb, bool useInPrintf=false) const
Access routine to the UTF8 code of the HTML entity.
static HtmlEntityMapper & instance()
Returns the one and only instance of the HTML entity mapper.
void operator()(const DocSeparator &)
void operator()(const DocWord &w)
void operator()(const DocSimpleSect &s)
void operator()(const DocAnchor &a)
void operator()(const DocSymbol &s)
void operator()(const DocInclude &inc)
void operator()(const DocHRef &href)
void operator()(const DocHtmlCaption &c)
void operator()(const DocLinkedWord &w)
void operator()(const DocVerbatim &s)
void operator()(const DocHtmlBlockQuote &q)
void operator()(const DocParamList &pl)
void operator()(const DocDiaFile &df)
void operator()(const DocStyleChange &s)
void operator()(const DocTitle &t)
void operator()(const DocText &t)
void operator()(const DocIndexEntry &i)
void operator()(const DocSimpleSectSep &)
void operator()(const DocSimpleList &l)
void operator()(const DocInternal &i)
void operator()(const DocLink &lnk)
void visitChildren(const T &t)
void operator()(const DocHtmlHeader &header)
void operator()(const DocParamSect &ps)
void operator()(const DocInternalRef &r)
void operator()(const DocHtmlDescData &dd)
void operator()(const DocVhdlFlow &vf)
void operator()(const DocURL &u)
void operator()(const DocHtmlTable &t)
void operator()(const DocIncOperator &op)
void operator()(const DocPlantUmlFile &df)
void operator()(const DocXRefItem &x)
void operator()(const DocSecRefItem &ref)
void operator()(const DocEmoji &s)
void operator()(const DocMscFile &df)
void operator()(const DocSecRefList &rl)
void operator()(const DocRoot &r)
void operator()(const DocHtmlList &s)
void operator()(const DocHorRuler &)
void operator()(const DocHtmlDescTitle &dt)
void operator()(const DocHtmlSummary &summary)
void operator()(const DocMermaidFile &df)
void operator()(const DocDotFile &df)
void operator()(const DocLineBreak &)
void operator()(const DocAutoListItem &li)
void operator()(const DocSection &s)
void operator()(const DocHtmlCell &c)
void operator()(const DocAutoList &l)
void operator()(const DocPara &p)
void operator()(const DocRef &ref)
void operator()(const DocHtmlDetails &details)
void operator()(const DocImage &img)
void operator()(const DocFormula &f)
void operator()(const DocHtmlDescList &l)
void operator()(const DocHtmlRow &tr)
void operator()(const DocWhiteSpace &w)
void operator()(const DocParBlock &pb)
void operator()(const DocSimpleListItem &li)
void operator()(const DocHtmlListItem &li)
void operator()(const DocCite &cite)
const char * qPrint(const char *s)