Doxygen
Loading...
Searching...
No Matches
PrintDocVisitor Class Reference

#include <src/printdocvisitor.h>

Public Member Functions

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

Private Member Functions

void indent ()
void indent_leaf ()
void indent_pre ()
void indent_post ()

Private Attributes

int m_indent
bool m_needsEnter
bool m_insidePre

Detailed Description

Visitor implementation for pretty printing

Definition at line 28 of file printdocvisitor.h.

Constructor & Destructor Documentation

◆ PrintDocVisitor()

PrintDocVisitor::PrintDocVisitor ( )
inline

Definition at line 31 of file printdocvisitor.h.

References FALSE, m_indent, m_insidePre, and m_needsEnter.

Member Function Documentation

◆ indent()

void PrintDocVisitor::indent ( )
inlineprivate

Definition at line 763 of file printdocvisitor.h.

764 {
765 if (m_needsEnter) printf("\n");
766 for (int i=0;i<m_indent;i++) printf(".");
768 }

References FALSE, m_indent, and m_needsEnter.

Referenced by indent_leaf(), indent_post(), and indent_pre().

◆ indent_leaf()

void PrintDocVisitor::indent_leaf ( )
inlineprivate

◆ indent_post()

◆ indent_pre()

◆ operator()() [1/59]

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

Definition at line 198 of file printdocvisitor.h.

199 {
200 indent_leaf();
201 printf("<anchor name=\"%s\"/>",qPrint(a.anchor()));
202 }
QCString anchor() const
Definition docnode.h:232
const char * qPrint(const char *s)
Definition qcstring.h:687

References DocAnchor::anchor(), indent_leaf(), and qPrint().

◆ operator()() [2/59]

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

Definition at line 293 of file printdocvisitor.h.

294 {
295 indent_pre();
296 if (l.isEnumList())
297 {
298 printf("<ol>\n");
299 }
300 else
301 {
302 printf("<ul>\n");
303 }
304 visitChildren(l);
305 indent_post();
306 if (l.isEnumList())
307 {
308 printf("</ol>\n");
309 }
310 else
311 {
312 printf("</ul>\n");
313 }
314 }
bool isEnumList() const
Definition docnode.h:580
void visitChildren(const T &t)

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

◆ operator()() [3/59]

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

Definition at line 315 of file printdocvisitor.h.

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

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

◆ operator()() [4/59]

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

Definition at line 256 of file printdocvisitor.h.

257 {
258 indent_leaf();
259 auto opt = cite.option();
260 QCString txt;
261 if (!cite.file().isEmpty())
262 {
263 txt = cite.getText();
264 }
265 else
266 {
267 if (!opt.noPar()) txt += "[";
268 txt += cite.target();
269 if (!opt.noPar()) txt += "]";
270 }
271 printf("<cite ref=\"%s\" file=\"%s\" "
272 "anchor=\"%s\" text=\"%s\""
273 "/>\n",
274 qPrint(cite.ref()),qPrint(cite.file()),qPrint(cite.anchor()),
275 qPrint(txt));
276 }
QCString getText() const
Definition docnode.cpp:974
CiteInfoOption option() const
Definition docnode.h:253
QCString target() const
Definition docnode.h:252
QCString anchor() const
Definition docnode.h:251
QCString ref() const
Definition docnode.h:250
QCString file() const
Definition docnode.h:248
bool isEmpty() const
Returns TRUE iff the string is empty.
Definition qcstring.h:163

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

◆ operator()() [5/59]

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

Definition at line 614 of file printdocvisitor.h.

615 {
616 indent_pre();
617 printf("<diafile src=\"%s\">\n",qPrint(df.name()));
618 visitChildren(df);
619 indent_post();
620 printf("</diafile>\n");
621 }
QCString name() const
Definition docnode.h:684

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

◆ operator()() [6/59]

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

Definition at line 598 of file printdocvisitor.h.

599 {
600 indent_pre();
601 printf("<dotfile src=\"%s\">\n",qPrint(df.name()));
602 visitChildren(df);
603 indent_post();
604 printf("</dotfile>\n");
605 }

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

◆ operator()() [7/59]

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

Definition at line 70 of file printdocvisitor.h.

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 }
int index() const
Definition docnode.h:345
QCString name() const
Definition docnode.h:344
const char * name(int index) const
Access routine to the name of the Emoji entity.
Definition emoji.cpp:2026
static EmojiEntityMapper & instance()
Returns the one and only instance of the Emoji entity mapper.
Definition emoji.cpp:1978

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

◆ operator()() [8/59]

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

Definition at line 241 of file printdocvisitor.h.

242 {
243 indent_leaf();
244 printf("<formula name=%s text=%s/>",qPrint(f.name()),qPrint(f.text()));
245 }
QCString text() const
Definition docnode.h:533
QCString name() const
Definition docnode.h:532

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

◆ operator()() [9/59]

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

Definition at line 93 of file printdocvisitor.h.

94 {
96 printf("<hr>");
97 }

References indent_leaf().

◆ operator()() [10/59]

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

Definition at line 534 of file printdocvisitor.h.

535 {
536 indent_pre();
537 printf("<a url=\"%s\">\n",qPrint(href.url()));
538 visitChildren(href);
539 indent_post();
540 printf("</a>\n");
541 }
QCString url() const
Definition docnode.h:839

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

◆ operator()() [11/59]

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

Definition at line 736 of file printdocvisitor.h.

737 {
738 indent_pre();
739 printf("<blockquote>\n");
740 visitChildren(q);
741 indent_post();
742 printf("</blockquote>\n");
743 }

References indent_post(), indent_pre(), and visitChildren().

◆ operator()() [12/59]

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

Definition at line 518 of file printdocvisitor.h.

519 {
520 indent_pre();
521 printf("<caption>\n");
522 visitChildren(c);
523 indent_post();
524 printf("</caption>\n");
525 }

References indent_post(), indent_pre(), and visitChildren().

◆ operator()() [13/59]

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

Definition at line 510 of file printdocvisitor.h.

511 {
512 indent_pre();
513 printf("<t%c>\n",c.isHeading()?'h':'d');
514 visitChildren(c);
515 indent_post();
516 printf("</t%c>\n",c.isHeading()?'h':'d');
517 }
bool isHeading() const
Definition docnode.h:1206

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

◆ operator()() [14/59]

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

Definition at line 481 of file printdocvisitor.h.

482 {
483 indent_pre();
484 printf("<dd>\n");
485 visitChildren(dd);
486 indent_post();
487 printf("</dd>\n");
488 }

References indent_post(), indent_pre(), and visitChildren().

◆ operator()() [15/59]

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

Definition at line 465 of file printdocvisitor.h.

466 {
467 indent_pre();
468 printf("<dl>\n");
469 visitChildren(l);
470 indent_post();
471 printf("</dl>\n");
472 }

References indent_post(), indent_pre(), and visitChildren().

◆ operator()() [16/59]

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

Definition at line 473 of file printdocvisitor.h.

474 {
475 indent_pre();
476 printf("<dt>\n");
477 visitChildren(dt);
478 indent_post();
479 printf("</dt>\n");
480 }

References indent_post(), indent_pre(), and visitChildren().

◆ operator()() [17/59]

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

Definition at line 555 of file printdocvisitor.h.

556 {
557 indent_pre();
558 printf("<details");
559 for (const auto &opt : details.attribs())
560 {
561 printf(" %s=\"%s\"",qPrint(opt.name),qPrint(opt.value));
562 }
563 printf(">\n");
564 auto summary = details.summary();
565 if (summary)
566 {
567 std::visit(*this,*summary);
568 }
569 visitChildren(details);
570 indent_post();
571 printf("</details>\n");
572 }
const HtmlAttribList & attribs() const
Definition docnode.h:870
const DocNodeVariant * summary() const
Definition docnode.h:873

References indent_post(), indent_pre(), qPrint(), and visitChildren().

◆ operator()() [18/59]

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

Definition at line 573 of file printdocvisitor.h.

574 {
575 indent_pre();
576 printf("<h%d>\n",header.level());
577 visitChildren(header);
578 indent_post();
579 printf("</h%d>\n",header.level());
580 }
int level() const
Definition docnode.h:886

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

◆ operator()() [19/59]

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

Definition at line 425 of file printdocvisitor.h.

426 {
427 indent_pre();
428 if (s.type()==DocHtmlList::Ordered)
429 {
430 printf("<ol");
431 for (const auto &opt : s.attribs())
432 {
433 printf(" %s=\"%s\"",qPrint(opt.name),qPrint(opt.value));
434 }
435 printf(">\n");
436 }
437 else
438 {
439 printf("<ul>\n");
440 }
441 visitChildren(s);
442 indent_post();
443 if (s.type()==DocHtmlList::Ordered)
444 {
445 printf("</ol>\n");
446 }
447 else
448 {
449 printf("</ul>\n");
450 }
451 }
const HtmlAttribList & attribs() const
Definition docnode.h:1015
Type type() const
Definition docnode.h:1014

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

◆ operator()() [20/59]

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

Definition at line 452 of file printdocvisitor.h.

453 {
454 indent_pre();
455 printf("<li");
456 for (const auto &opt : li.attribs())
457 {
458 printf(" %s=\"%s\"",qPrint(opt.name),qPrint(opt.value));
459 }
460 printf(">\n");
461 visitChildren(li);
462 indent_post();
463 printf("</li>\n");
464 }
const HtmlAttribList & attribs() const
Definition docnode.h:1176

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

◆ operator()() [21/59]

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

Definition at line 502 of file printdocvisitor.h.

503 {
504 indent_pre();
505 printf("<tr>\n");
506 visitChildren(tr);
507 indent_post();
508 printf("</tr>\n");
509 }

References indent_post(), indent_pre(), and visitChildren().

◆ operator()() [22/59]

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

Definition at line 542 of file printdocvisitor.h.

543 {
544 indent_pre();
545 printf("<summary");
546 for (const auto &opt : summary.attribs())
547 {
548 printf(" %s=\"%s\"",qPrint(opt.name),qPrint(opt.value));
549 }
550 printf(">\n");
551 visitChildren(summary);
552 indent_post();
553 printf("</summary>\n");
554 }
const HtmlAttribList & attribs() const
Definition docnode.h:857

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

◆ operator()() [23/59]

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

Definition at line 489 of file printdocvisitor.h.

490 {
491 indent_pre();
492 printf("<table rows=\"%zu\" cols=\"%zu\">\n",
493 t.numRows(),t.numColumns());
494 visitChildren(t);
495 if (t.caption())
496 {
497 std::visit(*this, *t.caption());
498 }
499 indent_post();
500 printf("</table>\n");
501 }
size_t numRows() const
Definition docnode.h:1279
size_t numColumns() const
Definition docnode.h:1284
const DocNodeVariant * caption() const
Definition docnode.cpp:2250

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

◆ operator()() [24/59]

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

Definition at line 581 of file printdocvisitor.h.

582 {
583 indent_pre();
584 printf("<image src=\"%s\" type=\"",qPrint(img.name()));
585 switch(img.type())
586 {
587 case DocImage::Html: printf("html"); break;
588 case DocImage::Latex: printf("latex"); break;
589 case DocImage::Rtf: printf("rtf"); break;
590 case DocImage::DocBook: printf("docbook"); break;
591 case DocImage::Xml: printf("xml"); break;
592 }
593 printf("\" %s %s inline=\"%s\">\n",qPrint(img.width()),qPrint(img.height()),img.isInlineImage() ? "yes" : "no");
594 visitChildren(img);
595 indent_post();
596 printf("</image>\n");
597 }
QCString name() const
Definition docnode.h:648
QCString height() const
Definition docnode.h:651
Type type() const
Definition docnode.h:647
QCString width() const
Definition docnode.h:650
@ DocBook
Definition docnode.h:644
bool isInlineImage() const
Definition docnode.h:654

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()() [25/59]

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

Definition at line 203 of file printdocvisitor.h.

204 {
205 indent_leaf();
206 printf("<include file=\"%s\" type=\"",qPrint(inc.file()));
207 switch(inc.type())
208 {
209 case DocInclude::Include: printf("include"); break;
210 case DocInclude::IncWithLines: printf("incwithlines"); break;
211 case DocInclude::DontInclude: printf("dontinclude"); break;
212 case DocInclude::DontIncWithLines: printf("dontinwithlines"); break;
214 printf("htmlinclude");
215 if (inc.isBlock()) printf(" block=\"yes\"");
216 break;
217 case DocInclude::LatexInclude: printf("latexinclude"); break;
218 case DocInclude::RtfInclude: printf("rtfinclude"); break;
219 case DocInclude::DocbookInclude: printf("docbookinclude"); break;
220 case DocInclude::ManInclude: printf("maninclude"); break;
221 case DocInclude::XmlInclude: printf("xmlinclude"); break;
222 case DocInclude::VerbInclude: printf("verbinclude"); break;
223 case DocInclude::Snippet: printf("snippet"); break;
224 case DocInclude::SnippetWithLines: printf("snipwithlines"); break;
225 }
226 printf("\"/>");
227 }
bool isBlock() const
Definition docnode.h:458
@ LatexInclude
Definition docnode.h:437
@ SnippetWithLines
Definition docnode.h:438
@ DontIncWithLines
Definition docnode.h:439
@ IncWithLines
Definition docnode.h:438
@ HtmlInclude
Definition docnode.h:437
@ VerbInclude
Definition docnode.h:437
@ DontInclude
Definition docnode.h:437
@ DocbookInclude
Definition docnode.h:439
Type type() const
Definition docnode.h:451
QCString file() const
Definition docnode.h:449

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()() [26/59]

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

Definition at line 228 of file printdocvisitor.h.

229 {
230 indent_leaf();
231 printf("<incoperator pattern=\"%s\" type=\"",qPrint(op.pattern()));
232 switch(op.type())
233 {
234 case DocIncOperator::Line: printf("line"); break;
235 case DocIncOperator::Skip: printf("skip"); break;
236 case DocIncOperator::SkipLine: printf("skipline"); break;
237 case DocIncOperator::Until: printf("until"); break;
238 }
239 printf("\"/>");
240 }
Type type() const
Definition docnode.h:485
QCString pattern() const
Definition docnode.h:500

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

◆ operator()() [27/59]

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

Definition at line 246 of file printdocvisitor.h.

247 {
248 indent_leaf();
249 printf("<indexentry>%s</indexentry\n",qPrint(i.entry()));
250 }
QCString entry() const
Definition docnode.h:559

References DocIndexEntry::entry(), indent_leaf(), and qPrint().

◆ operator()() [28/59]

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

Definition at line 526 of file printdocvisitor.h.

527 {
528 indent_pre();
529 printf("<internal>\n");
530 visitChildren(i);
531 indent_post();
532 printf("</internal>\n");
533 }

References indent_post(), indent_pre(), and visitChildren().

◆ operator()() [29/59]

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

Definition at line 720 of file printdocvisitor.h.

721 {
722 indent_pre();
723 printf("<internalref file=%s anchor=%s>\n",qPrint(r.file()),qPrint(r.anchor()));
724 visitChildren(r);
725 indent_post();
726 printf("</internalref>\n");
727 }
QCString file() const
Definition docnode.h:820
QCString anchor() const
Definition docnode.h:822

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

◆ operator()() [30/59]

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

Definition at line 88 of file printdocvisitor.h.

89 {
91 printf("<br/>");
92 }

References indent_leaf().

◆ operator()() [31/59]

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

Definition at line 638 of file printdocvisitor.h.

639 {
640 indent_pre();
641 printf("<link ref=\"%s\" file=\"%s\" anchor=\"%s\">\n",
642 qPrint(lnk.ref()),qPrint(lnk.file()),qPrint(lnk.anchor()));
643 visitChildren(lnk);
644 indent_post();
645 printf("</link>\n");
646 }

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

◆ operator()() [32/59]

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

Definition at line 40 of file printdocvisitor.h.

41 {
43 printf("%s",qPrint(w.word()));
44 }
QCString word() const
Definition docnode.h:170

References indent_leaf(), qPrint(), and DocLinkedWord::word().

◆ operator()() [33/59]

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

Definition at line 630 of file printdocvisitor.h.

631 {
632 indent_pre();
633 printf("<mermaidfile src=\"%s\">\n",qPrint(df.name()));
634 visitChildren(df);
635 indent_post();
636 printf("</mermaidfile>\n");
637 }

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

◆ operator()() [34/59]

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

Definition at line 606 of file printdocvisitor.h.

607 {
608 indent_pre();
609 printf("<mscfile src=\"%s\">\n",qPrint(df.name()));
610 visitChildren(df);
611 indent_post();
612 printf("</mscfile>\n");
613 }

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

◆ operator()() [35/59]

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

Definition at line 335 of file printdocvisitor.h.

336 {
337 indent_pre();
338 printf("<para>\n");
339 visitChildren(p);
340 indent_post();
341 printf("</para>\n");
342 }

References indent_post(), indent_pre(), and visitChildren().

◆ operator()() [36/59]

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

Definition at line 677 of file printdocvisitor.h.

678 {
679 indent_pre();
680 printf("<parameters>");
681 if (!pl.parameters().empty())
682 {
683 printf("<param>");
684 for (const auto &param : pl.parameters())
685 {
686 std::visit(*this,param);
687 }
688 printf("</param>");
689 }
690 printf("\n");
691 indent_post();
692 printf("</parameters>\n");
693 }
const DocNodeList & parameters() const
Definition docnode.h:1135
bool empty() const
checks whether the container is empty
Definition growvector.h:140

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

◆ operator()() [37/59]

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

Definition at line 694 of file printdocvisitor.h.

695 {
696 indent_pre();
697 printf("<paramsect type=");
698 switch (ps.type())
699 {
700 case DocParamSect::Param: printf("param"); break;
701 case DocParamSect::RetVal: printf("retval"); break;
702 case DocParamSect::Exception: printf("exception"); break;
703 case DocParamSect::TemplateParam: printf("templateparam"); break;
704 case DocParamSect::Unknown: printf("unknown"); break;
705 }
706 printf(">\n");
707 visitChildren(ps);
708 indent_post();
709 printf("</paramsect>\n");
710 }
Type type() const
Definition docnode.h:1077

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

◆ operator()() [38/59]

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

Definition at line 752 of file printdocvisitor.h.

753 {
754 indent_pre();
755 printf("<parblock>\n");
756 visitChildren(pb);
757 indent_post();
758 printf("</parblock>\n");
759 }

References indent_post(), indent_pre(), and visitChildren().

◆ operator()() [39/59]

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

Definition at line 622 of file printdocvisitor.h.

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

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

◆ operator()() [40/59]

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

Definition at line 647 of file printdocvisitor.h.

648 {
649 indent_pre();
650 printf("<ref ref=\"%s\" file=\"%s\" "
651 "anchor=\"%s\" targetTitle=\"%s\""
652 " hasLinkText=\"%s\" refToAnchor=\"%s\" refToSection=\"%s\" refToTable=\"%s\">\n",
653 qPrint(ref.ref()),qPrint(ref.file()),qPrint(ref.anchor()),
654 qPrint(ref.targetTitle()),ref.hasLinkText()?"yes":"no",
655 ref.refToAnchor()?"yes":"no", ref.refToSection()?"yes":"no",
656 ref.refToTable()?"yes":"no");
657 visitChildren(ref);
658 indent_post();
659 printf("</ref>\n");
660 }
QCString anchor() const
Definition docnode.h:794
QCString targetTitle() const
Definition docnode.h:795
bool refToTable() const
Definition docnode.h:800
QCString file() const
Definition docnode.h:791
bool refToAnchor() const
Definition docnode.h:798
QCString ref() const
Definition docnode.h:793
bool refToSection() const
Definition docnode.h:799
bool hasLinkText() const
Definition docnode.h:797

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()() [41/59]

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

Definition at line 343 of file printdocvisitor.h.

344 {
345 indent_pre();
346 printf("<root>\n");
347 visitChildren(r);
348 indent_post();
349 printf("</root>\n");
350 }

References indent_post(), indent_pre(), and visitChildren().

◆ operator()() [42/59]

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

Definition at line 661 of file printdocvisitor.h.

662 {
663 indent_pre();
664 printf("<secrefitem target=\"%s\">\n",qPrint(ref.target()));
665 visitChildren(ref);
666 indent_post();
667 printf("</secrefitem>\n");
668 }
QCString target() const
Definition docnode.h:947

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

◆ operator()() [43/59]

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

Definition at line 669 of file printdocvisitor.h.

670 {
671 indent_pre();
672 printf("<secreflist>\n");
673 visitChildren(rl);
674 indent_post();
675 printf("</secreflist>\n");
676 }

References indent_post(), indent_pre(), and visitChildren().

◆ operator()() [44/59]

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

Definition at line 413 of file printdocvisitor.h.

414 {
415 indent_pre();
416 printf("<sect%d>\n",s.level());
417 if (s.title())
418 {
419 std::visit(*this, *s.title());
420 }
421 visitChildren(s);
422 indent_post();
423 printf("</sect%d>\n",s.level());
424 }
int level() const
Definition docnode.h:927
const DocNodeVariant * title() const
Definition docnode.h:928

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

◆ operator()() [45/59]

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

Definition at line 277 of file printdocvisitor.h.

278 {
279 indent_leaf();
280 printf("<sep/>");
281 }

References indent_leaf().

◆ operator()() [46/59]

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

Definition at line 394 of file printdocvisitor.h.

395 {
396 indent_pre();
397 printf("<ul>\n");
398 visitChildren(l);
399 indent_post();
400 printf("</ul>\n");
401 }

References indent_post(), indent_pre(), and visitChildren().

◆ operator()() [47/59]

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

Definition at line 402 of file printdocvisitor.h.

403 {
404 indent_pre();
405 printf("<li>\n");
406 if (li.paragraph())
407 {
408 visit(*this,*li.paragraph());
409 }
410 indent_post();
411 printf("</li>\n");
412 }
const DocNodeVariant * paragraph() const
Definition docnode.h:1163

References indent_post(), indent_pre(), and DocSimpleListItem::paragraph().

◆ operator()() [48/59]

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

Definition at line 351 of file printdocvisitor.h.

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

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()() [49/59]

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

Definition at line 251 of file printdocvisitor.h.

252 {
253 indent_leaf();
254 printf("<simplesectsep/>");
255 }

References indent_leaf().

◆ operator()() [50/59]

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

Definition at line 98 of file printdocvisitor.h.

99 {
100 indent_leaf();
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 }
Style style() const
Definition docnode.h:307
bool enable() const
Definition docnode.h:309

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()() [51/59]

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

Definition at line 57 of file printdocvisitor.h.

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 }
HtmlEntityMapper::SymType symbol() const
Definition docnode.h:332
static HtmlEntityMapper & instance()
Returns the one and only instance of the HTML entity mapper.
const char * utf8(SymType symb, bool useInPrintf=FALSE) const
Access routine to the UTF8 code of the HTML entity.

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

◆ operator()() [52/59]

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

Definition at line 728 of file printdocvisitor.h.

729 {
730 indent_pre();
731 printf("<text>\n");
732 visitChildren(t);
733 indent_post();
734 printf("</text>\n");
735 }

References indent_post(), indent_pre(), and visitChildren().

◆ operator()() [53/59]

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

Definition at line 386 of file printdocvisitor.h.

387 {
388 indent_pre();
389 printf("<title>\n");
390 visitChildren(t);
391 indent_post();
392 printf("</title>\n");
393 }

References indent_post(), indent_pre(), and visitChildren().

◆ operator()() [54/59]

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

Definition at line 83 of file printdocvisitor.h.

84 {
86 printf("%s",qPrint(u.url()));
87 }
QCString url() const
Definition docnode.h:192

References indent_leaf(), qPrint(), and DocURL::url().

◆ operator()() [55/59]

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

Definition at line 159 of file printdocvisitor.h.

160 {
161 indent_leaf();
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 case DocVerbatim::Mermaid: printf("<mermaid>"); break;
178 }
179 printf("%s",qPrint(s.text()));
180 switch(s.type())
181 {
182 case DocVerbatim::Code: printf("</code>"); break;
183 case DocVerbatim::Verbatim: printf("</verbatim>"); break;
184 case DocVerbatim::JavaDocLiteral: printf("</javadocliteral>"); break;
185 case DocVerbatim::JavaDocCode: printf("</javadoccode>"); break;
186 case DocVerbatim::HtmlOnly: printf("</htmlonly>"); break;
187 case DocVerbatim::RtfOnly: printf("</rtfonly>"); break;
188 case DocVerbatim::ManOnly: printf("</manonly>"); break;
189 case DocVerbatim::LatexOnly: printf("</latexonly>"); break;
190 case DocVerbatim::XmlOnly: printf("</xmlonly>"); break;
191 case DocVerbatim::DocbookOnly: printf("</docbookonly>"); break;
192 case DocVerbatim::Dot: printf("</dot>"); break;
193 case DocVerbatim::Msc: printf("</msc>"); break;
194 case DocVerbatim::PlantUML: printf("</plantuml>"); break;
195 case DocVerbatim::Mermaid: printf("</mermaid>"); break;
196 }
197 }
Type type() const
Definition docnode.h:382
QCString text() const
Definition docnode.h:383
@ JavaDocLiteral
Definition docnode.h:378

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

◆ operator()() [56/59]

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

Definition at line 744 of file printdocvisitor.h.

745 {
746 indent_pre();
747 printf("<vhdlflow>\n");
748 visitChildren(vf);
749 indent_post();
750 printf("</vhdlflow>\n");
751 }

References indent_post(), indent_pre(), and visitChildren().

◆ operator()() [57/59]

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

Definition at line 45 of file printdocvisitor.h.

46 {
48 if (m_insidePre)
49 {
50 printf("%s",qPrint(w.chars()));
51 }
52 else
53 {
54 printf(" ");
55 }
56 }
QCString chars() const
Definition docnode.h:358

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

◆ operator()() [58/59]

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

Definition at line 35 of file printdocvisitor.h.

36 {
38 printf("%s",qPrint(w.word()));
39 }
QCString word() const
Definition docnode.h:156

References indent_leaf(), qPrint(), and DocWord::word().

◆ operator()() [59/59]

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

Definition at line 711 of file printdocvisitor.h.

712 {
713 indent_pre();
714 printf("<xrefitem file=\"%s\" anchor=\"%s\" title=\"%s\">\n",
715 qPrint(x.file()),qPrint(x.anchor()),qPrint(x.title()));
716 visitChildren(x);
717 indent_post();
718 printf("</xrefitem>\n");
719 }
QCString anchor() const
Definition docnode.h:625
QCString file() const
Definition docnode.h:624
QCString title() const
Definition docnode.h:626

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

◆ visitChildren()

Member Data Documentation

◆ m_indent

int PrintDocVisitor::m_indent
private

Definition at line 786 of file printdocvisitor.h.

Referenced by indent(), indent_post(), indent_pre(), and PrintDocVisitor().

◆ m_insidePre

bool PrintDocVisitor::m_insidePre
private

Definition at line 788 of file printdocvisitor.h.

Referenced by operator()(), and PrintDocVisitor().

◆ m_needsEnter

bool PrintDocVisitor::m_needsEnter
private

Definition at line 787 of file printdocvisitor.h.

Referenced by indent(), indent_leaf(), and PrintDocVisitor().


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