doxygen  1.8.18
About: Doxygen is a source code documentation generator tool for C++, C, Objective-C, C#, PHP, Java, Python, IDL (diverse flavors), Fortran, VHDL, Tcl, and to some extent D. Different output formats are supported.
  Fossies Dox: doxygen-1.8.18.src.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

docbookvisitor.cpp
Go to the documentation of this file.
1 
17 #include <qfileinfo.h>
18 
19 #include "docbookvisitor.h"
20 #include "docparser.h"
21 #include "language.h"
22 #include "doxygen.h"
23 #include "outputgen.h"
24 #include "docbookgen.h"
25 #include "dot.h"
26 #include "message.h"
27 #include "util.h"
28 #include "parserintf.h"
29 #include "filename.h"
30 #include "config.h"
31 #include "filedef.h"
32 #include "msc.h"
33 #include "dia.h"
34 #include "htmlentity.h"
35 #include "emoji.h"
36 #include "plantuml.h"
37 #include "growbuf.h"
38 
39 #if 0
40 #define DB_VIS_C DB_VIS_C1(m_t)
41 #define DB_VIS_C1(x) x << "<!-- DB_VIS_C " << __LINE__ << " -->\n";
42 #define DB_VIS_C2(y) DB_VIS_C2a(m_t,y)
43 #define DB_VIS_C2a(x,y) x << "<!-- DB_VIS_C " << __LINE__ << " " << y << " -->\n";
44 #else
45 #define DB_VIS_C
46 #define DB_VIS_C1(x)
47 #define DB_VIS_C2(y)
48 #define DB_VIS_C2a(x,y)
49 #endif
50 
51 static QCString filterId(const char *s)
52 {
53  static GrowBuf growBuf;
54  growBuf.clear();
55  if (s==0) return "";
56  const char *p=s;
57  char c;
58  while ((c=*p++))
59  {
60  switch (c)
61  {
62  case ':': growBuf.addStr("_1"); break;
63  default: growBuf.addChar(c); break;
64  }
65  }
66  growBuf.addChar(0);
67  return growBuf.get();
68 }
69 
70 static bool supportedHtmlAttribute(const QCString &name)
71 {
72  return (name=="align" ||
73  name=="bgcolor" ||
74  name=="border" ||
75  name=="cellpadding" ||
76  name=="cellspacing" ||
77  name=="class" ||
78  name=="frame" ||
79  name=="label" ||
80  name=="style" ||
81  name=="width" ||
82  name=="tabstyle" ||
83  name=="title");
84 }
85 
86 
88 {
89  QListIterator<DocNode> cli(children);
90  DocNode *n;
91  for (cli.toFirst();(n=cli.current());++cli) n->accept(this);
92 }
93 
95  const QList<DocNode> &children,
96  bool hasCaption,
97  const QCString &name,
98  const QCString &width,
99  const QCString &height,
100  bool inlineImage)
101 {
102  if (hasCaption && !inlineImage)
103  {
104  t << " <figure>" << endl;
105  t << " <title>" << endl;
106  visitCaption(children);
107  t << " </title>" << endl;
108  }
109  else
110  {
111  t << " <informalfigure>" << endl;
112  }
113  t << " <mediaobject>" << endl;
114  t << " <imageobject>" << endl;
115  t << " <imagedata";
116  if (!width.isEmpty())
117  {
118  t << " width=\"" << convertToDocBook(width) << "\"";
119  }
120  else
121  {
122  if (!height.isEmpty() && !inlineImage) t << " width=\"50%\"";
123  }
124  if (!height.isEmpty())
125  {
126  t << " depth=\"" << convertToDocBook(height) << "\"";
127  }
128  t << " align=\"center\" valign=\"middle\" scalefit=\"0\" fileref=\"" << name << "\">";
129  t << "</imagedata>" << endl;
130  t << " </imageobject>" << endl;
131  if (hasCaption && !inlineImage)
132  {
133  t << " <!--" << endl; // Needed for general formatting with title for other formats
134  }
135 }
136 
137 void DocbookDocVisitor::visitPostEnd(FTextStream &t, bool hasCaption, bool inlineImage)
138 {
139  t << endl;
140  if (hasCaption && !inlineImage)
141  {
142  t << " -->" << endl; // Needed for general formatting with title for other formats
143  }
144  t << " </mediaobject>" << endl;
145  if (hasCaption && !inlineImage)
146  {
147  t << " </figure>" << endl;
148  }
149  else
150  {
151  t << " </informalfigure>" << endl;
152  }
153 }
154 
156  : DocVisitor(DocVisitor_Docbook), m_t(t), m_ci(ci)
157 {
158 DB_VIS_C
159  // m_t << "<section>" << endl;
160 }
162 {
163 DB_VIS_C
164  // m_t << "</section>" << endl;
165 }
166 
167 //--------------------------------------
168 // visitor functions for leaf nodes
169 //--------------------------------------
170 
172 {
173 DB_VIS_C
174  if (m_hide) return;
175  filter(w->word());
176 }
177 
179 {
180 DB_VIS_C
181  if (m_hide) return;
182  startLink(w->file(),w->anchor());
183  filter(w->word());
184  endLink();
185 }
186 
188 {
189 DB_VIS_C
190  if (m_hide) return;
191  if (m_insidePre)
192  {
193  m_t << w->chars();
194  }
195  else
196  {
197  m_t << " ";
198  }
199 }
200 
202 {
203 DB_VIS_C
204  if (m_hide) return;
205  const char *res = HtmlEntityMapper::instance()->docbook(s->symbol());
206  if (res)
207  {
208  m_t << res;
209  }
210  else
211  {
212  err("DocBook: non supported HTML-entity found: %s\n",HtmlEntityMapper::instance()->html(s->symbol(),TRUE));
213  }
214 }
215 
217 {
218 DB_VIS_C
219  if (m_hide) return;
220  const char *res = EmojiEntityMapper::instance()->unicode(s->index());
221  if (res)
222  {
223  m_t << res;
224  }
225  else
226  {
227  m_t << s->name();
228  }
229 }
230 
232 {
233 DB_VIS_C
234  if (m_hide) return;
235  m_t << "<link xlink:href=\"";
236  if (u->isEmail()) m_t << "mailto:";
237  filter(u->url());
238  m_t << "\">";
239  filter(u->url());
240  m_t << "</link>";
241 }
242 
244 {
245 DB_VIS_C
246  if (m_hide) return;
247  m_t << endl << "<literallayout>&#160;&#xa;</literallayout>" << endl;
248  // gives nicer results but gives problems as it is not allowed in <pare> and also problems with dblatex
249  // m_t << endl << "<sbr/>" << endl;
250 }
251 
253 {
254 DB_VIS_C
255  if (m_hide) return;
256  m_t << "<informaltable frame='bottom'><tgroup cols='1'><colspec align='center'/><tbody><row><entry align='center'>\n";
257  m_t << "</entry></row></tbody></tgroup></informaltable>\n";
258 }
259 
261 {
262 DB_VIS_C
263  if (m_hide) return;
264  switch (s->style())
265  {
267  if (s->enable()) m_t << "<emphasis role=\"bold\">"; else m_t << "</emphasis>";
268  break;
270  if (s->enable()) m_t << "<emphasis>"; else m_t << "</emphasis>";
271  break;
273  if (s->enable()) m_t << "<computeroutput>"; else m_t << "</computeroutput>";
274  break;
276  if (s->enable()) m_t << "<subscript>"; else m_t << "</subscript>";
277  break;
279  if (s->enable()) m_t << "<superscript>"; else m_t << "</superscript>";
280  break;
282  if (s->enable()) m_t << "<informaltable frame='none'><tgroup cols='1'><colspec align='center'/><tbody><row><entry align='center'>";
283  else m_t << "</entry></row></tbody></tgroup></informaltable>";
284  break;
286  if (s->enable())
287  {
288  m_t << "<literallayout>";
290  }
291  else
292  {
293  m_t << "</literallayout>";
295  }
296  break;
297  /* There is no equivalent Docbook tag for rendering Small text */
298  case DocStyleChange::Small: /* XSLT Stylesheets can be used */ break;
299  /* HTML only */
300  case DocStyleChange::S: break;
301  case DocStyleChange::Strike: break;
302  case DocStyleChange::Del: break;
303  case DocStyleChange::Underline: break;
304  case DocStyleChange::Ins: break;
305  case DocStyleChange::Div: /* HTML only */ break;
306  case DocStyleChange::Span: /* HTML only */ break;
307  }
308 }
309 
311 {
312 DB_VIS_C
313  if (m_hide) return;
315  switch(s->type())
316  {
317  case DocVerbatim::Code: // fall though
318  m_t << "<literallayout><computeroutput>";
320  .parseCode(m_ci,s->context(),s->text(),langExt,
321  s->isExample(),s->exampleFile());
322  m_t << "</computeroutput></literallayout>";
323  break;
325  m_t << "<literallayout><computeroutput>";
326  filter(s->text());
327  m_t << "</computeroutput></literallayout>";
328  break;
330  break;
332  break;
334  break;
336  break;
338  break;
340  m_t << s->text();
341  break;
342  case DocVerbatim::Dot:
343  {
344  static int dotindex = 1;
345  QCString baseName(4096);
346  QCString name;
347  QCString stext = s->text();
348  m_t << "<para>" << endl;
349  name.sprintf("%s%d", "dot_inline_dotgraph_", dotindex);
350  baseName.sprintf("%s%d",
351  (Config_getString(DOCBOOK_OUTPUT)+"/inline_dotgraph_").data(),
352  dotindex++
353  );
354  QFile file(baseName+".dot");
355  if (!file.open(IO_WriteOnly))
356  {
357  err("Could not open file %s.msc for writing\n",baseName.data());
358  }
359  file.writeBlock( stext, stext.length() );
360  file.close();
361  writeDotFile(baseName, s);
362  m_t << "</para>" << endl;
363  }
364  break;
365  case DocVerbatim::Msc:
366  {
367  static int mscindex = 1;
368  QCString baseName(4096);
369  QCString name;
370  QCString stext = s->text();
371  m_t << "<para>" << endl;
372  name.sprintf("%s%d", "msc_inline_mscgraph_", mscindex);
373  baseName.sprintf("%s%d",
374  (Config_getString(DOCBOOK_OUTPUT)+"/inline_mscgraph_").data(),
375  mscindex++
376  );
377  QFile file(baseName+".msc");
378  if (!file.open(IO_WriteOnly))
379  {
380  err("Could not open file %s.msc for writing\n",baseName.data());
381  }
382  QCString text = "msc {";
383  text+=stext;
384  text+="}";
385  file.writeBlock( text, text.length() );
386  file.close();
387  writeMscFile(baseName,s);
388  m_t << "</para>" << endl;
389  }
390  break;
392  {
393  static QCString docbookOutput = Config_getString(DOCBOOK_OUTPUT);
395  QCString shortName = baseName;
396  int i;
397  if ((i=shortName.findRev('/'))!=-1)
398  {
399  shortName=shortName.right((int)shortName.length()-i-1);
400  }
401  m_t << "<para>" << endl;
402  writePlantUMLFile(baseName,s);
403  m_t << "</para>" << endl;
404  }
405  break;
406  }
407 }
408 
410 {
411 DB_VIS_C
412  if (m_hide) return;
413  m_t << "<anchor xml:id=\"_" << stripPath(anc->file()) << "_1" << filterId(anc->anchor()) << "\"/>";
414 }
415 
417 {
418 DB_VIS_C
419  if (m_hide) return;
420  SrcLangExt langExt = getLanguageFromFileName(inc->extension());
421  switch(inc->type())
422  {
424  {
425  m_t << "<literallayout><computeroutput>";
426  QFileInfo cfi( inc->file() );
427  FileDef *fd = createFileDef( cfi.dirPath().utf8(), cfi.fileName().utf8() );
429  .parseCode(m_ci,inc->context(),
430  inc->text(),
431  langExt,
432  inc->isExample(),
433  inc->exampleFile(), fd);
434  delete fd;
435  m_t << "</computeroutput></literallayout>";
436  }
437  break;
438  case DocInclude::Include:
439  m_t << "<literallayout><computeroutput>";
441  .parseCode(m_ci,inc->context(),
442  inc->text(),
443  langExt,
444  inc->isExample(),
445  inc->exampleFile());
446  m_t << "</computeroutput></literallayout>";
447  break;
455  break;
457  m_t << inc->text();
458  break;
460  m_t << "<literallayout>";
461  filter(inc->text());
462  m_t << "</literallayout>";
463  break;
464  case DocInclude::Snippet:
465  m_t << "<literallayout><computeroutput>";
467  .parseCode(m_ci,
468  inc->context(),
469  extractBlock(inc->text(),inc->blockId()),
470  langExt,
471  inc->isExample(),
472  inc->exampleFile()
473  );
474  m_t << "</computeroutput></literallayout>";
475  break;
477  {
478  QFileInfo cfi( inc->file() );
479  FileDef *fd = createFileDef( cfi.dirPath().utf8(), cfi.fileName().utf8() );
480  m_t << "<literallayout><computeroutput>";
482  .parseCode(m_ci,
483  inc->context(),
484  extractBlock(inc->text(),inc->blockId()),
485  langExt,
486  inc->isExample(),
487  inc->exampleFile(),
488  fd,
489  lineBlock(inc->text(),inc->blockId()),
490  -1, // endLine
491  FALSE, // inlineFragment
492  0, // memberDef
493  TRUE // show line number
494  );
495  delete fd;
496  m_t << "</computeroutput></literallayout>";
497  }
498  break;
501  err("Internal inconsistency: found switch SnippetDoc / IncludeDoc in file: %s"
502  "Please create a bug report\n",__FILE__);
503  break;
504  }
505 }
506 
508 {
509 DB_VIS_C
510  if (op->isFirst())
511  {
512  if (!m_hide)
513  {
514  m_t << "<programlisting>";
515  }
516  pushEnabled();
517  m_hide = TRUE;
518  }
519  QCString locLangExt = getFileNameExtension(op->includeFileName());
520  if (locLangExt.isEmpty()) locLangExt = m_langExt;
521  SrcLangExt langExt = getLanguageFromFileName(locLangExt);
522  if (op->type()!=DocIncOperator::Skip)
523  {
524  popEnabled();
525  if (!m_hide)
526  {
527  FileDef *fd = 0;
528  if (!op->includeFileName().isEmpty())
529  {
530  QFileInfo cfi( op->includeFileName() );
531  fd = createFileDef( cfi.dirPath().utf8(), cfi.fileName().utf8() );
532  }
533 
535  .parseCode(m_ci,op->context(),
536  op->text(),langExt,op->isExample(),
537  op->exampleFile(),
538  fd, // fileDef
539  op->line(), // startLine
540  -1, // endLine
541  FALSE, // inline fragment
542  0, // memberDef
543  op->showLineNo() // show line numbers
544  );
545  if (fd) delete fd;
546  }
547  pushEnabled();
548  m_hide=TRUE;
549  }
550  if (op->isLast())
551  {
552  popEnabled();
553  if (!m_hide) m_t << "</programlisting>";
554  }
555  else
556  {
557  if (!m_hide) m_t << endl;
558  }
559 }
560 
562 {
563 DB_VIS_C
564  if (m_hide) return;
565 
566  if (f->isInline()) m_t << "<inlinemediaobject>" << endl;
567  else m_t << " <mediaobject>" << endl;
568  m_t << " <imageobject>" << endl;
569  m_t << " <imagedata ";
570  m_t << "align=\"center\" valign=\"middle\" scalefit=\"0\" fileref=\"" << f->relPath() << f->name() << ".png\"/>" << endl;
571  m_t << " </imageobject>" << endl;
572  if (f->isInline()) m_t << "</inlinemediaobject>" << endl;
573  else m_t << " </mediaobject>" << endl;
574 }
575 
577 {
578 DB_VIS_C
579  if (m_hide) return;
580  m_t << "<indexterm><primary>";
581  filter(ie->entry());
582  m_t << "</primary></indexterm>" << endl;
583 }
584 
586 {
587 DB_VIS_C
588  // m_t << "<simplesect/>";
589 }
590 
592 {
593 DB_VIS_C
594  if (m_hide) return;
595  if (!cite->file().isEmpty()) startLink(cite->file(),filterId(cite->anchor()));
596  filter(cite->text());
597  if (!cite->file().isEmpty()) endLink();
598 }
599 
600 //--------------------------------------
601 // visitor functions for compound nodes
602 //--------------------------------------
603 
605 {
606 DB_VIS_C
607  if (m_hide) return;
608  if (l->isEnumList())
609  {
610  m_t << "<orderedlist>\n";
611  }
612  else
613  {
614  m_t << "<itemizedlist>\n";
615  }
616 }
617 
619 {
620 DB_VIS_C
621  if (m_hide) return;
622  if (l->isEnumList())
623  {
624  m_t << "</orderedlist>\n";
625  }
626  else
627  {
628  m_t << "</itemizedlist>\n";
629  }
630 }
631 
633 {
634 DB_VIS_C
635  if (m_hide) return;
636  m_t << "<listitem>";
637 }
638 
640 {
641 DB_VIS_C
642  if (m_hide) return;
643  m_t << "</listitem>";
644 }
645 
647 {
648 DB_VIS_C
649  if (m_hide) return;
650  m_t << endl;
651  m_t << "<para>";
652 }
653 
655 {
656 DB_VIS_C
657  if (m_hide) return;
658  m_t << "</para>";
659  m_t << endl;
660 }
661 
663 {
664 DB_VIS_C
665  //m_t << "<hr><h4><font color=\"red\">New parser:</font></h4>\n";
666 }
667 
669 {
670 DB_VIS_C
671  //m_t << "<hr><h4><font color=\"red\">Old parser:</font></h4>\n";
672 }
673 
675 {
676 DB_VIS_C
677  if (m_hide) return;
678  switch(s->type())
679  {
680  case DocSimpleSect::See:
681  if (m_insidePre)
682  {
683  m_t << "<formalpara><title>" << theTranslator->trSeeAlso() << "</title>" << endl;
684  }
685  else
686  {
687  m_t << "<formalpara><title>" << convertToDocBook(theTranslator->trSeeAlso()) << "</title>" << endl;
688  }
689  break;
691  if (m_insidePre)
692  {
693  m_t << "<formalpara><title>" << theTranslator->trReturns()<< "</title>" << endl;
694  }
695  else
696  {
697  m_t << "<formalpara><title>" << convertToDocBook(theTranslator->trReturns()) << "</title>" << endl;
698  }
699  break;
701  if (m_insidePre)
702  {
703  m_t << "<formalpara><title>" << theTranslator->trAuthor(TRUE, TRUE) << "</title>" << endl;
704  }
705  else
706  {
707  m_t << "<formalpara><title>" << convertToDocBook(theTranslator->trAuthor(TRUE, TRUE)) << "</title>" << endl;
708  }
709  break;
711  if (m_insidePre)
712  {
713  m_t << "<formalpara><title>" << theTranslator->trAuthor(TRUE, FALSE) << "</title>" << endl;
714  }
715  else
716  {
717  m_t << "<formalpara><title>" << convertToDocBook(theTranslator->trAuthor(TRUE, FALSE)) << "</title>" << endl;
718  }
719  break;
721  if (m_insidePre)
722  {
723  m_t << "<formalpara><title>" << theTranslator->trVersion() << "</title>" << endl;
724  }
725  else
726  {
727  m_t << "<formalpara><title>" << convertToDocBook(theTranslator->trVersion()) << "</title>" << endl;
728  }
729  break;
731  if (m_insidePre)
732  {
733  m_t << "<formalpara><title>" << theTranslator->trSince() << "</title>" << endl;
734  }
735  else
736  {
737  m_t << "<formalpara><title>" << convertToDocBook(theTranslator->trSince()) << "</title>" << endl;
738  }
739  break;
740  case DocSimpleSect::Date:
741  if (m_insidePre)
742  {
743  m_t << "<formalpara><title>" << theTranslator->trDate() << "</title>" << endl;
744  }
745  else
746  {
747  m_t << "<formalpara><title>" << convertToDocBook(theTranslator->trDate()) << "</title>" << endl;
748  }
749  break;
750  case DocSimpleSect::Note:
751  if (m_insidePre)
752  {
753  m_t << "<note><title>" << theTranslator->trNote() << "</title>" << endl;
754  }
755  else
756  {
757  m_t << "<note><title>" << convertToDocBook(theTranslator->trNote()) << "</title>" << endl;
758  }
759  break;
761  if (m_insidePre)
762  {
763  m_t << "<warning><title>" << theTranslator->trWarning() << "</title>" << endl;
764  }
765  else
766  {
767  m_t << "<warning><title>" << convertToDocBook(theTranslator->trWarning()) << "</title>" << endl;
768  }
769  break;
770  case DocSimpleSect::Pre:
771  if (m_insidePre)
772  {
773  m_t << "<formalpara><title>" << theTranslator->trPrecondition() << "</title>" << endl;
774  }
775  else
776  {
777  m_t << "<formalpara><title>" << convertToDocBook(theTranslator->trPrecondition()) << "</title>" << endl;
778  }
779  break;
780  case DocSimpleSect::Post:
781  if (m_insidePre)
782  {
783  m_t << "<formalpara><title>" << theTranslator->trPostcondition() << "</title>" << endl;
784  }
785  else
786  {
787  m_t << "<formalpara><title>" << convertToDocBook(theTranslator->trPostcondition()) << "</title>" << endl;
788  }
789  break;
791  if (m_insidePre)
792  {
793  m_t << "<formalpara><title>" << theTranslator->trCopyright() << "</title>" << endl;
794  }
795  else
796  {
797  m_t << "<formalpara><title>" << convertToDocBook(theTranslator->trCopyright()) << "</title>" << endl;
798  }
799  break;
801  if (m_insidePre)
802  {
803  m_t << "<formalpara><title>" << theTranslator->trInvariant() << "</title>" << endl;
804  }
805  else
806  {
807  m_t << "<formalpara><title>" << convertToDocBook(theTranslator->trInvariant()) << "</title>" << endl;
808  }
809  break;
811  // <remark> is miising the <title> possibility
812  if (m_insidePre)
813  {
814  m_t << "<formalpara><title>" << theTranslator->trRemarks() << "</title>" << endl;
815  }
816  else
817  {
818  m_t << "<formalpara><title>" << convertToDocBook(theTranslator->trRemarks()) << "</title>" << endl;
819  }
820  break;
822  if (m_insidePre)
823  {
824  m_t << "<caution><title>" << theTranslator->trAttention() << "</title>" << endl;
825  }
826  else
827  {
828  m_t << "<caution><title>" << convertToDocBook(theTranslator->trAttention()) << "</title>" << endl;
829  }
830  break;
831  case DocSimpleSect::User:
832  case DocSimpleSect::Rcs:
834  if (s->hasTitle())
835  m_t << "<formalpara>" << endl;
836  else
837  m_t << "<para>" << endl;
838  break;
839  }
840 }
841 
843 {
844 DB_VIS_C
845  if (m_hide) return;
846  switch(s->type())
847  {
848  case DocSimpleSect::User:
849  case DocSimpleSect::Rcs:
851  if (s->hasTitle())
852  m_t << "</formalpara>" << endl;
853  else
854  m_t << "</para>" << endl;
855  break;
856  case DocSimpleSect::Note:
857  m_t << "</note>" << endl;
858  break;
860  m_t << "</caution>" << endl;
861  break;
863  m_t << "</warning>" << endl;
864  break;
865  default:
866  m_t << "</formalpara>" << endl;
867  break;
868  }
869 }
870 
872 {
873 DB_VIS_C
874  if (m_hide) return;
875  if (t->hasTitle()) m_t << "<title>";
876 }
877 
879 {
880 DB_VIS_C
881  if (m_hide) return;
882  if (t->hasTitle()) m_t << "</title>";
883 }
884 
886 {
887 DB_VIS_C
888  if (m_hide) return;
889  m_t << "<itemizedlist>\n";
890 }
891 
893 {
894 DB_VIS_C
895  if (m_hide) return;
896  m_t << "</itemizedlist>\n";
897 }
898 
900 {
901 DB_VIS_C
902  if (m_hide) return;
903  m_t << "<listitem>";
904 }
905 
907 {
908 DB_VIS_C
909  if (m_hide) return;
910  m_t << "</listitem>\n";
911 }
912 
914 {
915 DB_VIS_C
916  if (m_hide) return;
917  m_t << "<section xml:id=\"_" << stripPath(s->file());
918  if (!s->anchor().isEmpty()) m_t << "_1" << s->anchor();
919  m_t << "\">" << endl;
920  m_t << "<title>";
921  filter(s->title());
922  m_t << "</title>" << endl;
923 }
924 
926 {
927 DB_VIS_C
928  m_t << "</section>\n";
929 }
930 
932 {
933 DB_VIS_C
934  if (m_hide) return;
935  if (s->type()==DocHtmlList::Ordered)
936  m_t << "<orderedlist>\n";
937  else
938  m_t << "<itemizedlist>\n";
939 }
940 
942 {
943 DB_VIS_C
944  if (m_hide) return;
945  if (s->type()==DocHtmlList::Ordered)
946  m_t << "</orderedlist>\n";
947  else
948  m_t << "</itemizedlist>\n";
949 }
950 
952 {
953 DB_VIS_C
954  if (m_hide) return;
955  m_t << "<listitem>\n";
956 }
957 
959 {
960 DB_VIS_C
961  if (m_hide) return;
962  m_t << "</listitem>\n";
963 }
964 
966 {
967 DB_VIS_C
968  if (m_hide) return;
969  m_t << "<variablelist>\n";
970 }
971 
973 {
974 DB_VIS_C
975  if (m_hide) return;
976  m_t << "</variablelist>\n";
977 }
978 
980 {
981 DB_VIS_C
982  if (m_hide) return;
983  m_t << "<varlistentry><term>";
984 }
985 
987 {
988 DB_VIS_C
989  if (m_hide) return;
990  m_t << "</term>\n";
991 }
992 
994 {
995 DB_VIS_C
996  if (m_hide) return;
997  m_t << "<listitem>";
998 }
999 
1001 {
1002 DB_VIS_C
1003  if (m_hide) return;
1004  m_t << "</listitem></varlistentry>\n";
1005 }
1006 
1008 {
1009 DB_VIS_C
1010  m_bodySet.push(false);
1011  if (m_hide) return;
1012  m_t << "<informaltable frame=\"all\">" << endl;
1013  m_t << " <tgroup cols=\"" << t->numColumns() << "\" align=\"left\" colsep=\"1\" rowsep=\"1\">" << endl;
1014  for (uint i = 0; i <t->numColumns(); i++)
1015  {
1016  // do something with colwidth based of cell width specification (be aware of possible colspan in the header)?
1017  m_t << " <colspec colname='c" << i+1 << "'/>\n";
1018  }
1019 }
1020 
1022 {
1023 DB_VIS_C
1024  if (m_hide) return;
1025  if (m_bodySet.top()) m_t << " </tbody>" << endl;
1026  m_bodySet.pop();
1027  m_t << " </tgroup>" << endl;
1028  m_t << "</informaltable>" << endl;
1029 }
1030 
1032 {
1033 DB_VIS_C
1034  m_colCnt = 0;
1035  if (m_hide) return;
1036 
1037  if (tr->isHeading())
1038  {
1039  if (m_bodySet.top()) m_t << "</tbody>\n";
1040  m_bodySet.top() = false;
1041  m_t << "<thead>\n";
1042  }
1043  else if (!m_bodySet.top())
1044  {
1045  m_bodySet.top() = true;
1046  m_t << "<tbody>\n";
1047  }
1048 
1049  m_t << " <row ";
1050 
1051  HtmlAttribListIterator li(tr->attribs());
1052  HtmlAttrib *opt;
1053  for (li.toFirst();(opt=li.current());++li)
1054  {
1055  if (supportedHtmlAttribute(opt->name))
1056  {
1057  // process supported attributes only
1058  m_t << " " << opt->name << "='" << convertToDocBook(opt->value) << "'";
1059  }
1060  }
1061  m_t << ">\n";
1062 }
1063 
1065 {
1066 DB_VIS_C
1067  if (m_hide) return;
1068  m_t << "</row>\n";
1069  if (tr->isHeading())
1070  {
1071  m_t << "</thead><tbody>\n";
1072  m_bodySet.top() = true;
1073  }
1074 }
1075 
1077 {
1078 DB_VIS_C
1079  m_colCnt++;
1080  if (m_hide) return;
1081  m_t << "<entry";
1082 
1084  HtmlAttrib *opt;
1085  for (li.toFirst();(opt=li.current());++li)
1086  {
1087  if (opt->name=="colspan")
1088  {
1089  m_t << " namest='c" << m_colCnt << "'";
1090  int cols = opt->value.toInt();
1091  m_colCnt += (cols - 1);
1092  m_t << " nameend='c" << m_colCnt << "'";
1093  }
1094  else if (opt->name=="rowspan")
1095  {
1096  int extraRows = opt->value.toInt() - 1;
1097  m_t << " morerows='" << extraRows << "'";
1098  }
1099  else if (opt->name=="class")
1100  {
1101  if (opt->value.left(13)=="markdownTable") // handle markdown generated attributes
1102  {
1103  if (opt->value.right(5)=="Right")
1104  {
1105  m_t << " align='right'";
1106  }
1107  else if (opt->value.right(4)=="Left")
1108  {
1109  m_t << " align='left'";
1110  }
1111  else if (opt->value.right(6)=="Center")
1112  {
1113  m_t << " align='center'";
1114  }
1115  // skip 'markdownTable*' value ending with "None"
1116  }
1117  else
1118  {
1119  m_t << " class='" << convertToDocBook(opt->value) << "'";
1120  }
1121  }
1122  else if (supportedHtmlAttribute(opt->name))
1123  {
1124  // process supported attributes only
1125  m_t << " " << opt->name << "='" << convertToDocBook(opt->value) << "'";
1126  }
1127  }
1128  m_t << ">";
1129 }
1130 
1132 {
1133 DB_VIS_C
1134  if (m_hide) return;
1135  m_t << "</entry>";
1136 }
1137 
1139 {
1140 DB_VIS_C
1141  if (m_hide) return;
1142  m_t << "<caption>";
1143 }
1144 
1146 {
1147 DB_VIS_C
1148  if (m_hide) return;
1149  m_t << "</caption>\n";
1150 }
1151 
1153 {
1154 DB_VIS_C
1155  if (m_hide) return;
1156  // TODO: to be implemented
1157 }
1158 
1160 {
1161 DB_VIS_C
1162  if (m_hide) return;
1163  // TODO: to be implemented
1164 }
1165 
1167 {
1168 DB_VIS_C
1169  if (m_hide) return;
1170  m_t << "<link xlink:href=\"" << convertToDocBook(href->url()) << "\">";
1171 }
1172 
1174 {
1175 DB_VIS_C
1176  if (m_hide) return;
1177  m_t << "</link>";
1178 }
1179 
1181 {
1182 DB_VIS_C
1183  if (m_hide) return;
1184  m_t << "<formalpara><title>";
1185 }
1186 
1188 {
1189 DB_VIS_C
1190  if (m_hide) return;
1191  m_t << "</title></formalpara>\n";
1192 }
1193 
1195 {
1196 DB_VIS_C
1197  if (img->type()==DocImage::DocBook)
1198  {
1199  if (m_hide) return;
1200  m_t << endl;
1201  QCString baseName=img->name();
1202  int i;
1203  if ((i=baseName.findRev('/'))!=-1 || (i=baseName.findRev('\\'))!=-1)
1204  {
1205  baseName=baseName.right((int)baseName.length()-i-1);
1206  }
1207  visitPreStart(m_t, img->children(), img->hasCaption(), img->relPath() + baseName, img->width(), img->height(), img->isInlineImage());
1208  }
1209  else
1210  {
1211  pushEnabled();
1212  m_hide=TRUE;
1213  }
1214 }
1215 
1217 {
1218 DB_VIS_C
1219  if (img->type()==DocImage::DocBook)
1220  {
1221  if (m_hide) return;
1222  visitPostEnd(m_t, img -> hasCaption(),img -> isInlineImage());
1223  // copy the image to the output dir
1224  QCString baseName=img->name();
1225  int i;
1226  if ((i=baseName.findRev('/'))!=-1 || (i=baseName.findRev('\\'))!=-1)
1227  {
1228  baseName=baseName.right((int)baseName.length()-i-1);
1229  }
1230  QCString m_file;
1231  bool ambig;
1232  FileDef *fd=findFileDef(Doxygen::imageNameLinkedMap, baseName, ambig);
1233  if (fd)
1234  {
1235  m_file=fd->absFilePath();
1236  }
1237  QFile inImage(m_file);
1238  QFile outImage(Config_getString(DOCBOOK_OUTPUT)+"/"+baseName.data());
1239  if (inImage.open(IO_ReadOnly))
1240  {
1241  if (outImage.open(IO_WriteOnly))
1242  {
1243  char *buffer = new char[inImage.size()];
1244  inImage.readBlock(buffer,inImage.size());
1245  outImage.writeBlock(buffer,inImage.size());
1246  outImage.flush();
1247  delete[] buffer;
1248  }
1249  }
1250  }
1251  else
1252  {
1253  popEnabled();
1254  }
1255 }
1256 
1258 {
1259 DB_VIS_C
1260  if (m_hide) return;
1261  startDotFile(df->file(),df->width(),df->height(),df->hasCaption(),df->children());
1262 }
1263 
1265 {
1266 DB_VIS_C
1267  if (m_hide) return;
1268  endDotFile(df->hasCaption());
1269 }
1270 
1272 {
1273 DB_VIS_C
1274  if (m_hide) return;
1275  startMscFile(df->file(),df->width(),df->height(),df->hasCaption(),df->children());
1276 }
1277 
1279 {
1280 DB_VIS_C
1281  if (m_hide) return;
1282  endMscFile(df->hasCaption());
1283 }
1285 {
1286 DB_VIS_C
1287  if (m_hide) return;
1288  startDiaFile(df->file(),df->width(),df->height(),df->hasCaption(),df->children());
1289 }
1290 
1292 {
1293 DB_VIS_C
1294  if (m_hide) return;
1295  endDiaFile(df->hasCaption());
1296 }
1297 
1299 {
1300 DB_VIS_C
1301  if (m_hide) return;
1302  startLink(lnk->file(),lnk->anchor());
1303 }
1304 
1306 {
1307 DB_VIS_C
1308  if (m_hide) return;
1309  endLink();
1310 }
1311 
1313 {
1314 DB_VIS_C
1315  if (m_hide) return;
1316  if (ref->isSubPage())
1317  {
1318  startLink(0,ref->anchor());
1319  }
1320  else
1321  {
1322  if (!ref->file().isEmpty()) startLink(ref->file(),ref->anchor());
1323  }
1324 
1325  if (!ref->hasLinkText()) filter(ref->targetTitle());
1326 }
1327 
1329 {
1330 DB_VIS_C
1331  if (m_hide) return;
1332  if (!ref->file().isEmpty()) endLink();
1333 }
1334 
1336 {
1337 DB_VIS_C
1338  if (m_hide) return;
1339  //m_t << "<tocentry xml:idref=\"_" << stripPath(ref->file()) << "_1" << ref->anchor() << "\">";
1340  m_t << "<tocentry>";
1341 }
1342 
1344 {
1345 DB_VIS_C
1346  if (m_hide) return;
1347  m_t << "</tocentry>" << endl;
1348 }
1349 
1351 {
1352 DB_VIS_C
1353  if (m_hide) return;
1354  m_t << "<toc>" << endl;
1355 }
1356 
1358 {
1359 DB_VIS_C
1360  if (m_hide) return;
1361  m_t << "</toc>" << endl;
1362 }
1363 
1365 {
1366 DB_VIS_C
1367  if (m_hide) return;
1368  m_t << endl;
1369  m_t << " <formalpara>" << endl;
1370  m_t << " <title>" << endl;
1371  switch(s->type())
1372  {
1377  default:
1378  ASSERT(0);
1379  }
1380  m_t << " </title>" << endl;
1381  m_t << " <para>" << endl;
1382  m_t << " <table frame=\"all\">" << endl;
1383  int ncols = 2;
1384  if (s->type() == DocParamSect::Param)
1385  {
1386  bool hasInOutSpecs = s->hasInOutSpecifier();
1387  bool hasTypeSpecs = s->hasTypeSpecifier();
1388  if (hasInOutSpecs && hasTypeSpecs) ncols += 2;
1389  else if (hasInOutSpecs || hasTypeSpecs) ncols += 1;
1390  }
1391  m_t << " <tgroup cols=\"" << ncols << "\" align=\"left\" colsep=\"1\" rowsep=\"1\">" << endl;
1392  for (int i = 1; i <= ncols; i++)
1393  {
1394  if (i == ncols) m_t << " <colspec colwidth=\"4*\"/>" << endl;
1395  else m_t << " <colspec colwidth=\"1*\"/>" << endl;
1396  }
1397  m_t << " <tbody>" << endl;
1398 }
1399 
1401 {
1402 DB_VIS_C
1403  if (m_hide) return;
1404  m_t << " </tbody>" << endl;
1405  m_t << " </tgroup>" << endl;
1406  m_t << " </table>" << endl;
1407  m_t << " </para>" << endl;
1408  m_t << " </formalpara>" << endl;
1409  m_t << " ";
1410 }
1411 
1413 {
1414 DB_VIS_C
1415  if (m_hide) return;
1416  m_t << " <row>" << endl;
1417 
1418  DocParamSect *sect = 0;
1419  if (pl->parent() && pl->parent()->kind()==DocNode::Kind_ParamSect)
1420  {
1421  sect=(DocParamSect*)pl->parent();
1422  }
1423 
1424  if (sect && sect->hasInOutSpecifier())
1425  {
1426  m_t << " <entry>";
1428  {
1429  if (pl->direction()==DocParamSect::In)
1430  {
1431  m_t << "in";
1432  }
1433  else if (pl->direction()==DocParamSect::Out)
1434  {
1435  m_t << "out";
1436  }
1437  else if (pl->direction()==DocParamSect::InOut)
1438  {
1439  m_t << "in,out";
1440  }
1441  }
1442  m_t << " </entry>";
1443  }
1444 
1445  if (sect && sect->hasTypeSpecifier())
1446  {
1448  DocNode *type;
1449  m_t << " <entry>";
1450  for (li.toFirst();(type=li.current());++li)
1451  {
1452  if (type->kind()==DocNode::Kind_Word)
1453  {
1454  visit((DocWord*)type);
1455  }
1456  else if (type->kind()==DocNode::Kind_LinkedWord)
1457  {
1458  visit((DocLinkedWord*)type);
1459  }
1460  else if (type->kind()==DocNode::Kind_Sep)
1461  {
1462  m_t << " " << ((DocSeparator *)type)->chars() << " ";
1463  }
1464 
1465  }
1466  m_t << " </entry>";
1467  }
1468 
1470  DocNode *param;
1471  if (!li.toFirst())
1472  {
1473  m_t << " <entry></entry>" << endl;
1474  }
1475  else
1476  {
1477  m_t << " <entry>";
1478  int cnt = 0;
1479  for (li.toFirst();(param=li.current());++li)
1480  {
1481  if (cnt)
1482  {
1483  m_t << ", ";
1484  }
1485  if (param->kind()==DocNode::Kind_Word)
1486  {
1487  visit((DocWord*)param);
1488  }
1489  else if (param->kind()==DocNode::Kind_LinkedWord)
1490  {
1491  visit((DocLinkedWord*)param);
1492  }
1493  cnt++;
1494  }
1495  m_t << "</entry>" << endl;
1496  }
1497  m_t << " <entry>";
1498 }
1499 
1501 {
1502 DB_VIS_C
1503  if (m_hide) return;
1504  m_t << "</entry>" << endl;
1505  m_t << " </row>" << endl;
1506 }
1507 
1509 {
1510 DB_VIS_C
1511  if (m_hide) return;
1512  if (x->title().isEmpty()) return;
1513  m_t << "<para><link linkend=\"_";
1514  m_t << stripPath(x->file()) << "_1" << x->anchor();
1515  m_t << "\">";
1516  filter(x->title());
1517  m_t << "</link>";
1518  m_t << " ";
1519 }
1520 
1522 {
1523 DB_VIS_C
1524  if (m_hide) return;
1525  if (x->title().isEmpty()) return;
1526  m_t << "</para>";
1527 }
1528 
1530 {
1531 DB_VIS_C
1532  if (m_hide) return;
1533  startLink(ref->file(),ref->anchor());
1534 }
1535 
1537 {
1538 DB_VIS_C
1539  if (m_hide) return;
1540  endLink();
1541  m_t << " ";
1542 }
1543 
1545 {
1546 DB_VIS_C
1547  // TODO: to be implemented
1548 }
1549 
1550 
1552 {
1553 DB_VIS_C
1554  // TODO: to be implemented
1555 }
1556 
1557 
1559 {
1560 DB_VIS_C
1561  if (m_hide) return;
1562  m_t << "<blockquote>";
1563 }
1564 
1566 {
1567 DB_VIS_C
1568  if (m_hide) return;
1569  m_t << "</blockquote>";
1570 }
1571 
1573 {
1574 DB_VIS_C
1575  // TODO: to be implemented
1576 }
1577 
1578 
1580 {
1581 DB_VIS_C
1582  // TODO: to be implemented
1583 }
1584 
1586 {
1587 DB_VIS_C
1588 }
1589 
1591 {
1592 DB_VIS_C
1593 }
1594 
1595 
1596 void DocbookDocVisitor::filter(const char *str)
1597 {
1598 DB_VIS_C
1599  m_t << convertToDocBook(str);
1600 }
1601 
1602 void DocbookDocVisitor::startLink(const QCString &file,const QCString &anchor)
1603 {
1604 DB_VIS_C
1605  m_t << "<link linkend=\"_" << stripPath(file);
1606  if (!anchor.isEmpty())
1607  {
1608  if (file) m_t << "_1";
1609  m_t << anchor;
1610  }
1611  m_t << "\">";
1612 }
1613 
1615 {
1616 DB_VIS_C
1617  m_t << "</link>";
1618 }
1619 
1621 {
1622 DB_VIS_C
1623  m_enabled.push(m_hide);
1624 }
1625 
1627 {
1628 DB_VIS_C
1629  m_hide=m_enabled.top();
1630  m_enabled.pop();
1631 }
1632 
1634 {
1635 DB_VIS_C
1636  QCString shortName = baseName;
1637  int i;
1638  if ((i=shortName.findRev('/'))!=-1)
1639  {
1640  shortName=shortName.right((int)shortName.length()-i-1);
1641  }
1642  QCString outDir = Config_getString(DOCBOOK_OUTPUT);
1643  writeMscGraphFromFile(baseName+".msc",outDir,shortName,MSC_BITMAP);
1644  visitPreStart(m_t, s->children(), s->hasCaption(), s->relPath() + shortName + ".png", s->width(), s->height());
1645  visitCaption(s->children());
1646  visitPostEnd(m_t, s->hasCaption());
1647 }
1648 
1650 {
1651 DB_VIS_C
1652  QCString shortName = baseName;
1653  int i;
1654  if ((i=shortName.findRev('/'))!=-1)
1655  {
1656  shortName=shortName.right((int)shortName.length()-i-1);
1657  }
1658  QCString outDir = Config_getString(DOCBOOK_OUTPUT);
1660  visitPreStart(m_t, s->children(), s->hasCaption(), s->relPath() + shortName + ".png", s->width(),s->height());
1661  visitCaption(s->children());
1662  visitPostEnd(m_t, s->hasCaption());
1663 }
1664 
1666  const QCString &width,
1667  const QCString &height,
1668  bool hasCaption,
1669  const QList<DocNode> &children
1670  )
1671 {
1672 DB_VIS_C
1673  QCString baseName=fileName;
1674  int i;
1675  if ((i=baseName.findRev('/'))!=-1)
1676  {
1677  baseName=baseName.right((int)baseName.length()-i-1);
1678  }
1679  if ((i=baseName.find('.'))!=-1)
1680  {
1681  baseName=baseName.left(i);
1682  }
1683  baseName.prepend("msc_");
1684  QCString outDir = Config_getString(DOCBOOK_OUTPUT);
1685  writeMscGraphFromFile(fileName,outDir,baseName,MSC_BITMAP);
1686  m_t << "<para>" << endl;
1687  visitPreStart(m_t, children, hasCaption, baseName + ".png", width, height);
1688 }
1689 
1690 void DocbookDocVisitor::endMscFile(bool hasCaption)
1691 {
1692 DB_VIS_C
1693  if (m_hide) return;
1694  visitPostEnd(m_t, hasCaption);
1695  m_t << "</para>" << endl;
1696 }
1697 
1699 {
1700 DB_VIS_C
1701  QCString shortName = baseName;
1702  int i;
1703  if ((i=shortName.findRev('/'))!=-1)
1704  {
1705  shortName=shortName.right((int)shortName.length()-i-1);
1706  }
1707  QCString outDir = Config_getString(DOCBOOK_OUTPUT);
1708  writeDiaGraphFromFile(baseName+".dia",outDir,shortName,DIA_BITMAP);
1709  visitPreStart(m_t, s->children(), s->hasCaption(), shortName, s->width(),s->height());
1710  visitCaption(s->children());
1711  visitPostEnd(m_t, s->hasCaption());
1712 }
1713 
1715  const QCString &width,
1716  const QCString &height,
1717  bool hasCaption,
1718  const QList<DocNode> &children
1719  )
1720 {
1721 DB_VIS_C
1722  QCString baseName=fileName;
1723  int i;
1724  if ((i=baseName.findRev('/'))!=-1)
1725  {
1726  baseName=baseName.right((int)baseName.length()-i-1);
1727  }
1728  if ((i=baseName.find('.'))!=-1)
1729  {
1730  baseName=baseName.left(i);
1731  }
1732  baseName.prepend("dia_");
1733  QCString outDir = Config_getString(DOCBOOK_OUTPUT);
1734  writeDiaGraphFromFile(fileName,outDir,baseName,DIA_BITMAP);
1735  m_t << "<para>" << endl;
1736  visitPreStart(m_t, children, hasCaption, baseName + ".png", width, height);
1737 }
1738 
1739 void DocbookDocVisitor::endDiaFile(bool hasCaption)
1740 {
1741 DB_VIS_C
1742  if (m_hide) return;
1743  visitPostEnd(m_t, hasCaption);
1744  m_t << "</para>" << endl;
1745 }
1746 
1748 {
1749 DB_VIS_C
1750  QCString shortName = baseName;
1751  int i;
1752  if ((i=shortName.findRev('/'))!=-1)
1753  {
1754  shortName=shortName.right((int)shortName.length()-i-1);
1755  }
1756  QCString outDir = Config_getString(DOCBOOK_OUTPUT);
1757  writeDotGraphFromFile(baseName+".dot",outDir,shortName,GOF_BITMAP);
1758  visitPreStart(m_t, s->children(), s->hasCaption(), s->relPath() + shortName + "." + getDotImageExtension(), s->width(),s->height());
1759  visitCaption(s->children());
1760  visitPostEnd(m_t, s->hasCaption());
1761 }
1762 
1764  const QCString &width,
1765  const QCString &height,
1766  bool hasCaption,
1767  const QList<DocNode> &children
1768  )
1769 {
1770 DB_VIS_C
1771  QCString baseName=fileName;
1772  int i;
1773  if ((i=baseName.findRev('/'))!=-1)
1774  {
1775  baseName=baseName.right((int)baseName.length()-i-1);
1776  }
1777  if ((i=baseName.find('.'))!=-1)
1778  {
1779  baseName=baseName.left(i);
1780  }
1781  baseName.prepend("dot_");
1782  QCString outDir = Config_getString(DOCBOOK_OUTPUT);
1783  QCString imgExt = getDotImageExtension();
1784  writeDotGraphFromFile(fileName,outDir,baseName,GOF_BITMAP);
1785  m_t << "<para>" << endl;
1786  visitPreStart(m_t, children, hasCaption, baseName + "." + imgExt, width, height);
1787 }
1788 
1789 void DocbookDocVisitor::endDotFile(bool hasCaption)
1790 {
1791 DB_VIS_C
1792  if (m_hide) return;
1793  m_t << endl;
1794  visitPostEnd(m_t, hasCaption);
1795  m_t << "</para>" << endl;
1796 }
1797 
DocStyleChange::style
Style style() const
Definition: docparser.h:396
DocHtmlList::Ordered
@ Ordered
Definition: docparser.h:1112
getLanguageFromFileName
SrcLangExt getLanguageFromFileName(const QCString &fileName)
Definition: util.cpp:6876
DocbookDocVisitor::m_langExt
QCString m_langExt
Definition: docbookvisitor.h:179
GrowBuf::clear
void clear()
Definition: growbuf.h:16
DocHtmlRow::attribs
const HtmlAttribList & attribs() const
Definition: docparser.h:1394
DocInclude::blockId
QCString blockId() const
Definition: docparser.h:604
convertToDocBook
QCString convertToDocBook(const char *s)
Definition: util.cpp:5438
DocInclude::SnippetDoc
@ SnippetDoc
Definition: docparser.h:584
QFileInfo
The QFileInfo class provides system-independent file information.
Definition: qfileinfo.h:52
QCString::isEmpty
bool isEmpty() const
Returns TRUE iff the string is empty.
Definition: qcstring.h:191
DocbookDocVisitor::visit
void visit(DocWord *)
Definition: docbookvisitor.cpp:171
DocParamSect::hasInOutSpecifier
bool hasInOutSpecifier() const
Definition: docparser.h:1184
DocInclude::exampleFile
QCString exampleFile() const
Definition: docparser.h:606
DocImage::height
QCString height() const
Definition: docparser.h:795
lineBlock
int lineBlock(const QCString text, const QCString marker)
Returns the line number of the line following the line with the marker.
Definition: util.cpp:7875
DocNode::kind
virtual Kind kind() const =0
filterId
static QCString filterId(const char *s)
Definition: docbookvisitor.cpp:51
DocbookDocVisitor::DocbookDocVisitor
DocbookDocVisitor(FTextStream &t, CodeOutputInterface &ci)
Definition: docbookvisitor.cpp:155
DocbookDocVisitor::endLink
void endLink()
Definition: docbookvisitor.cpp:1614
DocFormula::relPath
QCString relPath() const
Definition: docparser.h:682
DocAnchor::anchor
QCString anchor() const
Definition: docparser.h:336
DocURL::isEmail
bool isEmail() const
Definition: docparser.h:290
Translator::trRemarks
virtual QCString trRemarks()=0
Doxygen::parserManager
static ParserManager * parserManager
Definition: doxygen.h:130
PlantumlManager::PUML_BITMAP
@ PUML_BITMAP
Definition: plantuml.h:44
stripPath
static QCString stripPath(const QCString &s)
Definition: tagreader.cpp:1299
uint
unsigned uint
Definition: qglobal.h:351
DocWord
Node representing a word.
Definition: docparser.h:240
DocInclude::SnipWithLines
@ SnipWithLines
Definition: docparser.h:584
DocXRefItem::file
QCString file() const
Definition: docparser.h:767
DocInclude::extension
QCString extension() const
Definition: docparser.h:595
DocParamSect::type
Type type() const
Definition: docparser.h:1183
DocVerbatim::children
const QList< DocNode > & children() const
Definition: docparser.h:558
DocSection::file
QCString file() const
Definition: docparser.h:1034
DocStyleChange::S
@ S
Definition: docparser.h:388
DocSimpleSect::Post
@ Post
Definition: docparser.h:1133
DocVerbatim::width
QCString width() const
Definition: docparser.h:556
DocAnchor::file
QCString file() const
Definition: docparser.h:337
DocHtmlCell
Node representing a HTML table cell.
Definition: docparser.h:1334
DocVerbatim
Node representing a verbatim, unparsed text fragment.
Definition: docparser.h:539
QFileInfo::dirPath
QString dirPath(bool absPath=FALSE) const
Definition: qfileinfo_unix.cpp:358
DocNode::accept
virtual void accept(DocVisitor *v)=0
Doxygen::imageNameLinkedMap
static FileNameLinkedMap * imageNameLinkedMap
Definition: doxygen.h:104
DocHtmlRow::isHeading
bool isHeading() const
Definition: docparser.h:1397
DIA_BITMAP
@ DIA_BITMAP
Definition: dia.h:24
DocImage::width
QCString width() const
Definition: docparser.h:794
DocInclude::Snippet
@ Snippet
Definition: docparser.h:584
QCString::findRev
int findRev(char c, int index=-1, bool cs=TRUE) const
Definition: qcstring.cpp:97
DocNode::Kind_Word
@ Kind_Word
Definition: docparser.h:91
DocParamSect::Out
@ Out
Definition: docparser.h:1176
DocRef::file
QCString file() const
Definition: docparser.h:921
FTextStream
Simplified and optimized version of QTextStream.
Definition: ftextstream.h:12
PlantumlManager::generatePlantUMLOutput
void generatePlantUMLOutput(const char *baseName, const char *outDir, OutputFormat format)
Convert a PlantUML file to an image.
Definition: plantuml.cpp:85
DocSecRefItem
Node representing a reference to a section.
Definition: docparser.h:1047
DocMscFile::file
QCString file() const
Definition: docparser.h:845
DocInternalRef
Node representing an internal reference to some item.
Definition: docparser.h:945
DocHRef
Node representing a Hypertext reference.
Definition: docparser.h:962
DocInclude::text
QCString text() const
Definition: docparser.h:602
MSC_BITMAP
@ MSC_BITMAP
Definition: msc.h:24
DocSection::title
QCString title() const
Definition: docparser.h:1031
msc.h
DocbookDocVisitor::writeMscFile
void writeMscFile(const QCString &fileName, DocVerbatim *s)
Definition: docbookvisitor.cpp:1633
Translator::trAttention
virtual QCString trAttention()=0
DocSymbol
Node representing a special symbol.
Definition: docparser.h:414
DocDotFile::width
QCString width() const
Definition: docparser.h:825
DocImage::DocBook
@ DocBook
Definition: docparser.h:787
SrcLangExt
SrcLangExt
Language as given by extension.
Definition: types.h:43
GrowBuf::get
const char * get()
Definition: growbuf.h:48
DocStyleChange::Subscript
@ Subscript
Definition: docparser.h:379
DocVerbatim::ManOnly
@ ManOnly
Definition: docparser.h:541
DocbookDocVisitor::filter
void filter(const char *str)
Definition: docbookvisitor.cpp:1596
growbuf.h
QListIterator
The QListIterator class provides an iterator for QList collections.
Definition: qlist.h:128
DocSimpleSectSep
Node representing a separator between two simple sections of the same type.
Definition: docparser.h:1156
DocEmoji::index
int index() const
Definition: docparser.h:502
DocRef
Node representing a reference to some item.
Definition: docparser.h:916
DocInclude::VerbInclude
@ VerbInclude
Definition: docparser.h:583
DocImage::relPath
QCString relPath() const
Definition: docparser.h:796
DocInclude::type
Type type() const
Definition: docparser.h:601
Translator::trExceptions
virtual QCString trExceptions()=0
data
const char *const void * data
Definition: iconv.h:120
Translator::trSince
virtual QCString trSince()=0
DocParBlock
Node representing an block of paragraphs.
Definition: docparser.h:1087
DocInternalRef::file
QCString file() const
Definition: docparser.h:950
QCString::length
uint length() const
Returns the length of the string, excluding the 0-terminator.
Definition: qcstring.h:197
createFileDef
FileDef * createFileDef(const char *p, const char *n, const char *ref, const char *dn)
Definition: filedef.cpp:183
QFile::writeBlock
int writeBlock(const char *data, uint len)
Definition: qfile_unix.cpp:537
DocNode::Kind_LinkedWord
@ Kind_LinkedWord
Definition: docparser.h:132
DocHtmlListItem
Node representing a HTML list item.
Definition: docparser.h:1304
languages.l
l
Definition: languages.py:75
DocVerbatim::context
QCString context() const
Definition: docparser.h:548
EmojiEntityMapper::instance
static EmojiEntityMapper * instance()
Returns the one and only instance of the Emoji entity mapper.
Definition: emoji.cpp:1539
IO_WriteOnly
#define IO_WriteOnly
Definition: qiodevice.h:62
DocParamSect::In
@ In
Definition: docparser.h:1176
err
void err(const char *fmt,...)
Definition: message.cpp:238
DocDotFile::file
QCString file() const
Definition: docparser.h:822
DocSimpleSect::Since
@ Since
Definition: docparser.h:1132
DocInclude
Node representing an included text block from file.
Definition: docparser.h:581
QList< DocNode >
DocSimpleList
Node representing a simple list.
Definition: docparser.h:1099
DocVerbatim::Dot
@ Dot
Definition: docparser.h:541
DocbookDocVisitor::m_colCnt
int m_colCnt
Definition: docbookvisitor.h:180
DocImage::type
Type type() const
Definition: docparser.h:791
DocSimpleSect::Version
@ Version
Definition: docparser.h:1132
DocDiaFile::hasCaption
bool hasCaption() const
Definition: docparser.h:870
GrowBuf::addStr
void addStr(const QCString &s)
Definition: growbuf.h:20
HtmlAttrib::value
QCString value
Definition: htmlattrib.h:25
filename.h
QFile::readBlock
int readBlock(char *data, uint len)
Definition: qfile_unix.cpp:473
DocDotFile::hasCaption
bool hasCaption() const
Definition: docparser.h:824
DocDotFile
Node representing a dot file.
Definition: docparser.h:816
extractBlock
QCString extractBlock(const QCString text, const QCString marker)
Returns the section of text, in between a pair of markers.
Definition: util.cpp:7830
DocCite::anchor
QCString anchor() const
Definition: docparser.h:357
Translator::trReturns
virtual QCString trReturns()=0
config.h
DocIncOperator::context
QCString context() const
Definition: docparser.h:649
DocRef::anchor
QCString anchor() const
Definition: docparser.h:924
DocStyleChange::Div
@ Div
Definition: docparser.h:383
DocImage
Node representing an image.
Definition: docparser.h:785
DocIncOperator::isLast
bool isLast() const
Definition: docparser.h:652
DocStyleChange::Ins
@ Ins
Definition: docparser.h:387
DocVerbatim::PlantUML
@ PlantUML
Definition: docparser.h:541
DocVerbatim::XmlOnly
@ XmlOnly
Definition: docparser.h:541
DocHtmlTable
Node representing a HTML table.
Definition: docparser.h:1423
DocParamList::direction
DocParamSect::Direction direction() const
Definition: docparser.h:1256
QCString
This is an alternative implementation of QCString.
Definition: qcstring.h:134
DocHtmlRow
Node representing a HTML table row.
Definition: docparser.h:1387
DocIncOperator::isFirst
bool isFirst() const
Definition: docparser.h:651
DocLinkedWord::word
QCString word() const
Definition: docparser.h:261
DocWord::word
QCString word() const
Definition: docparser.h:243
DocSimpleSect::Rcs
@ Rcs
Definition: docparser.h:1133
DocSimpleSect::Invar
@ Invar
Definition: docparser.h:1133
DocNode
Abstract node interface with type information.
Definition: docparser.h:87
DocImage::hasCaption
bool hasCaption() const
Definition: docparser.h:793
DocVerbatim::type
Type type() const
Definition: docparser.h:546
DocInclude::LatexInclude
@ LatexInclude
Definition: docparser.h:583
FileDef
A model of a file symbol.
Definition: filedef.h:65
ParserManager::getCodeParser
CodeParserInterface & getCodeParser(const char *extension)
Gets the interface to the parser associated with given extension.
Definition: parserintf.h:227
DocInclude::file
QCString file() const
Definition: docparser.h:594
Config_getString
#define Config_getString(val)
Definition: config.h:34
qfileinfo.h
Translator::trNote
virtual QCString trNote()=0
DocIncOperator::includeFileName
QCString includeFileName() const
Definition: docparser.h:657
Translator::trReturnValues
virtual QCString trReturnValues()=0
getFileNameExtension
QCString getFileNameExtension(QCString fn)
Definition: util.cpp:6893
DocVerbatim::LatexOnly
@ LatexOnly
Definition: docparser.h:541
TRUE
@ TRUE
Definition: mscgen_bool.h:29
outputgen.h
DocVerbatim::hasCaption
bool hasCaption() const
Definition: docparser.h:555
FALSE
@ FALSE
Definition: mscgen_bool.h:28
dot.h
DocVerbatim::Verbatim
@ Verbatim
Definition: docparser.h:541
DocIncOperator::type
Type type() const
Definition: docparser.h:633
DocSimpleSect::Date
@ Date
Definition: docparser.h:1132
HtmlAttribListIterator
Html attribute list iterator.
Definition: htmlattrib.h:72
HtmlEntityMapper::docbook
const char * docbook(DocSymbol::SymType symb) const
Access routine to the docbook code of the HTML entity.
Definition: htmlentity.cpp:417
Translator::trInvariant
virtual QCString trInvariant()=0
DocbookDocVisitor::writeDotFile
void writeDotFile(const QCString &fileName, DocVerbatim *s)
Definition: docbookvisitor.cpp:1747
DocIncOperator::line
int line() const
Definition: docparser.h:645
DocbookDocVisitor::m_ci
CodeOutputInterface & m_ci
Definition: docbookvisitor.h:175
Translator::trCopyright
virtual QCString trCopyright()=0
QCString::toInt
int toInt(bool *ok=0, int base=10) const
Definition: qcstring.cpp:497
docbookvisitor.h
QString::utf8
QCString utf8() const
Definition: qstring.cpp:14558
DocStyleChange::Superscript
@ Superscript
Definition: docparser.h:380
DocStyleChange::Small
@ Small
Definition: docparser.h:378
message.h
DocDiaFile::file
QCString file() const
Definition: docparser.h:868
DocNode::Kind_ParamSect
@ Kind_ParamSect
Definition: docparser.h:133
DocbookDocVisitor::startDotFile
void startDotFile(const QCString &fileName, const QCString &width, const QCString &height, bool hasCaption, const QList< DocNode > &children)
Definition: docbookvisitor.cpp:1763
DocSimpleSect::type
Type type() const
Definition: docparser.h:1138
DocStyleChange::Italic
@ Italic
Definition: docparser.h:375
Translator::trWarning
virtual QCString trWarning()=0
DocTitle
Node representing a simple section title.
Definition: docparser.h:750
DocbookDocVisitor::m_t
FTextStream & m_t
Definition: docbookvisitor.h:174
DocVerbatim::Msc
@ Msc
Definition: docparser.h:541
DocParamSect
Node representing a parameter section.
Definition: docparser.h:1167
DocXRefItem
Node representing an item of a cross-referenced list.
Definition: docparser.h:763
Translator::trDate
virtual QCString trDate()=0
DocHtmlList::type
Type type() const
Definition: docparser.h:1116
theTranslator
Translator * theTranslator
Copyright (C) 1997-2015 by Dimitri van Heesch.
Definition: language.cpp:157
DocVisitor_Docbook
const int DocVisitor_Docbook
Definition: docvisitor.h:30
docbookgen.h
Translator::trTemplateParameters
virtual QCString trTemplateParameters()=0
DocSimpleSect::Unknown
@ Unknown
Definition: docparser.h:1132
DocVerbatim::RtfOnly
@ RtfOnly
Definition: docparser.h:541
DocbookDocVisitor::visitCaption
void visitCaption(const QList< DocNode > &children)
Definition: docbookvisitor.cpp:87
DocCite::text
QCString text() const
Definition: docparser.h:358
DocAutoList
Node representing an auto List.
Definition: docparser.h:717
CodeParserInterface::parseCode
virtual void parseCode(CodeOutputInterface &codeOutIntf, const char *scopeName, const QCString &input, SrcLangExt lang, bool isExampleBlock, const char *exampleName=0, FileDef *fileDef=0, int startLine=-1, int endLine=-1, bool inlineFragment=FALSE, const MemberDef *memberDef=0, bool showLineNumbers=TRUE, const Definition *searchCtx=0, bool collectXRefs=TRUE)=0
Parses a source file or fragment with the goal to produce highlighted and cross-referenced output.
DocIncOperator
Node representing a include/dontinclude operator block.
Definition: docparser.h:624
doxygen.h
DocSimpleSect::Note
@ Note
Definition: docparser.h:1133
parserintf.h
DocParamList
Node representing a parameter list.
Definition: docparser.h:1242
DocVerbatim::exampleFile
QCString exampleFile() const
Definition: docparser.h:551
DocStyleChange::Center
@ Center
Definition: docparser.h:377
DocStyleChange::Underline
@ Underline
Definition: docparser.h:385
language.h
writeDotGraphFromFile
void writeDotGraphFromFile(const char *inFile, const char *outDir, const char *outFile, GraphOutputFormat format)
Definition: dot.cpp:267
DocWhiteSpace
Node representing some amount of white space.
Definition: docparser.h:513
QFile::open
bool open(int)
Definition: qfile_unix.cpp:134
DocbookDocVisitor::visitPreStart
void visitPreStart(FTextStream &t, const QList< DocNode > &children, bool hasCaption, const QCString &name, const QCString &width, const QCString &height, bool inlineImage=FALSE)
Definition: docbookvisitor.cpp:94
QCString::right
QCString right(uint len) const
Definition: qcstring.cpp:259
QListIterator::current
type * current() const
Definition: qlist.h:147
DocURL::url
QCString url() const
Definition: docparser.h:287
DocDiaFile::height
QCString height() const
Definition: docparser.h:872
DocMscFile::hasCaption
bool hasCaption() const
Definition: docparser.h:847
DocHtmlDescList
Node representing a Html description list.
Definition: docparser.h:1011
DocSimpleSect::See
@ See
Definition: docparser.h:1132
DocSection
Node representing a normal section.
Definition: docparser.h:1025
DocIndexEntry::entry
QCString entry() const
Definition: docparser.h:704
docparser.h
DocIncOperator::Skip
@ Skip
Definition: docparser.h:626
Translator::trParameters
virtual QCString trParameters()=0
DocInclude::DocbookInclude
@ DocbookInclude
Definition: docparser.h:585
DocSimpleSect::Remark
@ Remark
Definition: docparser.h:1133
DocNode::Kind_Sep
@ Kind_Sep
Definition: docparser.h:144
DocSimpleSect::Return
@ Return
Definition: docparser.h:1132
CodeOutputInterface
Output interface for code parser.
Definition: outputgen.h:60
DocXRefItem::anchor
QCString anchor() const
Definition: docparser.h:768
writeMscGraphFromFile
void writeMscGraphFromFile(const char *inFile, const char *outDir, const char *outFile, MscOutputFormat format)
Definition: msc.cpp:94
supportedHtmlAttribute
static bool supportedHtmlAttribute(const QCString &name)
Definition: docbookvisitor.cpp:70
DocVerbatim::relPath
QCString relPath() const
Definition: docparser.h:552
DocLinkedWord::file
QCString file() const
Definition: docparser.h:263
DocInclude::IncludeDoc
@ IncludeDoc
Definition: docparser.h:584
DocStyleChange::Strike
@ Strike
Definition: docparser.h:384
filedef.h
DocbookDocVisitor::popEnabled
void popEnabled()
Definition: docbookvisitor.cpp:1626
QCString::left
QCString left(uint len) const
Definition: qcstring.cpp:241
dia.h
EmojiEntityMapper::unicode
const char * unicode(int index) const
Access routine to the unicode sequence for the Emoji entity.
Definition: emoji.cpp:1584
DocHtmlList
Node representing a Html list.
Definition: docparser.h:1110
DocbookDocVisitor::endDotFile
void endDotFile(bool hasCaption)
Definition: docbookvisitor.cpp:1789
DocIncOperator::exampleFile
QCString exampleFile() const
Definition: docparser.h:656
DocStyleChange::Del
@ Del
Definition: docparser.h:386
HtmlEntityMapper::instance
static HtmlEntityMapper * instance()
Returns the one and only instance of the HTML entity mapper.
Definition: htmlentity.cpp:343
Translator::trAuthor
virtual QCString trAuthor(bool first_capital, bool singular)=0
DocFormula::name
QCString name() const
Definition: docparser.h:680
DocInclude::isExample
bool isExample() const
Definition: docparser.h:605
DocMscFile::width
QCString width() const
Definition: docparser.h:848
DocVerbatim::HtmlOnly
@ HtmlOnly
Definition: docparser.h:541
DocDiaFile
Node representing a dia file.
Definition: docparser.h:862
findFileDef
FileDef * findFileDef(const FileNameLinkedMap *fnMap, const char *n, bool &ambig)
Definition: util.cpp:4485
DocbookDocVisitor::m_bodySet
std::stack< bool > m_bodySet
Definition: docbookvisitor.h:181
CompAccept::children
const QList< DocNode > & children() const
Definition: docparser.h:197
DocParamSect::hasTypeSpecifier
bool hasTypeSpecifier() const
Definition: docparser.h:1185
DocStyleChange::Preformatted
@ Preformatted
Definition: docparser.h:381
DocSimpleSect
Node representing a simple section.
Definition: docparser.h:1128
DocStyleChange
Node representing a style change.
Definition: docparser.h:372
DocTitle::hasTitle
bool hasTitle() const
Definition: docparser.h:756
DB_VIS_C
#define DB_VIS_C
Copyright (C) 1997-2020 by Dimitri van Heesch.
Definition: docbookvisitor.cpp:45
DocStyleChange::Span
@ Span
Definition: docparser.h:382
DocCite::file
QCString file() const
Definition: docparser.h:354
Translator::trPostcondition
virtual QCString trPostcondition()=0
DocParamSect::TemplateParam
@ TemplateParam
Definition: docparser.h:1172
DocInclude::DontIncWithLines
@ DontIncWithLines
Definition: docparser.h:585
DocRef::isSubPage
bool isSubPage() const
Definition: docparser.h:930
DocHtmlTable::numColumns
uint numColumns() const
Definition: docparser.h:1434
DocbookDocVisitor::startMscFile
void startMscFile(const QCString &fileName, const QCString &width, const QCString &height, bool hasCaption, const QList< DocNode > &children)
Definition: docbookvisitor.cpp:1665
DocPara
Node representing a paragraph in the documentation tree.
Definition: docparser.h:1195
DocSimpleSect::Pre
@ Pre
Definition: docparser.h:1133
DocStyleChange::Bold
@ Bold
Definition: docparser.h:374
QListIterator::toFirst
type * toFirst()
Definition: qlist.h:136
Translator::trPrecondition
virtual QCString trPrecondition()=0
DocImage::isInlineImage
bool isInlineImage() const
Definition: docparser.h:798
QFileInfo::fileName
QString fileName() const
Definition: qfileinfo_unix.cpp:387
PlantumlManager::instance
static PlantumlManager * instance()
Definition: plantuml.cpp:119
DocStyleChange::Code
@ Code
Definition: docparser.h:376
DocParamSect::Param
@ Param
Definition: docparser.h:1172
DocbookDocVisitor::m_hide
bool m_hide
Definition: docbookvisitor.h:177
GOF_BITMAP
@ GOF_BITMAP
Definition: dotgraph.h:26
DocLineBreak
Node representing a line break.
Definition: docparser.h:301
HtmlAttrib
Copyright (C) 1997-2015 by Dimitri van Heesch.
Definition: htmlattrib.h:23
HtmlAttrib::name
QCString name
Definition: htmlattrib.h:24
DocText
Root node of a text fragment.
Definition: docparser.h:1466
QCString::data
const char * data() const
Returns a pointer to the contents of the string in the form of a 0-terminated C string.
Definition: qcstring.h:209
DocbookDocVisitor::writeDiaFile
void writeDiaFile(const QCString &fileName, DocVerbatim *s)
Definition: docbookvisitor.cpp:1698
DocInclude::IncWithLines
@ IncWithLines
Definition: docparser.h:584
DocAnchor
Node representing an anchor.
Definition: docparser.h:332
QCString::prepend
QCString & prepend(const char *s)
Definition: qcstring.cpp:415
DocbookDocVisitor::startDiaFile
void startDiaFile(const QCString &fileName, const QCString &width, const QCString &height, bool hasCaption, const QList< DocNode > &children)
Definition: docbookvisitor.cpp:1714
DocHtmlDescTitle
Node representing a Html description item.
Definition: docparser.h:997
DocSymbol::symbol
SymType symbol() const
Definition: docparser.h:487
DocbookDocVisitor::endMscFile
void endMscFile(bool hasCaption)
Definition: docbookvisitor.cpp:1690
DocSimpleSect::Authors
@ Authors
Definition: docparser.h:1132
DocbookDocVisitor::~DocbookDocVisitor
~DocbookDocVisitor()
Definition: docbookvisitor.cpp:161
DocParamSect::Unspecified
@ Unspecified
Definition: docparser.h:1176
Translator::trVersion
virtual QCString trVersion()=0
DocVisitor
Abstract visitor that participates in the visitor pattern.
Definition: docvisitor.h:91
GrowBuf::addChar
void addChar(char c)
Definition: growbuf.h:17
DocMscFile::height
QCString height() const
Definition: docparser.h:849
QFile::flush
void flush()
Definition: qfile.cpp:228
getDotImageExtension
QCString getDotImageExtension(void)
Definition: util.cpp:8436
DocWhiteSpace::chars
QCString chars() const
Definition: docparser.h:518
DocHorRuler
Node representing a horizontal ruler.
Definition: docparser.h:317
DocCite
Node representing a citation of some bibliographic reference.
Definition: docparser.h:350
DocEmoji
Node representing a n emoji.
Definition: docparser.h:498
DocbookDocVisitor::pushEnabled
void pushEnabled()
Definition: docbookvisitor.cpp:1620
DocLinkedWord
Node representing a word that can be linked to something.
Definition: docparser.h:256
DocbookDocVisitor::m_insidePre
bool m_insidePre
Definition: docbookvisitor.h:176
DocbookDocVisitor::visitPostEnd
void visitPostEnd(FTextStream &t, bool hasCaption, bool inlineImage=FALSE)
Definition: docbookvisitor.cpp:137
DocIndexEntry
Node representing an entry in the index.
Definition: docparser.h:696
DocHRef::url
QCString url() const
Definition: docparser.h:968
DocEmoji::name
QCString name() const
Definition: docparser.h:501
DocbookDocVisitor::visitPost
void visitPost(DocAutoList *)
Definition: docbookvisitor.cpp:618
DocInclude::DontInclude
@ DontInclude
Definition: docparser.h:583
QFile::size
uint size() const
Definition: qfile_unix.cpp:398
DocParamList::paramTypes
const QList< DocNode > & paramTypes()
Definition: docparser.h:1254
DocInclude::HtmlInclude
@ HtmlInclude
Definition: docparser.h:583
DocHtmlDescData
Node representing a HTML description data.
Definition: docparser.h:1321
writeDiaGraphFromFile
void writeDiaGraphFromFile(const char *inFile, const char *outDir, const char *outFile, DiaOutputFormat format)
Definition: dia.cpp:28
emoji.h
DocParamSect::InOut
@ InOut
Definition: docparser.h:1176
DocInternal
Node representing an internal section of documentation.
Definition: docparser.h:1076
DocIncOperator::isExample
bool isExample() const
Definition: docparser.h:655
plantuml.h
ASSERT
#define ASSERT(x)
Definition: qglobal.h:591
DocVerbatim::text
QCString text() const
Definition: docparser.h:547
DocSecRefList
Node representing a list of section references.
Definition: docparser.h:1065
DocXRefItem::title
QCString title() const
Definition: docparser.h:769
DocParamList::parameters
const QList< DocNode > & parameters()
Definition: docparser.h:1253
DocSimpleSect::hasTitle
bool hasTitle() const
Definition: docparser.h:1145
DocInternalRef::anchor
QCString anchor() const
Definition: docparser.h:952
DocVerbatim::DocbookOnly
@ DocbookOnly
Definition: docparser.h:541
DocIncOperator::showLineNo
bool showLineNo() const
Definition: docparser.h:646
DocRoot
Root node of documentation tree.
Definition: docparser.h:1476
GrowBuf
Class representing a string buffer optimised for growing.
Definition: growbuf.h:11
DocbookDocVisitor::visitPre
void visitPre(DocAutoList *)
Definition: docbookvisitor.cpp:604
DocHtmlCaption
Node representing a HTML table caption.
Definition: docparser.h:1368
DocSimpleSect::Attention
@ Attention
Definition: docparser.h:1133
DocbookDocVisitor::m_enabled
std::stack< bool > m_enabled
Definition: docbookvisitor.h:178
DocMscFile
Node representing a msc file.
Definition: docparser.h:839
endl
QTextStream & endl(QTextStream &s)
Definition: qtextstream.cpp:2030
DocDotFile::height
QCString height() const
Definition: docparser.h:826
DocInclude::XmlInclude
@ XmlInclude
Definition: docparser.h:585
DocSimpleSect::Warning
@ Warning
Definition: docparser.h:1133
htmlentity.h
DocHtmlBlockQuote
Node representing an HTML blockquote.
Definition: docparser.h:1452
DocIncOperator::text
QCString text() const
Definition: docparser.h:647
DocVhdlFlow
Node representing a VHDL flow chart.
Definition: docparser.h:885
DocNode::parent
DocNode * parent() const
Definition: docparser.h:156
PlantumlManager::writePlantUMLSource
QCString writePlantUMLSource(const QCString &outDir, const QCString &fileName, const QCString &content, OutputFormat format)
Write a PlantUML compatible file.
Definition: plantuml.cpp:30
DocInclude::ManInclude
@ ManInclude
Definition: docparser.h:585
DocbookDocVisitor::writePlantUMLFile
void writePlantUMLFile(const QCString &fileName, DocVerbatim *s)
Definition: docbookvisitor.cpp:1649
util.h
Copyright (C) 1997-2015 by Dimitri van Heesch.
DocVerbatim::height
QCString height() const
Definition: docparser.h:557
DocbookDocVisitor::endDiaFile
void endDiaFile(bool hasCaption)
Definition: docbookvisitor.cpp:1739
DocSimpleSect::Copyright
@ Copyright
Definition: docparser.h:1133
DocVerbatim::isExample
bool isExample() const
Definition: docparser.h:550
DocLinkedWord::anchor
QCString anchor() const
Definition: docparser.h:266
DocParamSect::RetVal
@ RetVal
Definition: docparser.h:1172
DocImage::name
QCString name() const
Definition: docparser.h:792
DocInclude::RtfInclude
@ RtfInclude
Definition: docparser.h:585
DocParamSect::Exception
@ Exception
Definition: docparser.h:1172
QFile::close
void close()
Definition: qfile_unix.cpp:614
DocbookDocVisitor::startLink
void startLink(const QCString &file, const QCString &anchor)
Definition: docbookvisitor.cpp:1602
DocSimpleSect::Author
@ Author
Definition: docparser.h:1132
DocSimpleListItem
Node representing a simple list item.
Definition: docparser.h:1284
DocVerbatim::Code
@ Code
Definition: docparser.h:541
DocSeparator
Node representing a separator.
Definition: docparser.h:526
DocHtmlHeader
Node Html heading.
Definition: docparser.h:981
DocFormula::isInline
bool isInline()
Definition: docparser.h:685
QCString::sprintf
QCString & sprintf(const char *format,...)
Copyright (C) 1997-2015 by Dimitri van Heesch.
Definition: qcstring.cpp:28
DocRef::targetTitle
QCString targetTitle() const
Definition: docparser.h:925
DocInclude::context
QCString context() const
Definition: docparser.h:603
IO_ReadOnly
#define IO_ReadOnly
Definition: qiodevice.h:61
DocURL
Node representing a URL (or email address)
Definition: docparser.h:283
QFile
The QFile class is an I/O device that operates on files.
Definition: qfile.h:51
DocSection::anchor
QCString anchor() const
Definition: docparser.h:1032
DocStyleChange::enable
bool enable() const
Definition: docparser.h:398
DocHtmlCell::attribs
const HtmlAttribList & attribs() const
Definition: docparser.h:1346
FileDef::absFilePath
virtual QCString absFilePath() const =0
DocSimpleSect::User
@ User
Definition: docparser.h:1133
Translator::trSeeAlso
virtual QCString trSeeAlso()=0
DocAutoListItem
Node representing an item of a auto list.
Definition: docparser.h:734
DocInclude::Include
@ Include
Definition: docparser.h:583
DocRef::hasLinkText
bool hasLinkText() const
Definition: docparser.h:926
DocDiaFile::width
QCString width() const
Definition: docparser.h:871
DocFormula
Node representing an item of a cross-referenced list.
Definition: docparser.h:676