1 /******************************************************************************
6 * Copyright (C) 1997-2015 by Dimitri van Heesch.
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.
14 * Documents produced by Doxygen are derivative works derived from the
15 * input used in their production; they are not affected by this license.
19 #ifndef _TEXTDOCVISITOR_H
20 #define _TEXTDOCVISITOR_H
22 #include "docvisitor.h"
23 #include "docparser.h"
26 #include "ftextstream.h"
29 /*! @brief Concrete visitor implementation for TEXT output. */
30 class TextDocVisitor : public DocVisitor
33 TextDocVisitor(FTextStream &t) : DocVisitor(DocVisitor_Text), m_t(t) {}
35 //--------------------------------------
36 // visitor functions for leaf nodes
37 //--------------------------------------
39 void visit(DocWord *w) { filter(w->word()); }
40 void visit(DocLinkedWord *w) { filter(w->word()); }
41 void visit(DocWhiteSpace *) { m_t << " "; }
42 void visit(DocSymbol *);
43 void visit(DocURL *u) { filter(u->url()); }
44 void visit(DocLineBreak *) { m_t << " "; }
45 void visit(DocHorRuler *) {}
46 void visit(DocStyleChange *) {}
47 void visit(DocVerbatim *s) { filter(s->text()); }
48 void visit(DocAnchor *) {}
49 void visit(DocInclude *) {}
50 void visit(DocIncOperator *) {}
51 void visit(DocFormula *) {}
52 void visit(DocIndexEntry *) {}
53 void visit(DocSimpleSectSep *){}
54 void visit(DocCite *) {}
56 //--------------------------------------
57 // visitor functions for compound nodes
58 //--------------------------------------
60 void visitPre(DocAutoList *) {}
61 void visitPost(DocAutoList *) {}
62 void visitPre(DocAutoListItem *) {}
63 void visitPost(DocAutoListItem *) {}
64 void visitPre(DocPara *) {}
65 void visitPost(DocPara *) {}
66 void visitPre(DocRoot *) {}
67 void visitPost(DocRoot *) {}
68 void visitPre(DocSimpleSect *) {}
69 void visitPost(DocSimpleSect *) {}
70 void visitPre(DocTitle *) {}
71 void visitPost(DocTitle *) {}
72 void visitPre(DocSimpleList *) {}
73 void visitPost(DocSimpleList *) {}
74 void visitPre(DocSimpleListItem *) {}
75 void visitPost(DocSimpleListItem *) {}
76 void visitPre(DocSection *) {}
77 void visitPost(DocSection *) {}
78 void visitPre(DocHtmlList *) {}
79 void visitPost(DocHtmlList *) {}
80 void visitPre(DocHtmlListItem *) {}
81 void visitPost(DocHtmlListItem *) {}
82 void visitPre(DocHtmlDescList *) {}
83 void visitPost(DocHtmlDescList *) {}
84 void visitPre(DocHtmlDescTitle *) {}
85 void visitPost(DocHtmlDescTitle *) {}
86 void visitPre(DocHtmlDescData *) {}
87 void visitPost(DocHtmlDescData *) {}
88 void visitPre(DocHtmlTable *) {}
89 void visitPost(DocHtmlTable *) {}
90 void visitPre(DocHtmlRow *) {}
91 void visitPost(DocHtmlRow *) {}
92 void visitPre(DocHtmlCell *) {}
93 void visitPost(DocHtmlCell *) {}
94 void visitPre(DocHtmlCaption *) {}
95 void visitPost(DocHtmlCaption *) {}
96 void visitPre(DocInternal *) {}
97 void visitPost(DocInternal *) {}
98 void visitPre(DocHRef *) {}
99 void visitPost(DocHRef *) {}
100 void visitPre(DocHtmlHeader *) {}
101 void visitPost(DocHtmlHeader *) {}
102 void visitPre(DocImage *) {}
103 void visitPost(DocImage *) {}
104 void visitPre(DocDotFile *) {}
105 void visitPost(DocDotFile *) {}
107 void visitPre(DocMscFile *) {}
108 void visitPost(DocMscFile *) {}
109 void visitPre(DocDiaFile *) {}
110 void visitPost(DocDiaFile *) {}
111 void visitPre(DocLink *) {}
112 void visitPost(DocLink *) {}
113 void visitPre(DocRef *) {}
114 void visitPost(DocRef *) {}
115 void visitPre(DocSecRefItem *) {}
116 void visitPost(DocSecRefItem *) {}
117 void visitPre(DocSecRefList *) {}
118 void visitPost(DocSecRefList *) {}
119 void visitPre(DocParamSect *) {}
120 void visitPost(DocParamSect *) {}
121 void visitPre(DocParamList *) {}
122 void visitPost(DocParamList *) {}
123 void visitPre(DocXRefItem *) {}
124 void visitPost(DocXRefItem *) {}
125 void visitPre(DocInternalRef *) {}
126 void visitPost(DocInternalRef *) {}
127 void visitPre(DocCopy *) {}
128 void visitPost(DocCopy *) {}
129 void visitPre(DocText *) {}
130 void visitPost(DocText *) {}
131 void visitPre(DocHtmlBlockQuote *) {}
132 void visitPost(DocHtmlBlockQuote *) {}
133 void visitPre(DocVhdlFlow *) {}
134 void visitPost(DocVhdlFlow *) {}
135 void visitPre(DocParBlock *) {}
136 void visitPost(DocParBlock *) {}
140 void filter(const char *str);