Doxygen
Loading...
Searching...
No Matches
printdocvisitor.h
Go to the documentation of this file.
1/******************************************************************************
2 *
3 *
4 *
5 *
6 * Copyright (C) 1997-2015 by Dimitri van Heesch.
7 *
8 * Permission to use, copy, modify, and distribute this software and its
9 * documentation under the terms of the GNU General Public License is hereby
10 * granted. No representations are made about the suitability of this software
11 * for any purpose. It is provided "as is" without express or implied warranty.
12 * See the GNU General Public License for more details.
13 *
14 * Documents produced by Doxygen are derivative works derived from the
15 * input used in their production; they are not affected by this license.
16 *
17 */
18
19#ifndef PRINTDOCVISITOR_H
20#define PRINTDOCVISITOR_H
21
22#include "htmlentity.h"
23#include "emoji.h"
24#include "message.h"
25
26/*! Visitor implementation for pretty printing */
28{
29 public:
31
32 //--------------------------------------
33
34 void operator()(const DocWord &w)
35 {
37 printf("%s",qPrint(w.word()));
38 }
40 {
42 printf("%s",qPrint(w.word()));
43 }
45 {
47 if (m_insidePre)
48 {
49 printf("%s",qPrint(w.chars()));
50 }
51 else
52 {
53 printf(" ");
54 }
55 }
56 void operator()(const DocSymbol &s)
57 {
59 const char *res = HtmlEntityMapper::instance().utf8(s.symbol(),TRUE);
60 if (res)
61 {
62 printf("%s",res);
63 }
64 else
65 {
66 printf("print: non supported HTML-entity found: %s\n",HtmlEntityMapper::instance().html(s.symbol(),TRUE));
67 }
68 }
69 void operator()(const DocEmoji &s)
70 {
72 const char *res = EmojiEntityMapper::instance().name(s.index());
73 if (res)
74 {
75 printf("%s",res);
76 }
77 else
78 {
79 printf("print: non supported emoji found: %s\n",qPrint(s.name()));
80 }
81 }
82 void operator()(const DocURL &u)
83 {
85 printf("%s",qPrint(u.url()));
86 }
88 {
90 printf("<br/>");
91 }
92 void operator()(const DocHorRuler &)
93 {
95 printf("<hr>");
96 }
98 {
100 switch (s.style())
101 {
103 if (s.enable()) printf("<bold>"); else printf("</bold>");
104 break;
106 if (s.enable()) printf("<s>"); else printf("</s>");
107 break;
109 if (s.enable()) printf("<strike>"); else printf("</strike>");
110 break;
112 if (s.enable()) printf("<del>"); else printf("</del>");
113 break;
115 if (s.enable()) printf("<underline>"); else printf("</underline>");
116 break;
118 if (s.enable()) printf("<ins>"); else printf("</ins>");
119 break;
121 if (s.enable()) printf("<italic>"); else printf("</italic>");
122 break;
124 if (s.enable()) printf("<kbd>"); else printf("</kbd>");
125 break;
127 if (s.enable()) printf("<tt>"); else printf("</tt>");
128 break;
130 if (s.enable()) printf("<code>"); else printf("</code>");
131 break;
133 if (s.enable()) printf("<sub>"); else printf("</sub>");
134 break;
136 if (s.enable()) printf("<sup>"); else printf("</sup>");
137 break;
139 if (s.enable()) printf("<center>"); else printf("</center>");
140 break;
142 if (s.enable()) printf("<small>"); else printf("</small>");
143 break;
145 if (s.enable()) printf("<cite>"); else printf("</cite>");
146 break;
148 if (s.enable()) printf("<pre>"); else printf("</pre>");
149 break;
151 if (s.enable()) printf("<div>"); else printf("</div>");
152 break;
154 if (s.enable()) printf("<span>"); else printf("</span>");
155 break;
156 }
157 }
158 void operator()(const DocVerbatim &s)
159 {
160 indent_leaf();
161 switch(s.type())
162 {
163 case DocVerbatim::Code: printf("<code>"); break;
164 case DocVerbatim::Verbatim: printf("<verbatim>"); break;
165 case DocVerbatim::JavaDocLiteral: printf("<javadocliteral>"); break;
166 case DocVerbatim::JavaDocCode: printf("<javadoccode>"); break;
167 case DocVerbatim::HtmlOnly: printf("<htmlonly>"); break;
168 case DocVerbatim::RtfOnly: printf("<rtfonly>"); break;
169 case DocVerbatim::ManOnly: printf("<manonly>"); break;
170 case DocVerbatim::LatexOnly: printf("<latexonly>"); break;
171 case DocVerbatim::XmlOnly: printf("<xmlonly>"); break;
172 case DocVerbatim::DocbookOnly: printf("<docbookonly>"); break;
173 case DocVerbatim::Dot: printf("<dot>"); break;
174 case DocVerbatim::Msc: printf("<msc>"); break;
175 case DocVerbatim::PlantUML: printf("<plantuml>"); break;
176 }
177 printf("%s",qPrint(s.text()));
178 switch(s.type())
179 {
180 case DocVerbatim::Code: printf("</code>"); break;
181 case DocVerbatim::Verbatim: printf("</verbatim>"); break;
182 case DocVerbatim::JavaDocLiteral: printf("</javadocliteral>"); break;
183 case DocVerbatim::JavaDocCode: printf("</javadoccode>"); break;
184 case DocVerbatim::HtmlOnly: printf("</htmlonly>"); break;
185 case DocVerbatim::RtfOnly: printf("</rtfonly>"); break;
186 case DocVerbatim::ManOnly: printf("</manonly>"); break;
187 case DocVerbatim::LatexOnly: printf("</latexonly>"); break;
188 case DocVerbatim::XmlOnly: printf("</xmlonly>"); break;
189 case DocVerbatim::DocbookOnly: printf("</docbookonly>"); break;
190 case DocVerbatim::Dot: printf("</dot>"); break;
191 case DocVerbatim::Msc: printf("</msc>"); break;
192 case DocVerbatim::PlantUML: printf("</plantuml>"); break;
193 }
194 }
195 void operator()(const DocAnchor &a)
196 {
197 indent_leaf();
198 printf("<anchor name=\"%s\"/>",qPrint(a.anchor()));
199 }
200 void operator()(const DocInclude &inc)
201 {
202 indent_leaf();
203 printf("<include file=\"%s\" type=\"",qPrint(inc.file()));
204 switch(inc.type())
205 {
206 case DocInclude::Include: printf("include"); break;
207 case DocInclude::IncWithLines: printf("incwithlines"); break;
208 case DocInclude::DontInclude: printf("dontinclude"); break;
209 case DocInclude::DontIncWithLines: printf("dontinwithlines"); break;
211 printf("htmlinclude");
212 if (inc.isBlock()) printf(" block=\"yes\"");
213 break;
214 case DocInclude::LatexInclude: printf("latexinclude"); break;
215 case DocInclude::RtfInclude: printf("rtfinclude"); break;
216 case DocInclude::DocbookInclude: printf("docbookinclude"); break;
217 case DocInclude::ManInclude: printf("maninclude"); break;
218 case DocInclude::XmlInclude: printf("xmlinclude"); break;
219 case DocInclude::VerbInclude: printf("verbinclude"); break;
220 case DocInclude::Snippet: printf("snippet"); break;
221 case DocInclude::SnippetWithLines: printf("snipwithlines"); break;
222 }
223 printf("\"/>");
224 }
226 {
227 indent_leaf();
228 printf("<incoperator pattern=\"%s\" type=\"",qPrint(op.pattern()));
229 switch(op.type())
230 {
231 case DocIncOperator::Line: printf("line"); break;
232 case DocIncOperator::Skip: printf("skip"); break;
233 case DocIncOperator::SkipLine: printf("skipline"); break;
234 case DocIncOperator::Until: printf("until"); break;
235 }
236 printf("\"/>");
237 }
238 void operator()(const DocFormula &f)
239 {
240 indent_leaf();
241 printf("<formula name=%s text=%s/>",qPrint(f.name()),qPrint(f.text()));
242 }
244 {
245 indent_leaf();
246 printf("<indexentry>%s</indexentry\n",qPrint(i.entry()));
247 }
249 {
250 indent_leaf();
251 printf("<simplesectsep/>");
252 }
253 void operator()(const DocCite &cite)
254 {
255 indent_leaf();
256 printf("<cite ref=\"%s\" file=\"%s\" "
257 "anchor=\"%s\" text=\"%s\""
258 "/>\n",
259 qPrint(cite.ref()),qPrint(cite.file()),qPrint(cite.anchor()),
260 qPrint(cite.text()));
261 }
263 {
264 indent_leaf();
265 printf("<sep/>");
266 }
267
268 //--------------------------------------
269 template<class T>
270 void visitChildren(const T &t)
271 {
272 for (const auto &child : t.children())
273 {
274 std::visit(*this, child);
275 }
276 }
277
278 void operator()(const DocAutoList &l)
279 {
280 indent_pre();
281 if (l.isEnumList())
282 {
283 printf("<ol>\n");
284 }
285 else
286 {
287 printf("<ul>\n");
288 }
289 visitChildren(l);
290 indent_post();
291 if (l.isEnumList())
292 {
293 printf("</ol>\n");
294 }
295 else
296 {
297 printf("</ul>\n");
298 }
299 }
301 {
302 indent_pre();
303 switch (li.itemNumber())
304 {
305 case DocAutoList::Unchecked: // unchecked
306 printf("<li class=\"unchecked\">\n");
307 break;
308 case DocAutoList::Checked_x: // checked with x
309 case DocAutoList::Checked_X: // checked with X
310 printf("<li class=\"checked\">\n");
311 break;
312 default:
313 printf("<li>\n");
314 break;
315 }
316 visitChildren(li);
317 indent_post();
318 printf("</li>\n");
319 }
320 void operator()(const DocPara &p)
321 {
322 indent_pre();
323 printf("<para>\n");
324 visitChildren(p);
325 indent_post();
326 printf("</para>\n");
327 }
328 void operator()(const DocRoot &r)
329 {
330 indent_pre();
331 printf("<root>\n");
332 visitChildren(r);
333 indent_post();
334 printf("</root>\n");
335 }
337 {
338 indent_pre();
339 printf("<simplesect type=");
340 switch(s.type())
341 {
342 case DocSimpleSect::See: printf("see"); break;
343 case DocSimpleSect::Return: printf("return"); break;
344 case DocSimpleSect::Author: printf("author"); break;
345 case DocSimpleSect::Authors: printf("authors"); break;
346 case DocSimpleSect::Version: printf("version"); break;
347 case DocSimpleSect::Since: printf("since"); break;
348 case DocSimpleSect::Date: printf("date"); break;
349 case DocSimpleSect::Note: printf("note"); break;
350 case DocSimpleSect::Warning: printf("warning"); break;
351 case DocSimpleSect::Pre: printf("pre"); break;
352 case DocSimpleSect::Post: printf("post"); break;
353 case DocSimpleSect::Copyright: printf("copyright"); break;
354 case DocSimpleSect::Invar: printf("invar"); break;
355 case DocSimpleSect::Remark: printf("remark"); break;
356 case DocSimpleSect::Attention: printf("attention"); break;
357 case DocSimpleSect::Important: printf("important"); break;
358 case DocSimpleSect::User: printf("user"); break;
359 case DocSimpleSect::Rcs: printf("rcs"); break;
360 case DocSimpleSect::Unknown: printf("unknown"); break;
361 }
362 printf(">\n");
363 if (s.title())
364 {
365 std::visit(*this, *s.title());
366 }
367 visitChildren(s);
368 indent_post();
369 printf("</simplesect>\n");
370 }
371 void operator()(const DocTitle &t)
372 {
373 indent_pre();
374 printf("<title>\n");
375 visitChildren(t);
376 indent_post();
377 printf("</title>\n");
378 }
380 {
381 indent_pre();
382 printf("<ul>\n");
383 visitChildren(l);
384 indent_post();
385 printf("</ul>\n");
386 }
388 {
389 indent_pre();
390 printf("<li>\n");
391 if (li.paragraph())
392 {
393 visit(*this,*li.paragraph());
394 }
395 indent_post();
396 printf("</li>\n");
397 }
398 void operator()(const DocSection &s)
399 {
400 indent_pre();
401 printf("<sect%d>\n",s.level());
402 if (s.title())
403 {
404 std::visit(*this, *s.title());
405 }
406 visitChildren(s);
407 indent_post();
408 printf("</sect%d>\n",s.level());
409 }
410 void operator()(const DocHtmlList &s)
411 {
412 indent_pre();
413 if (s.type()==DocHtmlList::Ordered)
414 {
415 printf("<ol");
416 for (const auto &opt : s.attribs())
417 {
418 printf(" %s=\"%s\"",qPrint(opt.name),qPrint(opt.value));
419 }
420 printf(">\n");
421 }
422 else
423 {
424 printf("<ul>\n");
425 }
426 visitChildren(s);
427 indent_post();
428 if (s.type()==DocHtmlList::Ordered)
429 {
430 printf("</ol>\n");
431 }
432 else
433 {
434 printf("</ul>\n");
435 }
436 }
438 {
439 indent_pre();
440 printf("<li");
441 for (const auto &opt : li.attribs())
442 {
443 printf(" %s=\"%s\"",qPrint(opt.name),qPrint(opt.value));
444 }
445 printf(">\n");
446 visitChildren(li);
447 indent_post();
448 printf("</li>\n");
449 }
451 {
452 indent_pre();
453 printf("<dl>\n");
454 visitChildren(l);
455 indent_post();
456 printf("</dl>\n");
457 }
459 {
460 indent_pre();
461 printf("<dt>\n");
462 visitChildren(dt);
463 indent_post();
464 printf("</dt>\n");
465 }
467 {
468 indent_pre();
469 printf("<dd>\n");
470 visitChildren(dd);
471 indent_post();
472 printf("</dd>\n");
473 }
475 {
476 indent_pre();
477 printf("<table rows=\"%zu\" cols=\"%zu\">\n",
478 t.numRows(),t.numColumns());
479 visitChildren(t);
480 if (t.caption())
481 {
482 std::visit(*this, *t.caption());
483 }
484 indent_post();
485 printf("</table>\n");
486 }
487 void operator()(const DocHtmlRow &tr)
488 {
489 indent_pre();
490 printf("<tr>\n");
491 visitChildren(tr);
492 indent_post();
493 printf("</tr>\n");
494 }
495 void operator()(const DocHtmlCell &c)
496 {
497 indent_pre();
498 printf("<t%c>\n",c.isHeading()?'h':'d');
499 visitChildren(c);
500 indent_post();
501 printf("</t%c>\n",c.isHeading()?'h':'d');
502 }
504 {
505 indent_pre();
506 printf("<caption>\n");
507 visitChildren(c);
508 indent_post();
509 printf("</caption>\n");
510 }
511 void operator()(const DocInternal &i)
512 {
513 indent_pre();
514 printf("<internal>\n");
515 visitChildren(i);
516 indent_post();
517 printf("</internal>\n");
518 }
519 void operator()(const DocHRef &href)
520 {
521 indent_pre();
522 printf("<a url=\"%s\">\n",qPrint(href.url()));
523 visitChildren(href);
524 indent_post();
525 printf("</a>\n");
526 }
527 void operator()(const DocHtmlSummary &summary)
528 {
529 indent_pre();
530 printf("<summary");
531 for (const auto &opt : summary.attribs())
532 {
533 printf(" %s=\"%s\"",qPrint(opt.name),qPrint(opt.value));
534 }
535 printf(">\n");
536 visitChildren(summary);
537 indent_post();
538 printf("</summary>\n");
539 }
541 {
542 indent_pre();
543 printf("<details");
544 for (const auto &opt : details.attribs())
545 {
546 printf(" %s=\"%s\"",qPrint(opt.name),qPrint(opt.value));
547 }
548 printf(">\n");
549 auto summary = details.summary();
550 if (summary)
551 {
552 std::visit(*this,*summary);
553 }
555 indent_post();
556 printf("</details>\n");
557 }
558 void operator()(const DocHtmlHeader &header)
559 {
560 indent_pre();
561 printf("<h%d>\n",header.level());
562 visitChildren(header);
563 indent_post();
564 printf("</h%d>\n",header.level());
565 }
566 void operator()(const DocImage &img)
567 {
568 indent_pre();
569 printf("<image src=\"%s\" type=\"",qPrint(img.name()));
570 switch(img.type())
571 {
572 case DocImage::Html: printf("html"); break;
573 case DocImage::Latex: printf("latex"); break;
574 case DocImage::Rtf: printf("rtf"); break;
575 case DocImage::DocBook: printf("docbook"); break;
576 case DocImage::Xml: printf("xml"); break;
577 }
578 printf("\" %s %s inline=\"%s\">\n",qPrint(img.width()),qPrint(img.height()),img.isInlineImage() ? "yes" : "no");
579 visitChildren(img);
580 indent_post();
581 printf("</image>\n");
582 }
583 void operator()(const DocDotFile &df)
584 {
585 indent_pre();
586 printf("<dotfile src=\"%s\">\n",qPrint(df.name()));
587 visitChildren(df);
588 indent_post();
589 printf("</dotfile>\n");
590 }
591 void operator()(const DocMscFile &df)
592 {
593 indent_pre();
594 printf("<mscfile src=\"%s\">\n",qPrint(df.name()));
595 visitChildren(df);
596 indent_post();
597 printf("</mscfile>\n");
598 }
599 void operator()(const DocDiaFile &df)
600 {
601 indent_pre();
602 printf("<diafile src=\"%s\">\n",qPrint(df.name()));
603 visitChildren(df);
604 indent_post();
605 printf("</diafile>\n");
606 }
608 {
609 indent_pre();
610 printf("<plantumlfile src=\"%s\">\n",qPrint(df.name()));
611 visitChildren(df);
612 indent_post();
613 printf("</plantumlfile>\n");
614 }
615 void operator()(const DocLink &lnk)
616 {
617 indent_pre();
618 printf("<link ref=\"%s\" file=\"%s\" anchor=\"%s\">\n",
619 qPrint(lnk.ref()),qPrint(lnk.file()),qPrint(lnk.anchor()));
620 visitChildren(lnk);
621 indent_post();
622 printf("</link>\n");
623 }
624 void operator()(const DocRef &ref)
625 {
626 indent_pre();
627 printf("<ref ref=\"%s\" file=\"%s\" "
628 "anchor=\"%s\" targetTitle=\"%s\""
629 " hasLinkText=\"%s\" refToAnchor=\"%s\" refToSection=\"%s\" refToTable=\"%s\">\n",
630 qPrint(ref.ref()),qPrint(ref.file()),qPrint(ref.anchor()),
631 qPrint(ref.targetTitle()),ref.hasLinkText()?"yes":"no",
632 ref.refToAnchor()?"yes":"no", ref.refToSection()?"yes":"no",
633 ref.refToTable()?"yes":"no");
634 visitChildren(ref);
635 indent_post();
636 printf("</ref>\n");
637 }
638 void operator()(const DocSecRefItem &ref)
639 {
640 indent_pre();
641 printf("<secrefitem target=\"%s\">\n",qPrint(ref.target()));
642 visitChildren(ref);
643 indent_post();
644 printf("</secrefitem>\n");
645 }
646 void operator()(const DocSecRefList &rl)
647 {
648 indent_pre();
649 printf("<secreflist>\n");
650 visitChildren(rl);
651 indent_post();
652 printf("</secreflist>\n");
653 }
654 void operator()(const DocParamList &pl)
655 {
656 indent_pre();
657 printf("<parameters>");
658 if (!pl.parameters().empty())
659 {
660 printf("<param>");
661 for (const auto &param : pl.parameters())
662 {
663 std::visit(*this,param);
664 }
665 printf("</param>");
666 }
667 printf("\n");
668 indent_post();
669 printf("</parameters>\n");
670 }
671 void operator()(const DocParamSect &ps)
672 {
673 indent_pre();
674 printf("<paramsect type=");
675 switch (ps.type())
676 {
677 case DocParamSect::Param: printf("param"); break;
678 case DocParamSect::RetVal: printf("retval"); break;
679 case DocParamSect::Exception: printf("exception"); break;
680 case DocParamSect::TemplateParam: printf("templateparam"); break;
681 case DocParamSect::Unknown: printf("unknown"); break;
682 }
683 printf(">\n");
684 visitChildren(ps);
685 indent_post();
686 printf("</paramsect>\n");
687 }
688 void operator()(const DocXRefItem &x)
689 {
690 indent_pre();
691 printf("<xrefitem file=\"%s\" anchor=\"%s\" title=\"%s\">\n",
692 qPrint(x.file()),qPrint(x.anchor()),qPrint(x.title()));
693 visitChildren(x);
694 indent_post();
695 printf("</xrefitem>\n");
696 }
698 {
699 indent_pre();
700 printf("<internalref file=%s anchor=%s>\n",qPrint(r.file()),qPrint(r.anchor()));
701 visitChildren(r);
702 indent_post();
703 printf("</internalref>\n");
704 }
705 void operator()(const DocText &t)
706 {
707 indent_pre();
708 printf("<text>\n");
709 visitChildren(t);
710 indent_post();
711 printf("</text>\n");
712 }
714 {
715 indent_pre();
716 printf("<blockquote>\n");
717 visitChildren(q);
718 indent_post();
719 printf("</blockquote>\n");
720 }
721 void operator()(const DocVhdlFlow &vf)
722 {
723 indent_pre();
724 printf("<vhdlflow>\n");
725 visitChildren(vf);
726 indent_post();
727 printf("</vhdlflow>\n");
728 }
729 void operator()(const DocParBlock &pb)
730 {
731 indent_pre();
732 printf("<parblock>\n");
733 visitChildren(pb);
734 indent_post();
735 printf("</parblock>\n");
736 }
737
738 private:
739 // helper functions
740 void indent()
741 {
742 if (m_needsEnter) printf("\n");
743 for (int i=0;i<m_indent;i++) printf(".");
745 }
747 {
748 if (!m_needsEnter) indent();
750 }
752 {
753 indent();
754 m_indent++;
755 }
757 {
758 m_indent--;
759 indent();
760 }
761
762 // member variables
766};
767
768#endif
Node representing an anchor.
Definition docnode.h:228
QCString anchor() const
Definition docnode.h:231
Node representing an auto List.
Definition docnode.h:567
bool isEnumList() const
Definition docnode.h:576
Node representing an item of a auto list.
Definition docnode.h:591
int itemNumber() const
Definition docnode.h:594
Node representing a citation of some bibliographic reference.
Definition docnode.h:244
QCString text() const
Definition docnode.h:251
QCString anchor() const
Definition docnode.h:250
QCString ref() const
Definition docnode.h:249
QCString file() const
Definition docnode.h:247
Node representing a dia file.
Definition docnode.h:726
QCString name() const
Definition docnode.h:679
Node representing a dot file.
Definition docnode.h:708
Node representing an emoji.
Definition docnode.h:337
int index() const
Definition docnode.h:341
QCString name() const
Definition docnode.h:340
Node representing an item of a cross-referenced list.
Definition docnode.h:525
QCString text() const
Definition docnode.h:529
QCString name() const
Definition docnode.h:528
Node representing a Hypertext reference.
Definition docnode.h:818
QCString url() const
Definition docnode.h:825
Node representing a horizontal ruler.
Definition docnode.h:215
Node representing an HTML blockquote.
Definition docnode.h:1286
Node representing a HTML table caption.
Definition docnode.h:1223
Node representing a HTML table cell.
Definition docnode.h:1188
bool isHeading() const
Definition docnode.h:1195
Node representing a HTML description data.
Definition docnode.h:1176
Node representing a Html description list.
Definition docnode.h:896
Node representing a Html description item.
Definition docnode.h:883
Node Html details.
Definition docnode.h:852
Node Html heading.
Definition docnode.h:868
int level() const
Definition docnode.h:872
Node representing a Html list.
Definition docnode.h:995
const HtmlAttribList & attribs() const
Definition docnode.h:1001
Type type() const
Definition docnode.h:1000
Node representing a HTML list item.
Definition docnode.h:1160
const HtmlAttribList & attribs() const
Definition docnode.h:1165
Node representing a HTML table row.
Definition docnode.h:1241
Node Html summary.
Definition docnode.h:839
const HtmlAttribList & attribs() const
Definition docnode.h:843
Node representing a HTML table.
Definition docnode.h:1264
size_t numRows() const
Definition docnode.h:1268
size_t numColumns() const
Definition docnode.h:1273
const DocNodeVariant * caption() const
Definition docnode.cpp:2044
Node representing an image.
Definition docnode.h:637
QCString name() const
Definition docnode.h:643
QCString height() const
Definition docnode.h:646
Type type() const
Definition docnode.h:642
QCString width() const
Definition docnode.h:645
@ DocBook
Definition docnode.h:639
bool isInlineImage() const
Definition docnode.h:649
Node representing a include/dontinclude operator block.
Definition docnode.h:473
Type type() const
Definition docnode.h:481
QCString pattern() const
Definition docnode.h:496
Node representing an included text block from file.
Definition docnode.h:431
bool isBlock() const
Definition docnode.h:454
@ LatexInclude
Definition docnode.h:433
@ SnippetWithLines
Definition docnode.h:434
@ DontIncWithLines
Definition docnode.h:435
@ IncWithLines
Definition docnode.h:434
@ HtmlInclude
Definition docnode.h:433
@ VerbInclude
Definition docnode.h:433
@ DontInclude
Definition docnode.h:433
@ DocbookInclude
Definition docnode.h:435
Type type() const
Definition docnode.h:447
QCString file() const
Definition docnode.h:445
Node representing an entry in the index.
Definition docnode.h:548
QCString entry() const
Definition docnode.h:555
Node representing an internal section of documentation.
Definition docnode.h:964
Node representing an internal reference to some item.
Definition docnode.h:802
QCString file() const
Definition docnode.h:806
QCString anchor() const
Definition docnode.h:808
Node representing a line break.
Definition docnode.h:201
Node representing a word that can be linked to something.
Definition docnode.h:164
QCString word() const
Definition docnode.h:169
Node representing a msc file.
Definition docnode.h:717
Node representing an block of paragraphs.
Definition docnode.h:974
Node representing a paragraph in the documentation tree.
Definition docnode.h:1075
Node representing a parameter list.
Definition docnode.h:1120
const DocNodeList & parameters() const
Definition docnode.h:1124
Node representing a parameter section.
Definition docnode.h:1048
Type type() const
Definition docnode.h:1063
Node representing a uml file.
Definition docnode.h:735
Node representing a reference to some item.
Definition docnode.h:773
QCString anchor() const
Definition docnode.h:780
QCString targetTitle() const
Definition docnode.h:781
bool refToTable() const
Definition docnode.h:786
QCString file() const
Definition docnode.h:777
bool refToAnchor() const
Definition docnode.h:784
QCString ref() const
Definition docnode.h:779
bool refToSection() const
Definition docnode.h:785
bool hasLinkText() const
Definition docnode.h:783
Root node of documentation tree.
Definition docnode.h:1308
Node representing a reference to a section.
Definition docnode.h:930
QCString target() const
Definition docnode.h:933
Node representing a list of section references.
Definition docnode.h:954
Node representing a normal section.
Definition docnode.h:909
int level() const
Definition docnode.h:913
const DocNodeVariant * title() const
Definition docnode.h:914
Node representing a separator.
Definition docnode.h:361
Node representing a simple list.
Definition docnode.h:985
Node representing a simple list item.
Definition docnode.h:1148
const DocNodeVariant * paragraph() const
Definition docnode.h:1152
Node representing a simple section.
Definition docnode.h:1012
Type type() const
Definition docnode.h:1021
const DocNodeVariant * title() const
Definition docnode.h:1028
Node representing a separator between two simple sections of the same type.
Definition docnode.h:1039
Node representing a style change.
Definition docnode.h:264
Style style() const
Definition docnode.h:303
bool enable() const
Definition docnode.h:305
Node representing a special symbol.
Definition docnode.h:324
HtmlEntityMapper::SymType symbol() const
Definition docnode.h:328
Root node of a text fragment.
Definition docnode.h:1299
Node representing a simple section title.
Definition docnode.h:604
Node representing a URL (or email address)
Definition docnode.h:187
QCString url() const
Definition docnode.h:191
Node representing a verbatim, unparsed text fragment.
Definition docnode.h:372
Type type() const
Definition docnode.h:378
QCString text() const
Definition docnode.h:379
@ JavaDocLiteral
Definition docnode.h:374
Node representing a VHDL flow chart.
Definition docnode.h:744
Node representing some amount of white space.
Definition docnode.h:350
QCString chars() const
Definition docnode.h:354
Node representing a word.
Definition docnode.h:152
QCString word() const
Definition docnode.h:155
Node representing an item of a cross-referenced list.
Definition docnode.h:616
QCString anchor() const
Definition docnode.h:620
QCString file() const
Definition docnode.h:619
QCString title() const
Definition docnode.h:621
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
bool empty() const
checks whether the container is empty
Definition growvector.h:140
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.
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 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)
Definition qcstring.h:672
#define TRUE
Definition qcstring.h:37
#define FALSE
Definition qcstring.h:34