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("<code>"); else printf("</code>");
128 break;
130 if (s.enable()) printf("<sub>"); else printf("</sub>");
131 break;
133 if (s.enable()) printf("<sup>"); else printf("</sup>");
134 break;
136 if (s.enable()) printf("<center>"); else printf("</center>");
137 break;
139 if (s.enable()) printf("<small>"); else printf("</small>");
140 break;
142 if (s.enable()) printf("<cite>"); else printf("</cite>");
143 break;
145 if (s.enable()) printf("<pre>"); else printf("</pre>");
146 break;
148 if (s.enable()) printf("<div>"); else printf("</div>");
149 break;
151 if (s.enable()) printf("<span>"); else printf("</span>");
152 break;
153 }
154 }
155 void operator()(const DocVerbatim &s)
156 {
157 indent_leaf();
158 switch(s.type())
159 {
160 case DocVerbatim::Code: printf("<code>"); break;
161 case DocVerbatim::Verbatim: printf("<verbatim>"); break;
162 case DocVerbatim::JavaDocLiteral: printf("<javadocliteral>"); break;
163 case DocVerbatim::JavaDocCode: printf("<javadoccode>"); break;
164 case DocVerbatim::HtmlOnly: printf("<htmlonly>"); break;
165 case DocVerbatim::RtfOnly: printf("<rtfonly>"); break;
166 case DocVerbatim::ManOnly: printf("<manonly>"); break;
167 case DocVerbatim::LatexOnly: printf("<latexonly>"); break;
168 case DocVerbatim::XmlOnly: printf("<xmlonly>"); break;
169 case DocVerbatim::DocbookOnly: printf("<docbookonly>"); break;
170 case DocVerbatim::Dot: printf("<dot>"); break;
171 case DocVerbatim::Msc: printf("<msc>"); break;
172 case DocVerbatim::PlantUML: printf("<plantuml>"); break;
173 }
174 printf("%s",qPrint(s.text()));
175 switch(s.type())
176 {
177 case DocVerbatim::Code: printf("</code>"); break;
178 case DocVerbatim::Verbatim: printf("</verbatim>"); break;
179 case DocVerbatim::JavaDocLiteral: printf("</javadocliteral>"); break;
180 case DocVerbatim::JavaDocCode: printf("</javadoccode>"); break;
181 case DocVerbatim::HtmlOnly: printf("</htmlonly>"); break;
182 case DocVerbatim::RtfOnly: printf("</rtfonly>"); break;
183 case DocVerbatim::ManOnly: printf("</manonly>"); break;
184 case DocVerbatim::LatexOnly: printf("</latexonly>"); break;
185 case DocVerbatim::XmlOnly: printf("</xmlonly>"); break;
186 case DocVerbatim::DocbookOnly: printf("</docbookonly>"); break;
187 case DocVerbatim::Dot: printf("</dot>"); break;
188 case DocVerbatim::Msc: printf("</msc>"); break;
189 case DocVerbatim::PlantUML: printf("</plantuml>"); break;
190 }
191 }
192 void operator()(const DocAnchor &a)
193 {
194 indent_leaf();
195 printf("<anchor name=\"%s\"/>",qPrint(a.anchor()));
196 }
197 void operator()(const DocInclude &inc)
198 {
199 indent_leaf();
200 printf("<include file=\"%s\" type=\"",qPrint(inc.file()));
201 switch(inc.type())
202 {
203 case DocInclude::Include: printf("include"); break;
204 case DocInclude::IncWithLines: printf("incwithlines"); break;
205 case DocInclude::DontInclude: printf("dontinclude"); break;
206 case DocInclude::DontIncWithLines: printf("dontinwithlines"); break;
208 printf("htmlinclude");
209 if (inc.isBlock()) printf(" block=\"yes\"");
210 break;
211 case DocInclude::LatexInclude: printf("latexinclude"); break;
212 case DocInclude::RtfInclude: printf("rtfinclude"); break;
213 case DocInclude::DocbookInclude: printf("docbookinclude"); break;
214 case DocInclude::ManInclude: printf("maninclude"); break;
215 case DocInclude::XmlInclude: printf("xmlinclude"); break;
216 case DocInclude::VerbInclude: printf("verbinclude"); break;
217 case DocInclude::Snippet: printf("snippet"); break;
218 case DocInclude::SnippetWithLines: printf("snipwithlines"); break;
219 }
220 printf("\"/>");
221 }
223 {
224 indent_leaf();
225 printf("<incoperator pattern=\"%s\" type=\"",qPrint(op.pattern()));
226 switch(op.type())
227 {
228 case DocIncOperator::Line: printf("line"); break;
229 case DocIncOperator::Skip: printf("skip"); break;
230 case DocIncOperator::SkipLine: printf("skipline"); break;
231 case DocIncOperator::Until: printf("until"); break;
232 }
233 printf("\"/>");
234 }
235 void operator()(const DocFormula &f)
236 {
237 indent_leaf();
238 printf("<formula name=%s text=%s/>",qPrint(f.name()),qPrint(f.text()));
239 }
241 {
242 indent_leaf();
243 printf("<indexentry>%s</indexentry\n",qPrint(i.entry()));
244 }
246 {
247 indent_leaf();
248 printf("<simplesectsep/>");
249 }
250 void operator()(const DocCite &cite)
251 {
252 indent_leaf();
253 printf("<cite ref=\"%s\" file=\"%s\" "
254 "anchor=\"%s\" text=\"%s\""
255 "/>\n",
256 qPrint(cite.ref()),qPrint(cite.file()),qPrint(cite.anchor()),
257 qPrint(cite.text()));
258 }
260 {
261 indent_leaf();
262 printf("<sep/>");
263 }
264
265 //--------------------------------------
266 template<class T>
267 void visitChildren(const T &t)
268 {
269 for (const auto &child : t.children())
270 {
271 std::visit(*this, child);
272 }
273 }
274
275 void operator()(const DocAutoList &l)
276 {
277 indent_pre();
278 if (l.isEnumList())
279 {
280 printf("<ol>\n");
281 }
282 else
283 {
284 printf("<ul>\n");
285 }
286 visitChildren(l);
287 indent_post();
288 if (l.isEnumList())
289 {
290 printf("</ol>\n");
291 }
292 else
293 {
294 printf("</ul>\n");
295 }
296 }
298 {
299 indent_pre();
300 switch (li.itemNumber())
301 {
302 case DocAutoList::Unchecked: // unchecked
303 printf("<li class=\"unchecked\">\n");
304 break;
305 case DocAutoList::Checked_x: // checked with x
306 case DocAutoList::Checked_X: // checked with X
307 printf("<li class=\"checked\">\n");
308 break;
309 default:
310 printf("<li>\n");
311 break;
312 }
313 visitChildren(li);
314 indent_post();
315 printf("</li>\n");
316 }
317 void operator()(const DocPara &p)
318 {
319 indent_pre();
320 printf("<para>\n");
321 visitChildren(p);
322 indent_post();
323 printf("</para>\n");
324 }
325 void operator()(const DocRoot &r)
326 {
327 indent_pre();
328 printf("<root>\n");
329 visitChildren(r);
330 indent_post();
331 printf("</root>\n");
332 }
334 {
335 indent_pre();
336 printf("<simplesect type=");
337 switch(s.type())
338 {
339 case DocSimpleSect::See: printf("see"); break;
340 case DocSimpleSect::Return: printf("return"); break;
341 case DocSimpleSect::Author: printf("author"); break;
342 case DocSimpleSect::Authors: printf("authors"); break;
343 case DocSimpleSect::Version: printf("version"); break;
344 case DocSimpleSect::Since: printf("since"); break;
345 case DocSimpleSect::Date: printf("date"); break;
346 case DocSimpleSect::Note: printf("note"); break;
347 case DocSimpleSect::Warning: printf("warning"); break;
348 case DocSimpleSect::Pre: printf("pre"); break;
349 case DocSimpleSect::Post: printf("post"); break;
350 case DocSimpleSect::Copyright: printf("copyright"); break;
351 case DocSimpleSect::Invar: printf("invar"); break;
352 case DocSimpleSect::Remark: printf("remark"); break;
353 case DocSimpleSect::Attention: printf("attention"); break;
354 case DocSimpleSect::Important: printf("important"); break;
355 case DocSimpleSect::User: printf("user"); break;
356 case DocSimpleSect::Rcs: printf("rcs"); break;
357 case DocSimpleSect::Unknown: printf("unknown"); break;
358 }
359 printf(">\n");
360 if (s.title())
361 {
362 std::visit(*this, *s.title());
363 }
364 visitChildren(s);
365 indent_post();
366 printf("</simplesect>\n");
367 }
368 void operator()(const DocTitle &t)
369 {
370 indent_pre();
371 printf("<title>\n");
372 visitChildren(t);
373 indent_post();
374 printf("</title>\n");
375 }
377 {
378 indent_pre();
379 printf("<ul>\n");
380 visitChildren(l);
381 indent_post();
382 printf("</ul>\n");
383 }
385 {
386 indent_pre();
387 printf("<li>\n");
388 if (li.paragraph())
389 {
390 visit(*this,*li.paragraph());
391 }
392 indent_post();
393 printf("</li>\n");
394 }
395 void operator()(const DocSection &s)
396 {
397 indent_pre();
398 printf("<sect%d>\n",s.level());
399 if (s.title())
400 {
401 std::visit(*this, *s.title());
402 }
403 visitChildren(s);
404 indent_post();
405 printf("</sect%d>\n",s.level());
406 }
407 void operator()(const DocHtmlList &s)
408 {
409 indent_pre();
410 if (s.type()==DocHtmlList::Ordered)
411 {
412 printf("<ol");
413 for (const auto &opt : s.attribs())
414 {
415 printf(" %s=\"%s\"",qPrint(opt.name),qPrint(opt.value));
416 }
417 printf(">\n");
418 }
419 else
420 {
421 printf("<ul>\n");
422 }
423 visitChildren(s);
424 indent_post();
425 if (s.type()==DocHtmlList::Ordered)
426 {
427 printf("</ol>\n");
428 }
429 else
430 {
431 printf("</ul>\n");
432 }
433 }
435 {
436 indent_pre();
437 printf("<li");
438 for (const auto &opt : li.attribs())
439 {
440 printf(" %s=\"%s\"",qPrint(opt.name),qPrint(opt.value));
441 }
442 printf(">\n");
443 visitChildren(li);
444 indent_post();
445 printf("</li>\n");
446 }
448 {
449 indent_pre();
450 printf("<dl>\n");
451 visitChildren(l);
452 indent_post();
453 printf("</dl>\n");
454 }
456 {
457 indent_pre();
458 printf("<dt>\n");
459 visitChildren(dt);
460 indent_post();
461 printf("</dt>\n");
462 }
464 {
465 indent_pre();
466 printf("<dd>\n");
467 visitChildren(dd);
468 indent_post();
469 printf("</dd>\n");
470 }
472 {
473 indent_pre();
474 printf("<table rows=\"%zu\" cols=\"%zu\">\n",
475 t.numRows(),t.numColumns());
476 visitChildren(t);
477 if (t.caption())
478 {
479 std::visit(*this, *t.caption());
480 }
481 indent_post();
482 printf("</table>\n");
483 }
484 void operator()(const DocHtmlRow &tr)
485 {
486 indent_pre();
487 printf("<tr>\n");
488 visitChildren(tr);
489 indent_post();
490 printf("</tr>\n");
491 }
492 void operator()(const DocHtmlCell &c)
493 {
494 indent_pre();
495 printf("<t%c>\n",c.isHeading()?'h':'d');
496 visitChildren(c);
497 indent_post();
498 printf("</t%c>\n",c.isHeading()?'h':'d');
499 }
501 {
502 indent_pre();
503 printf("<caption>\n");
504 visitChildren(c);
505 indent_post();
506 printf("</caption>\n");
507 }
508 void operator()(const DocInternal &i)
509 {
510 indent_pre();
511 printf("<internal>\n");
512 visitChildren(i);
513 indent_post();
514 printf("</internal>\n");
515 }
516 void operator()(const DocHRef &href)
517 {
518 indent_pre();
519 printf("<a url=\"%s\">\n",qPrint(href.url()));
520 visitChildren(href);
521 indent_post();
522 printf("</a>\n");
523 }
524 void operator()(const DocHtmlSummary &summary)
525 {
526 indent_pre();
527 printf("<summary");
528 for (const auto &opt : summary.attribs())
529 {
530 printf(" %s=\"%s\"",qPrint(opt.name),qPrint(opt.value));
531 }
532 printf(">\n");
533 visitChildren(summary);
534 indent_post();
535 printf("</summary>\n");
536 }
538 {
539 indent_pre();
540 printf("<details");
541 for (const auto &opt : details.attribs())
542 {
543 printf(" %s=\"%s\"",qPrint(opt.name),qPrint(opt.value));
544 }
545 printf(">\n");
546 auto summary = details.summary();
547 if (summary)
548 {
549 std::visit(*this,*summary);
550 }
552 indent_post();
553 printf("</details>\n");
554 }
555 void operator()(const DocHtmlHeader &header)
556 {
557 indent_pre();
558 printf("<h%d>\n",header.level());
559 visitChildren(header);
560 indent_post();
561 printf("</h%d>\n",header.level());
562 }
563 void operator()(const DocImage &img)
564 {
565 indent_pre();
566 printf("<image src=\"%s\" type=\"",qPrint(img.name()));
567 switch(img.type())
568 {
569 case DocImage::Html: printf("html"); break;
570 case DocImage::Latex: printf("latex"); break;
571 case DocImage::Rtf: printf("rtf"); break;
572 case DocImage::DocBook: printf("docbook"); break;
573 case DocImage::Xml: printf("xml"); break;
574 }
575 printf("\" %s %s inline=\"%s\">\n",qPrint(img.width()),qPrint(img.height()),img.isInlineImage() ? "yes" : "no");
576 visitChildren(img);
577 indent_post();
578 printf("</image>\n");
579 }
580 void operator()(const DocDotFile &df)
581 {
582 indent_pre();
583 printf("<dotfile src=\"%s\">\n",qPrint(df.name()));
584 visitChildren(df);
585 indent_post();
586 printf("</dotfile>\n");
587 }
588 void operator()(const DocMscFile &df)
589 {
590 indent_pre();
591 printf("<mscfile src=\"%s\">\n",qPrint(df.name()));
592 visitChildren(df);
593 indent_post();
594 printf("</mscfile>\n");
595 }
596 void operator()(const DocDiaFile &df)
597 {
598 indent_pre();
599 printf("<diafile src=\"%s\">\n",qPrint(df.name()));
600 visitChildren(df);
601 indent_post();
602 printf("</diafile>\n");
603 }
605 {
606 indent_pre();
607 printf("<plantumlfile src=\"%s\">\n",qPrint(df.name()));
608 visitChildren(df);
609 indent_post();
610 printf("</plantumlfile>\n");
611 }
612 void operator()(const DocLink &lnk)
613 {
614 indent_pre();
615 printf("<link ref=\"%s\" file=\"%s\" anchor=\"%s\">\n",
616 qPrint(lnk.ref()),qPrint(lnk.file()),qPrint(lnk.anchor()));
617 visitChildren(lnk);
618 indent_post();
619 printf("</link>\n");
620 }
621 void operator()(const DocRef &ref)
622 {
623 indent_pre();
624 printf("<ref ref=\"%s\" file=\"%s\" "
625 "anchor=\"%s\" targetTitle=\"%s\""
626 " hasLinkText=\"%s\" refToAnchor=\"%s\" refToSection=\"%s\" refToTable=\"%s\">\n",
627 qPrint(ref.ref()),qPrint(ref.file()),qPrint(ref.anchor()),
628 qPrint(ref.targetTitle()),ref.hasLinkText()?"yes":"no",
629 ref.refToAnchor()?"yes":"no", ref.refToSection()?"yes":"no",
630 ref.refToTable()?"yes":"no");
631 visitChildren(ref);
632 indent_post();
633 printf("</ref>\n");
634 }
635 void operator()(const DocSecRefItem &ref)
636 {
637 indent_pre();
638 printf("<secrefitem target=\"%s\">\n",qPrint(ref.target()));
639 visitChildren(ref);
640 indent_post();
641 printf("</secrefitem>\n");
642 }
643 void operator()(const DocSecRefList &rl)
644 {
645 indent_pre();
646 printf("<secreflist>\n");
647 visitChildren(rl);
648 indent_post();
649 printf("</secreflist>\n");
650 }
651 void operator()(const DocParamList &pl)
652 {
653 indent_pre();
654 printf("<parameters>");
655 if (!pl.parameters().empty())
656 {
657 printf("<param>");
658 for (const auto &param : pl.parameters())
659 {
660 std::visit(*this,param);
661 }
662 printf("</param>");
663 }
664 printf("\n");
665 indent_post();
666 printf("</parameters>\n");
667 }
668 void operator()(const DocParamSect &ps)
669 {
670 indent_pre();
671 printf("<paramsect type=");
672 switch (ps.type())
673 {
674 case DocParamSect::Param: printf("param"); break;
675 case DocParamSect::RetVal: printf("retval"); break;
676 case DocParamSect::Exception: printf("exception"); break;
677 case DocParamSect::TemplateParam: printf("templateparam"); break;
678 case DocParamSect::Unknown: printf("unknown"); break;
679 }
680 printf(">\n");
681 visitChildren(ps);
682 indent_post();
683 printf("</paramsect>\n");
684 }
685 void operator()(const DocXRefItem &x)
686 {
687 indent_pre();
688 printf("<xrefitem file=\"%s\" anchor=\"%s\" title=\"%s\">\n",
689 qPrint(x.file()),qPrint(x.anchor()),qPrint(x.title()));
690 visitChildren(x);
691 indent_post();
692 printf("</xrefitem>\n");
693 }
695 {
696 indent_pre();
697 printf("<internalref file=%s anchor=%s>\n",qPrint(r.file()),qPrint(r.anchor()));
698 visitChildren(r);
699 indent_post();
700 printf("</internalref>\n");
701 }
702 void operator()(const DocText &t)
703 {
704 indent_pre();
705 printf("<text>\n");
706 visitChildren(t);
707 indent_post();
708 printf("</text>\n");
709 }
711 {
712 indent_pre();
713 printf("<blockquote>\n");
714 visitChildren(q);
715 indent_post();
716 printf("</blockquote>\n");
717 }
718 void operator()(const DocVhdlFlow &vf)
719 {
720 indent_pre();
721 printf("<vhdlflow>\n");
722 visitChildren(vf);
723 indent_post();
724 printf("</vhdlflow>\n");
725 }
726 void operator()(const DocParBlock &pb)
727 {
728 indent_pre();
729 printf("<parblock>\n");
730 visitChildren(pb);
731 indent_post();
732 printf("</parblock>\n");
733 }
734
735 private:
736 // helper functions
737 void indent()
738 {
739 if (m_needsEnter) printf("\n");
740 for (int i=0;i<m_indent;i++) printf(".");
742 }
744 {
745 if (!m_needsEnter) indent();
747 }
749 {
750 indent();
751 m_indent++;
752 }
754 {
755 m_indent--;
756 indent();
757 }
758
759 // member variables
763};
764
765#endif
Node representing an anchor.
Definition docnode.h:228
QCString anchor() const
Definition docnode.h:231
Node representing an auto List.
Definition docnode.h:566
bool isEnumList() const
Definition docnode.h:575
Node representing an item of a auto list.
Definition docnode.h:590
int itemNumber() const
Definition docnode.h:593
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:725
QCString name() const
Definition docnode.h:678
Node representing a dot file.
Definition docnode.h:707
Node representing an emoji.
Definition docnode.h:336
int index() const
Definition docnode.h:340
QCString name() const
Definition docnode.h:339
Node representing an item of a cross-referenced list.
Definition docnode.h:524
QCString text() const
Definition docnode.h:528
QCString name() const
Definition docnode.h:527
Node representing a Hypertext reference.
Definition docnode.h:817
QCString url() const
Definition docnode.h:824
Node representing a horizontal ruler.
Definition docnode.h:215
Node representing an HTML blockquote.
Definition docnode.h:1285
Node representing a HTML table caption.
Definition docnode.h:1222
Node representing a HTML table cell.
Definition docnode.h:1187
bool isHeading() const
Definition docnode.h:1194
Node representing a HTML description data.
Definition docnode.h:1175
Node representing a Html description list.
Definition docnode.h:895
Node representing a Html description item.
Definition docnode.h:882
Node Html details.
Definition docnode.h:851
Node Html heading.
Definition docnode.h:867
int level() const
Definition docnode.h:871
Node representing a Html list.
Definition docnode.h:994
const HtmlAttribList & attribs() const
Definition docnode.h:1000
Type type() const
Definition docnode.h:999
Node representing a HTML list item.
Definition docnode.h:1159
const HtmlAttribList & attribs() const
Definition docnode.h:1164
Node representing a HTML table row.
Definition docnode.h:1240
Node Html summary.
Definition docnode.h:838
const HtmlAttribList & attribs() const
Definition docnode.h:842
Node representing a HTML table.
Definition docnode.h:1263
size_t numRows() const
Definition docnode.h:1267
size_t numColumns() const
Definition docnode.h:1272
const DocNodeVariant * caption() const
Definition docnode.cpp:2029
Node representing an image.
Definition docnode.h:636
QCString name() const
Definition docnode.h:642
QCString height() const
Definition docnode.h:645
Type type() const
Definition docnode.h:641
QCString width() const
Definition docnode.h:644
@ DocBook
Definition docnode.h:638
bool isInlineImage() const
Definition docnode.h:648
Node representing a include/dontinclude operator block.
Definition docnode.h:472
Type type() const
Definition docnode.h:480
QCString pattern() const
Definition docnode.h:495
Node representing an included text block from file.
Definition docnode.h:430
bool isBlock() const
Definition docnode.h:453
@ LatexInclude
Definition docnode.h:432
@ SnippetWithLines
Definition docnode.h:433
@ DontIncWithLines
Definition docnode.h:434
@ IncWithLines
Definition docnode.h:433
@ HtmlInclude
Definition docnode.h:432
@ VerbInclude
Definition docnode.h:432
@ DontInclude
Definition docnode.h:432
@ DocbookInclude
Definition docnode.h:434
Type type() const
Definition docnode.h:446
QCString file() const
Definition docnode.h:444
Node representing an entry in the index.
Definition docnode.h:547
QCString entry() const
Definition docnode.h:554
Node representing an internal section of documentation.
Definition docnode.h:963
Node representing an internal reference to some item.
Definition docnode.h:801
QCString file() const
Definition docnode.h:805
QCString anchor() const
Definition docnode.h:807
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:716
Node representing an block of paragraphs.
Definition docnode.h:973
Node representing a paragraph in the documentation tree.
Definition docnode.h:1074
Node representing a parameter list.
Definition docnode.h:1119
const DocNodeList & parameters() const
Definition docnode.h:1123
Node representing a parameter section.
Definition docnode.h:1047
Type type() const
Definition docnode.h:1062
Node representing a uml file.
Definition docnode.h:734
Node representing a reference to some item.
Definition docnode.h:772
QCString anchor() const
Definition docnode.h:779
QCString targetTitle() const
Definition docnode.h:780
bool refToTable() const
Definition docnode.h:785
QCString file() const
Definition docnode.h:776
bool refToAnchor() const
Definition docnode.h:783
QCString ref() const
Definition docnode.h:778
bool refToSection() const
Definition docnode.h:784
bool hasLinkText() const
Definition docnode.h:782
Root node of documentation tree.
Definition docnode.h:1307
Node representing a reference to a section.
Definition docnode.h:929
QCString target() const
Definition docnode.h:932
Node representing a list of section references.
Definition docnode.h:953
Node representing a normal section.
Definition docnode.h:908
int level() const
Definition docnode.h:912
const DocNodeVariant * title() const
Definition docnode.h:913
Node representing a separator.
Definition docnode.h:360
Node representing a simple list.
Definition docnode.h:984
Node representing a simple list item.
Definition docnode.h:1147
const DocNodeVariant * paragraph() const
Definition docnode.h:1151
Node representing a simple section.
Definition docnode.h:1011
Type type() const
Definition docnode.h:1020
const DocNodeVariant * title() const
Definition docnode.h:1027
Node representing a separator between two simple sections of the same type.
Definition docnode.h:1038
Node representing a style change.
Definition docnode.h:264
Style style() const
Definition docnode.h:302
bool enable() const
Definition docnode.h:304
Node representing a special symbol.
Definition docnode.h:323
HtmlEntityMapper::SymType symbol() const
Definition docnode.h:327
Root node of a text fragment.
Definition docnode.h:1298
Node representing a simple section title.
Definition docnode.h:603
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:371
Type type() const
Definition docnode.h:377
QCString text() const
Definition docnode.h:378
@ JavaDocLiteral
Definition docnode.h:373
Node representing a VHDL flow chart.
Definition docnode.h:743
Node representing some amount of white space.
Definition docnode.h:349
QCString chars() const
Definition docnode.h:353
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:615
QCString anchor() const
Definition docnode.h:619
QCString file() const
Definition docnode.h:618
QCString title() const
Definition docnode.h:620
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