Skip to main content

The PrintDocVisitor Class Reference

Declaration

class PrintDocVisitor { ... }

Included Headers

Public Constructors Index

PrintDocVisitor ()

Public Operators Index

voidoperator() (const DocWord &w)
voidoperator() (const DocLinkedWord &w)
voidoperator() (const DocWhiteSpace &w)
voidoperator() (const DocSymbol &s)
voidoperator() (const DocEmoji &s)
voidoperator() (const DocURL &u)
voidoperator() (const DocLineBreak &)
voidoperator() (const DocHorRuler &)
voidoperator() (const DocStyleChange &s)
voidoperator() (const DocVerbatim &s)
voidoperator() (const DocAnchor &a)
voidoperator() (const DocInclude &inc)
voidoperator() (const DocIncOperator &op)
voidoperator() (const DocFormula &f)
voidoperator() (const DocIndexEntry &i)
voidoperator() (const DocSimpleSectSep &)
voidoperator() (const DocCite &cite)
voidoperator() (const DocSeparator &)
voidoperator() (const DocAutoList &l)
voidoperator() (const DocAutoListItem &li)
voidoperator() (const DocPara &p)
voidoperator() (const DocRoot &r)
voidoperator() (const DocSimpleSect &s)
voidoperator() (const DocTitle &t)
voidoperator() (const DocSimpleList &l)
voidoperator() (const DocSimpleListItem &li)
voidoperator() (const DocSection &s)
voidoperator() (const DocHtmlList &s)
voidoperator() (const DocHtmlListItem &li)
voidoperator() (const DocHtmlDescList &l)
voidoperator() (const DocHtmlDescTitle &dt)
voidoperator() (const DocHtmlDescData &dd)
voidoperator() (const DocHtmlTable &t)
voidoperator() (const DocHtmlRow &tr)
voidoperator() (const DocHtmlCell &c)
voidoperator() (const DocHtmlCaption &c)
voidoperator() (const DocInternal &i)
voidoperator() (const DocHRef &href)
voidoperator() (const DocHtmlSummary &summary)
voidoperator() (const DocHtmlDetails &details)
voidoperator() (const DocHtmlHeader &header)
voidoperator() (const DocImage &img)
voidoperator() (const DocDotFile &df)
voidoperator() (const DocMscFile &df)
voidoperator() (const DocDiaFile &df)
voidoperator() (const DocPlantUmlFile &df)
voidoperator() (const DocLink &lnk)
voidoperator() (const DocRef &ref)
voidoperator() (const DocSecRefItem &ref)
voidoperator() (const DocSecRefList &rl)
voidoperator() (const DocParamList &pl)
voidoperator() (const DocParamSect &ps)
voidoperator() (const DocXRefItem &x)
voidoperator() (const DocInternalRef &r)
voidoperator() (const DocText &t)
voidoperator() (const DocHtmlBlockQuote &q)
voidoperator() (const DocVhdlFlow &vf)
voidoperator() (const DocParBlock &pb)

Public Member Functions Index

template <class T>
voidvisitChildren (const T &t)

Private Member Functions Index

voidindent ()
voidindent_leaf ()
voidindent_pre ()
voidindent_post ()

Private Member Attributes Index

intm_indent
boolm_needsEnter
boolm_insidePre

Description

Visitor implementation for pretty printing

Definition at line 28 of file printdocvisitor.h.

Public Constructors

PrintDocVisitor()

PrintDocVisitor::PrintDocVisitor ()
inline

Definition at line 31 of file printdocvisitor.h.

References FALSE, m_indent, m_insidePre and m_needsEnter.

Public Operators

operator()()

void PrintDocVisitor::operator() (const DocWord & w)
inline

Definition at line 35 of file printdocvisitor.h.

35 void operator()(const DocWord &w)
36 {
38 printf("%s",qPrint(w.word()));
39 }

References indent_leaf, qPrint and DocWord::word.

operator()()

void PrintDocVisitor::operator() (const DocLinkedWord & w)
inline

Definition at line 40 of file printdocvisitor.h.

40 void operator()(const DocLinkedWord &w)
41 {
43 printf("%s",qPrint(w.word()));
44 }

References indent_leaf, qPrint and DocLinkedWord::word.

operator()()

void PrintDocVisitor::operator() (const DocWhiteSpace & w)
inline

Definition at line 45 of file printdocvisitor.h.

45 void operator()(const DocWhiteSpace &w)
46 {
48 if (m_insidePre)
49 {
50 printf("%s",qPrint(w.chars()));
51 }
52 else
53 {
54 printf(" ");
55 }
56 }

References DocWhiteSpace::chars, indent_leaf, m_insidePre and qPrint.

operator()()

void PrintDocVisitor::operator() (const DocSymbol & s)
inline

Definition at line 57 of file printdocvisitor.h.

57 void operator()(const DocSymbol &s)
58 {
60 const char *res = HtmlEntityMapper::instance().utf8(s.symbol(),TRUE);
61 if (res)
62 {
63 printf("%s",res);
64 }
65 else
66 {
67 printf("print: non supported HTML-entity found: %s\n",HtmlEntityMapper::instance().html(s.symbol(),TRUE));
68 }
69 }

References indent_leaf, HtmlEntityMapper::instance, DocSymbol::symbol, TRUE and HtmlEntityMapper::utf8.

operator()()

void PrintDocVisitor::operator() (const DocEmoji & s)
inline

Definition at line 70 of file printdocvisitor.h.

70 void operator()(const DocEmoji &s)
71 {
73 const char *res = EmojiEntityMapper::instance().name(s.index());
74 if (res)
75 {
76 printf("%s",res);
77 }
78 else
79 {
80 printf("print: non supported emoji found: %s\n",qPrint(s.name()));
81 }
82 }

References indent_leaf, DocEmoji::index, EmojiEntityMapper::instance, DocEmoji::name, EmojiEntityMapper::name and qPrint.

operator()()

void PrintDocVisitor::operator() (const DocURL & u)
inline

Definition at line 83 of file printdocvisitor.h.

83 void operator()(const DocURL &u)
84 {
86 printf("%s",qPrint(u.url()));
87 }

References indent_leaf, qPrint and DocURL::url.

operator()()

void PrintDocVisitor::operator() (const DocLineBreak &)
inline

Definition at line 88 of file printdocvisitor.h.

88 void operator()(const DocLineBreak &)
89 {
91 printf("<br/>");
92 }

Reference indent_leaf.

operator()()

void PrintDocVisitor::operator() (const DocHorRuler &)
inline

Definition at line 93 of file printdocvisitor.h.

93 void operator()(const DocHorRuler &)
94 {
96 printf("<hr>");
97 }

Reference indent_leaf.

operator()()

void PrintDocVisitor::operator() (const DocStyleChange & s)
inline

Definition at line 98 of file printdocvisitor.h.

99 {
101 switch (s.style())
102 {
104 if (s.enable()) printf("<bold>"); else printf("</bold>");
105 break;
107 if (s.enable()) printf("<s>"); else printf("</s>");
108 break;
110 if (s.enable()) printf("<strike>"); else printf("</strike>");
111 break;
113 if (s.enable()) printf("<del>"); else printf("</del>");
114 break;
116 if (s.enable()) printf("<underline>"); else printf("</underline>");
117 break;
119 if (s.enable()) printf("<ins>"); else printf("</ins>");
120 break;
122 if (s.enable()) printf("<italic>"); else printf("</italic>");
123 break;
125 if (s.enable()) printf("<kbd>"); else printf("</kbd>");
126 break;
128 if (s.enable()) printf("<tt>"); else printf("</tt>");
129 break;
131 if (s.enable()) printf("<code>"); else printf("</code>");
132 break;
134 if (s.enable()) printf("<sub>"); else printf("</sub>");
135 break;
137 if (s.enable()) printf("<sup>"); else printf("</sup>");
138 break;
140 if (s.enable()) printf("<center>"); else printf("</center>");
141 break;
143 if (s.enable()) printf("<small>"); else printf("</small>");
144 break;
146 if (s.enable()) printf("<cite>"); else printf("</cite>");
147 break;
149 if (s.enable()) printf("<pre>"); else printf("</pre>");
150 break;
152 if (s.enable()) printf("<div>"); else printf("</div>");
153 break;
155 if (s.enable()) printf("<span>"); else printf("</span>");
156 break;
157 }
158 }

References DocStyleChange::Bold, DocStyleChange::Center, DocStyleChange::Cite, DocStyleChange::Code, DocStyleChange::Del, DocStyleChange::Div, DocStyleChange::enable, indent_leaf, DocStyleChange::Ins, DocStyleChange::Italic, DocStyleChange::Kbd, DocStyleChange::Preformatted, DocStyleChange::S, DocStyleChange::Small, DocStyleChange::Span, DocStyleChange::Strike, DocStyleChange::style, DocStyleChange::Subscript, DocStyleChange::Superscript, DocStyleChange::Typewriter and DocStyleChange::Underline.

operator()()

void PrintDocVisitor::operator() (const DocVerbatim & s)
inline

Definition at line 159 of file printdocvisitor.h.

159 void operator()(const DocVerbatim &s)
160 {
162 switch(s.type())
163 {
164 case DocVerbatim::Code: printf("<code>"); break;
165 case DocVerbatim::Verbatim: printf("<verbatim>"); break;
166 case DocVerbatim::JavaDocLiteral: printf("<javadocliteral>"); break;
167 case DocVerbatim::JavaDocCode: printf("<javadoccode>"); break;
168 case DocVerbatim::HtmlOnly: printf("<htmlonly>"); break;
169 case DocVerbatim::RtfOnly: printf("<rtfonly>"); break;
170 case DocVerbatim::ManOnly: printf("<manonly>"); break;
171 case DocVerbatim::LatexOnly: printf("<latexonly>"); break;
172 case DocVerbatim::XmlOnly: printf("<xmlonly>"); break;
173 case DocVerbatim::DocbookOnly: printf("<docbookonly>"); break;
174 case DocVerbatim::Dot: printf("<dot>"); break;
175 case DocVerbatim::Msc: printf("<msc>"); break;
176 case DocVerbatim::PlantUML: printf("<plantuml>"); break;
177 }
178 printf("%s",qPrint(s.text()));
179 switch(s.type())
180 {
181 case DocVerbatim::Code: printf("</code>"); break;
182 case DocVerbatim::Verbatim: printf("</verbatim>"); break;
183 case DocVerbatim::JavaDocLiteral: printf("</javadocliteral>"); break;
184 case DocVerbatim::JavaDocCode: printf("</javadoccode>"); break;
185 case DocVerbatim::HtmlOnly: printf("</htmlonly>"); break;
186 case DocVerbatim::RtfOnly: printf("</rtfonly>"); break;
187 case DocVerbatim::ManOnly: printf("</manonly>"); break;
188 case DocVerbatim::LatexOnly: printf("</latexonly>"); break;
189 case DocVerbatim::XmlOnly: printf("</xmlonly>"); break;
190 case DocVerbatim::DocbookOnly: printf("</docbookonly>"); break;
191 case DocVerbatim::Dot: printf("</dot>"); break;
192 case DocVerbatim::Msc: printf("</msc>"); break;
193 case DocVerbatim::PlantUML: printf("</plantuml>"); break;
194 }
195 }

References DocVerbatim::Code, DocVerbatim::DocbookOnly, DocVerbatim::Dot, DocVerbatim::HtmlOnly, indent_leaf, DocVerbatim::JavaDocCode, DocVerbatim::JavaDocLiteral, DocVerbatim::LatexOnly, DocVerbatim::ManOnly, DocVerbatim::Msc, DocVerbatim::PlantUML, qPrint, DocVerbatim::RtfOnly, DocVerbatim::text, DocVerbatim::type, DocVerbatim::Verbatim and DocVerbatim::XmlOnly.

operator()()

void PrintDocVisitor::operator() (const DocAnchor & a)
inline

Definition at line 196 of file printdocvisitor.h.

196 void operator()(const DocAnchor &a)
197 {
199 printf("<anchor name=\"%s\"/>",qPrint(a.anchor()));
200 }

References DocAnchor::anchor, indent_leaf and qPrint.

operator()()

void PrintDocVisitor::operator() (const DocInclude & inc)
inline

Definition at line 201 of file printdocvisitor.h.

201 void operator()(const DocInclude &inc)
202 {
204 printf("<include file=\"%s\" type=\"",qPrint(inc.file()));
205 switch(inc.type())
206 {
207 case DocInclude::Include: printf("include"); break;
208 case DocInclude::IncWithLines: printf("incwithlines"); break;
209 case DocInclude::DontInclude: printf("dontinclude"); break;
210 case DocInclude::DontIncWithLines: printf("dontinwithlines"); break;
212 printf("htmlinclude");
213 if (inc.isBlock()) printf(" block=\"yes\"");
214 break;
215 case DocInclude::LatexInclude: printf("latexinclude"); break;
216 case DocInclude::RtfInclude: printf("rtfinclude"); break;
217 case DocInclude::DocbookInclude: printf("docbookinclude"); break;
218 case DocInclude::ManInclude: printf("maninclude"); break;
219 case DocInclude::XmlInclude: printf("xmlinclude"); break;
220 case DocInclude::VerbInclude: printf("verbinclude"); break;
221 case DocInclude::Snippet: printf("snippet"); break;
222 case DocInclude::SnippetWithLines: printf("snipwithlines"); break;
223 }
224 printf("\"/>");
225 }

References DocInclude::DocbookInclude, DocInclude::DontInclude, DocInclude::DontIncWithLines, DocInclude::file, DocInclude::HtmlInclude, DocInclude::Include, DocInclude::IncWithLines, indent_leaf, DocInclude::isBlock, DocInclude::LatexInclude, DocInclude::ManInclude, qPrint, DocInclude::RtfInclude, DocInclude::Snippet, DocInclude::SnippetWithLines, DocInclude::type, DocInclude::VerbInclude and DocInclude::XmlInclude.

operator()()

void PrintDocVisitor::operator() (const DocIncOperator & op)
inline

Definition at line 226 of file printdocvisitor.h.

226 void operator()(const DocIncOperator &op)
227 {
229 printf("<incoperator pattern=\"%s\" type=\"",qPrint(op.pattern()));
230 switch(op.type())
231 {
232 case DocIncOperator::Line: printf("line"); break;
233 case DocIncOperator::Skip: printf("skip"); break;
234 case DocIncOperator::SkipLine: printf("skipline"); break;
235 case DocIncOperator::Until: printf("until"); break;
236 }
237 printf("\"/>");
238 }

References indent_leaf, DocIncOperator::Line, DocIncOperator::pattern, qPrint, DocIncOperator::Skip, DocIncOperator::SkipLine, DocIncOperator::type and DocIncOperator::Until.

operator()()

void PrintDocVisitor::operator() (const DocFormula & f)
inline

Definition at line 239 of file printdocvisitor.h.

239 void operator()(const DocFormula &f)
240 {
242 printf("<formula name=%s text=%s/>",qPrint(f.name()),qPrint(f.text()));
243 }

References indent_leaf, DocFormula::name, qPrint and DocFormula::text.

operator()()

void PrintDocVisitor::operator() (const DocIndexEntry & i)
inline

Definition at line 244 of file printdocvisitor.h.

245 {
247 printf("<indexentry>%s</indexentry\n",qPrint(i.entry()));
248 }

References DocIndexEntry::entry, indent_leaf and qPrint.

operator()()

void PrintDocVisitor::operator() (const DocSimpleSectSep &)
inline

Definition at line 249 of file printdocvisitor.h.

250 {
252 printf("<simplesectsep/>");
253 }

Reference indent_leaf.

operator()()

void PrintDocVisitor::operator() (const DocCite & cite)
inline

Definition at line 254 of file printdocvisitor.h.

254 void operator()(const DocCite &cite)
255 {
257 auto opt = cite.option();
258 QCString txt;
259 if (!cite.file().isEmpty())
260 {
261 txt = cite.getText();
262 }
263 else
264 {
265 if (!opt.noPar()) txt += "[";
266 txt += cite.target();
267 if (!opt.noPar()) txt += "]";
268 }
269 printf("<cite ref=\"%s\" file=\"%s\" "
270 "anchor=\"%s\" text=\"%s\""
271 "/>\n",
272 qPrint(cite.ref()),qPrint(cite.file()),qPrint(cite.anchor()),
273 qPrint(txt));
274 }

References DocCite::anchor, DocCite::file, DocCite::getText, indent_leaf, QCString::isEmpty, DocCite::option, qPrint, DocCite::ref and DocCite::target.

operator()()

void PrintDocVisitor::operator() (const DocSeparator &)
inline

Definition at line 275 of file printdocvisitor.h.

276 {
278 printf("<sep/>");
279 }

Reference indent_leaf.

operator()()

void PrintDocVisitor::operator() (const DocAutoList & l)
inline

Definition at line 291 of file printdocvisitor.h.

291 void operator()(const DocAutoList &l)
292 {
293 indent_pre();
294 if (l.isEnumList())
295 {
296 printf("<ol>\n");
297 }
298 else
299 {
300 printf("<ul>\n");
301 }
304 if (l.isEnumList())
305 {
306 printf("</ol>\n");
307 }
308 else
309 {
310 printf("</ul>\n");
311 }
312 }

References indent_post, indent_pre, DocAutoList::isEnumList and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocAutoListItem & li)
inline

Definition at line 313 of file printdocvisitor.h.

314 {
315 indent_pre();
316 switch (li.itemNumber())
317 {
318 case DocAutoList::Unchecked: // unchecked
319 printf("<li class=\"unchecked\">\n");
320 break;
321 case DocAutoList::Checked_x: // checked with x
322 case DocAutoList::Checked_X: // checked with X
323 printf("<li class=\"checked\">\n");
324 break;
325 default:
326 printf("<li>\n");
327 break;
328 }
329 visitChildren(li);
331 printf("</li>\n");
332 }

References DocAutoList::Checked_X, DocAutoList::Checked_x, indent_post, indent_pre, DocAutoListItem::itemNumber, DocAutoList::Unchecked and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocPara & p)
inline

Definition at line 333 of file printdocvisitor.h.

333 void operator()(const DocPara &p)
334 {
335 indent_pre();
336 printf("<para>\n");
339 printf("</para>\n");
340 }

References indent_post, indent_pre and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocRoot & r)
inline

Definition at line 341 of file printdocvisitor.h.

341 void operator()(const DocRoot &r)
342 {
343 indent_pre();
344 printf("<root>\n");
347 printf("</root>\n");
348 }

References indent_post, indent_pre and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocSimpleSect & s)
inline

Definition at line 349 of file printdocvisitor.h.

350 {
351 indent_pre();
352 printf("<simplesect type=");
353 switch(s.type())
354 {
355 case DocSimpleSect::See: printf("see"); break;
356 case DocSimpleSect::Return: printf("return"); break;
357 case DocSimpleSect::Author: printf("author"); break;
358 case DocSimpleSect::Authors: printf("authors"); break;
359 case DocSimpleSect::Version: printf("version"); break;
360 case DocSimpleSect::Since: printf("since"); break;
361 case DocSimpleSect::Date: printf("date"); break;
362 case DocSimpleSect::Note: printf("note"); break;
363 case DocSimpleSect::Warning: printf("warning"); break;
364 case DocSimpleSect::Pre: printf("pre"); break;
365 case DocSimpleSect::Post: printf("post"); break;
366 case DocSimpleSect::Copyright: printf("copyright"); break;
367 case DocSimpleSect::Invar: printf("invar"); break;
368 case DocSimpleSect::Remark: printf("remark"); break;
369 case DocSimpleSect::Attention: printf("attention"); break;
370 case DocSimpleSect::Important: printf("important"); break;
371 case DocSimpleSect::User: printf("user"); break;
372 case DocSimpleSect::Rcs: printf("rcs"); break;
373 case DocSimpleSect::Unknown: printf("unknown"); break;
374 }
375 printf(">\n");
376 if (s.title())
377 {
378 std::visit(*this, *s.title());
379 }
382 printf("</simplesect>\n");
383 }

References DocSimpleSect::Attention, DocSimpleSect::Author, DocSimpleSect::Authors, DocSimpleSect::Copyright, DocSimpleSect::Date, DocSimpleSect::Important, indent_post, indent_pre, DocSimpleSect::Invar, DocSimpleSect::Note, DocSimpleSect::Post, DocSimpleSect::Pre, DocSimpleSect::Rcs, DocSimpleSect::Remark, DocSimpleSect::Return, DocSimpleSect::See, DocSimpleSect::Since, DocSimpleSect::title, DocSimpleSect::type, DocSimpleSect::Unknown, DocSimpleSect::User, DocSimpleSect::Version, visitChildren and DocSimpleSect::Warning.

operator()()

void PrintDocVisitor::operator() (const DocTitle & t)
inline

Definition at line 384 of file printdocvisitor.h.

384 void operator()(const DocTitle &t)
385 {
386 indent_pre();
387 printf("<title>\n");
390 printf("</title>\n");
391 }

References indent_post, indent_pre and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocSimpleList & l)
inline

Definition at line 392 of file printdocvisitor.h.

393 {
394 indent_pre();
395 printf("<ul>\n");
398 printf("</ul>\n");
399 }

References indent_post, indent_pre and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocSimpleListItem & li)
inline

Definition at line 400 of file printdocvisitor.h.

401 {
402 indent_pre();
403 printf("<li>\n");
404 if (li.paragraph())
405 {
406 visit(*this,*li.paragraph());
407 }
409 printf("</li>\n");
410 }

References indent_post, indent_pre and DocSimpleListItem::paragraph.

operator()()

void PrintDocVisitor::operator() (const DocSection & s)
inline

Definition at line 411 of file printdocvisitor.h.

411 void operator()(const DocSection &s)
412 {
413 indent_pre();
414 printf("<sect%d>\n",s.level());
415 if (s.title())
416 {
417 std::visit(*this, *s.title());
418 }
421 printf("</sect%d>\n",s.level());
422 }

References indent_post, indent_pre, DocSection::level, DocSection::title and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocHtmlList & s)
inline

Definition at line 423 of file printdocvisitor.h.

423 void operator()(const DocHtmlList &s)
424 {
425 indent_pre();
427 {
428 printf("<ol");
429 for (const auto &opt : s.attribs())
430 {
431 printf(" %s=\"%s\"",qPrint(opt.name),qPrint(opt.value));
432 }
433 printf(">\n");
434 }
435 else
436 {
437 printf("<ul>\n");
438 }
442 {
443 printf("</ol>\n");
444 }
445 else
446 {
447 printf("</ul>\n");
448 }
449 }

References DocHtmlList::attribs, indent_post, indent_pre, DocHtmlList::Ordered, qPrint, DocHtmlList::type and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocHtmlListItem & li)
inline

Definition at line 450 of file printdocvisitor.h.

451 {
452 indent_pre();
453 printf("<li");
454 for (const auto &opt : li.attribs())
455 {
456 printf(" %s=\"%s\"",qPrint(opt.name),qPrint(opt.value));
457 }
458 printf(">\n");
459 visitChildren(li);
461 printf("</li>\n");
462 }

References DocHtmlListItem::attribs, indent_post, indent_pre, qPrint and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocHtmlDescList & l)
inline

Definition at line 463 of file printdocvisitor.h.

464 {
465 indent_pre();
466 printf("<dl>\n");
469 printf("</dl>\n");
470 }

References indent_post, indent_pre and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocHtmlDescTitle & dt)
inline

Definition at line 471 of file printdocvisitor.h.

472 {
473 indent_pre();
474 printf("<dt>\n");
475 visitChildren(dt);
477 printf("</dt>\n");
478 }

References indent_post, indent_pre and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocHtmlDescData & dd)
inline

Definition at line 479 of file printdocvisitor.h.

480 {
481 indent_pre();
482 printf("<dd>\n");
483 visitChildren(dd);
485 printf("</dd>\n");
486 }

References indent_post, indent_pre and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocHtmlTable & t)
inline

Definition at line 487 of file printdocvisitor.h.

487 void operator()(const DocHtmlTable &t)
488 {
489 indent_pre();
490 printf("<table rows=\"%zu\" cols=\"%zu\">\n",
491 t.numRows(),t.numColumns());
493 if (t.caption())
494 {
495 std::visit(*this, *t.caption());
496 }
498 printf("</table>\n");
499 }

References DocHtmlTable::caption, indent_post, indent_pre, DocHtmlTable::numColumns, DocHtmlTable::numRows and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocHtmlRow & tr)
inline

Definition at line 500 of file printdocvisitor.h.

500 void operator()(const DocHtmlRow &tr)
501 {
502 indent_pre();
503 printf("<tr>\n");
504 visitChildren(tr);
506 printf("</tr>\n");
507 }

References indent_post, indent_pre and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocHtmlCell & c)
inline

Definition at line 508 of file printdocvisitor.h.

508 void operator()(const DocHtmlCell &c)
509 {
510 indent_pre();
511 printf("<t%c>\n",c.isHeading()?'h':'d');
514 printf("</t%c>\n",c.isHeading()?'h':'d');
515 }

References indent_post, indent_pre, DocHtmlCell::isHeading and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocHtmlCaption & c)
inline

Definition at line 516 of file printdocvisitor.h.

517 {
518 indent_pre();
519 printf("<caption>\n");
522 printf("</caption>\n");
523 }

References indent_post, indent_pre and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocInternal & i)
inline

Definition at line 524 of file printdocvisitor.h.

524 void operator()(const DocInternal &i)
525 {
526 indent_pre();
527 printf("<internal>\n");
530 printf("</internal>\n");
531 }

References indent_post, indent_pre and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocHRef & href)
inline

Definition at line 532 of file printdocvisitor.h.

532 void operator()(const DocHRef &href)
533 {
534 indent_pre();
535 printf("<a url=\"%s\">\n",qPrint(href.url()));
536 visitChildren(href);
538 printf("</a>\n");
539 }

References indent_post, indent_pre, qPrint, DocHRef::url and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocHtmlSummary & summary)
inline

Definition at line 540 of file printdocvisitor.h.

540 void operator()(const DocHtmlSummary &summary)
541 {
542 indent_pre();
543 printf("<summary");
544 for (const auto &opt : summary.attribs())
545 {
546 printf(" %s=\"%s\"",qPrint(opt.name),qPrint(opt.value));
547 }
548 printf(">\n");
549 visitChildren(summary);
551 printf("</summary>\n");
552 }

References DocHtmlSummary::attribs, indent_post, indent_pre, qPrint and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocHtmlDetails & details)
inline

Definition at line 553 of file printdocvisitor.h.

554 {
555 indent_pre();
556 printf("<details");
557 for (const auto &opt : details.attribs())
558 {
559 printf(" %s=\"%s\"",qPrint(opt.name),qPrint(opt.value));
560 }
561 printf(">\n");
562 auto summary = details.summary();
563 if (summary)
564 {
565 std::visit(*this,*summary);
566 }
569 printf("</details>\n");
570 }

References indent_post, indent_pre, qPrint and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocHtmlHeader & header)
inline

Definition at line 571 of file printdocvisitor.h.

571 void operator()(const DocHtmlHeader &header)
572 {
573 indent_pre();
574 printf("<h%d>\n",header.level());
575 visitChildren(header);
577 printf("</h%d>\n",header.level());
578 }

References indent_post, indent_pre, DocHtmlHeader::level and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocImage & img)
inline

Definition at line 579 of file printdocvisitor.h.

579 void operator()(const DocImage &img)
580 {
581 indent_pre();
582 printf("<image src=\"%s\" type=\"",qPrint(img.name()));
583 switch(img.type())
584 {
585 case DocImage::Html: printf("html"); break;
586 case DocImage::Latex: printf("latex"); break;
587 case DocImage::Rtf: printf("rtf"); break;
588 case DocImage::DocBook: printf("docbook"); break;
589 case DocImage::Xml: printf("xml"); break;
590 }
591 printf("\" %s %s inline=\"%s\">\n",qPrint(img.width()),qPrint(img.height()),img.isInlineImage() ? "yes" : "no");
592 visitChildren(img);
594 printf("</image>\n");
595 }

References DocImage::DocBook, DocImage::height, DocImage::Html, indent_post, indent_pre, DocImage::isInlineImage, DocImage::Latex, DocImage::name, qPrint, DocImage::Rtf, DocImage::type, visitChildren, DocImage::width and DocImage::Xml.

operator()()

void PrintDocVisitor::operator() (const DocDotFile & df)
inline

Definition at line 596 of file printdocvisitor.h.

596 void operator()(const DocDotFile &df)
597 {
598 indent_pre();
599 printf("<dotfile src=\"%s\">\n",qPrint(df.name()));
600 visitChildren(df);
602 printf("</dotfile>\n");
603 }

References indent_post, indent_pre, DocDiagramFileBase::name, qPrint and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocMscFile & df)
inline

Definition at line 604 of file printdocvisitor.h.

604 void operator()(const DocMscFile &df)
605 {
606 indent_pre();
607 printf("<mscfile src=\"%s\">\n",qPrint(df.name()));
608 visitChildren(df);
610 printf("</mscfile>\n");
611 }

References indent_post, indent_pre, DocDiagramFileBase::name, qPrint and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocDiaFile & df)
inline

Definition at line 612 of file printdocvisitor.h.

612 void operator()(const DocDiaFile &df)
613 {
614 indent_pre();
615 printf("<diafile src=\"%s\">\n",qPrint(df.name()));
616 visitChildren(df);
618 printf("</diafile>\n");
619 }

References indent_post, indent_pre, DocDiagramFileBase::name, qPrint and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocPlantUmlFile & df)
inline

Definition at line 620 of file printdocvisitor.h.

621 {
622 indent_pre();
623 printf("<plantumlfile src=\"%s\">\n",qPrint(df.name()));
624 visitChildren(df);
626 printf("</plantumlfile>\n");
627 }

References indent_post, indent_pre, DocDiagramFileBase::name, qPrint and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocLink & lnk)
inline

Definition at line 628 of file printdocvisitor.h.

628 void operator()(const DocLink &lnk)
629 {
630 indent_pre();
631 printf("<link ref=\"%s\" file=\"%s\" anchor=\"%s\">\n",
632 qPrint(lnk.ref()),qPrint(lnk.file()),qPrint(lnk.anchor()));
633 visitChildren(lnk);
635 printf("</link>\n");
636 }

References DocLink::anchor, DocLink::file, indent_post, indent_pre, qPrint, DocLink::ref and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocRef & ref)
inline

Definition at line 637 of file printdocvisitor.h.

637 void operator()(const DocRef &ref)
638 {
639 indent_pre();
640 printf("<ref ref=\"%s\" file=\"%s\" "
641 "anchor=\"%s\" targetTitle=\"%s\""
642 " hasLinkText=\"%s\" refToAnchor=\"%s\" refToSection=\"%s\" refToTable=\"%s\">\n",
643 qPrint(ref.ref()),qPrint(ref.file()),qPrint(ref.anchor()),
644 qPrint(ref.targetTitle()),ref.hasLinkText()?"yes":"no",
645 ref.refToAnchor()?"yes":"no", ref.refToSection()?"yes":"no",
646 ref.refToTable()?"yes":"no");
647 visitChildren(ref);
649 printf("</ref>\n");
650 }

References DocRef::anchor, DocRef::file, DocRef::hasLinkText, indent_post, indent_pre, qPrint, DocRef::ref, DocRef::refToAnchor, DocRef::refToSection, DocRef::refToTable, DocRef::targetTitle and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocSecRefItem & ref)
inline

Definition at line 651 of file printdocvisitor.h.

651 void operator()(const DocSecRefItem &ref)
652 {
653 indent_pre();
654 printf("<secrefitem target=\"%s\">\n",qPrint(ref.target()));
655 visitChildren(ref);
657 printf("</secrefitem>\n");
658 }

References indent_post, indent_pre, qPrint, DocSecRefItem::target and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocSecRefList & rl)
inline

Definition at line 659 of file printdocvisitor.h.

659 void operator()(const DocSecRefList &rl)
660 {
661 indent_pre();
662 printf("<secreflist>\n");
663 visitChildren(rl);
665 printf("</secreflist>\n");
666 }

References indent_post, indent_pre and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocParamList & pl)
inline

Definition at line 667 of file printdocvisitor.h.

667 void operator()(const DocParamList &pl)
668 {
669 indent_pre();
670 printf("<parameters>");
671 if (!pl.parameters().empty())
672 {
673 printf("<param>");
674 for (const auto &param : pl.parameters())
675 {
676 std::visit(*this,param);
677 }
678 printf("</param>");
679 }
680 printf("\n");
682 printf("</parameters>\n");
683 }

References GrowVector< T >::empty, indent_post, indent_pre and DocParamList::parameters.

operator()()

void PrintDocVisitor::operator() (const DocParamSect & ps)
inline

Definition at line 684 of file printdocvisitor.h.

684 void operator()(const DocParamSect &ps)
685 {
686 indent_pre();
687 printf("<paramsect type=");
688 switch (ps.type())
689 {
690 case DocParamSect::Param: printf("param"); break;
691 case DocParamSect::RetVal: printf("retval"); break;
692 case DocParamSect::Exception: printf("exception"); break;
693 case DocParamSect::TemplateParam: printf("templateparam"); break;
694 case DocParamSect::Unknown: printf("unknown"); break;
695 }
696 printf(">\n");
697 visitChildren(ps);
699 printf("</paramsect>\n");
700 }

References DocParamSect::Exception, indent_post, indent_pre, DocParamSect::Param, DocParamSect::RetVal, DocParamSect::TemplateParam, DocParamSect::type, DocParamSect::Unknown and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocXRefItem & x)
inline

Definition at line 701 of file printdocvisitor.h.

701 void operator()(const DocXRefItem &x)
702 {
703 indent_pre();
704 printf("<xrefitem file=\"%s\" anchor=\"%s\" title=\"%s\">\n",
705 qPrint(x.file()),qPrint(x.anchor()),qPrint(x.title()));
708 printf("</xrefitem>\n");
709 }

References DocXRefItem::anchor, DocXRefItem::file, indent_post, indent_pre, qPrint, DocXRefItem::title and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocInternalRef & r)
inline

Definition at line 710 of file printdocvisitor.h.

711 {
712 indent_pre();
713 printf("<internalref file=%s anchor=%s>\n",qPrint(r.file()),qPrint(r.anchor()));
716 printf("</internalref>\n");
717 }

References DocInternalRef::anchor, DocInternalRef::file, indent_post, indent_pre, qPrint and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocText & t)
inline

Definition at line 718 of file printdocvisitor.h.

718 void operator()(const DocText &t)
719 {
720 indent_pre();
721 printf("<text>\n");
724 printf("</text>\n");
725 }

References indent_post, indent_pre and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocHtmlBlockQuote & q)
inline

Definition at line 726 of file printdocvisitor.h.

727 {
728 indent_pre();
729 printf("<blockquote>\n");
732 printf("</blockquote>\n");
733 }

References indent_post, indent_pre and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocVhdlFlow & vf)
inline

Definition at line 734 of file printdocvisitor.h.

734 void operator()(const DocVhdlFlow &vf)
735 {
736 indent_pre();
737 printf("<vhdlflow>\n");
738 visitChildren(vf);
740 printf("</vhdlflow>\n");
741 }

References indent_post, indent_pre and visitChildren.

operator()()

void PrintDocVisitor::operator() (const DocParBlock & pb)
inline

Definition at line 742 of file printdocvisitor.h.

742 void operator()(const DocParBlock &pb)
743 {
744 indent_pre();
745 printf("<parblock>\n");
746 visitChildren(pb);
748 printf("</parblock>\n");
749 }

References indent_post, indent_pre and visitChildren.

Public Member Functions

visitChildren()

template <class T>
void PrintDocVisitor::visitChildren (const T & t)
inline

Private Member Functions

indent()

void PrintDocVisitor::indent ()
inline

Definition at line 753 of file printdocvisitor.h.

753 void indent()
754 {
755 if (m_needsEnter) printf("\n");
756 for (int i=0;i<m_indent;i++) printf(".");
758 }

References FALSE, m_indent and m_needsEnter.

Referenced by indent_leaf, indent_post and indent_pre.

indent_leaf()

void PrintDocVisitor::indent_leaf ()
inline

indent_post()

indent_pre()

Private Member Attributes

m_indent

int PrintDocVisitor::m_indent

Definition at line 776 of file printdocvisitor.h.

Referenced by indent, indent_post, indent_pre and PrintDocVisitor.

m_insidePre

bool PrintDocVisitor::m_insidePre

Definition at line 778 of file printdocvisitor.h.

Referenced by operator() and PrintDocVisitor.

m_needsEnter

bool PrintDocVisitor::m_needsEnter

Definition at line 777 of file printdocvisitor.h.

Referenced by indent, indent_leaf and PrintDocVisitor.


The documentation for this class was generated from the following file:


Generated via doxygen2docusaurus by Doxygen 1.14.0.