Root/
Source at commit 1322 created 12 years 8 months ago. By meklort, Add doxygen to utils folder | |
---|---|
1 | /******************************************************************************␊ |
2 | *␊ |
3 | * $Id: $␊ |
4 | *␊ |
5 | *␊ |
6 | * Copyright (C) 1997-2011 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 _XMLDOCVISITOR_H␊ |
20 | #define _XMLDOCVISITOR_H␊ |
21 | ␊ |
22 | #include "docvisitor.h"␊ |
23 | #include <qstack.h>␊ |
24 | #include <qcstring.h>␊ |
25 | ␊ |
26 | class FTextStream;␊ |
27 | class CodeOutputInterface;␊ |
28 | class QCString;␊ |
29 | ␊ |
30 | /*! @brief Concrete visitor implementation for XML output. */␊ |
31 | class XmlDocVisitor : public DocVisitor␊ |
32 | {␊ |
33 | public:␊ |
34 | XmlDocVisitor(FTextStream &t,CodeOutputInterface &ci);␊ |
35 | ␊ |
36 | //--------------------------------------␊ |
37 | // visitor functions for leaf nodes␊ |
38 | //--------------------------------------␊ |
39 | ␊ |
40 | void visit(DocWord *);␊ |
41 | void visit(DocLinkedWord *);␊ |
42 | void visit(DocWhiteSpace *);␊ |
43 | void visit(DocSymbol *);␊ |
44 | void visit(DocURL *);␊ |
45 | void visit(DocLineBreak *);␊ |
46 | void visit(DocHorRuler *);␊ |
47 | void visit(DocStyleChange *);␊ |
48 | void visit(DocVerbatim *);␊ |
49 | void visit(DocAnchor *);␊ |
50 | void visit(DocInclude *);␊ |
51 | void visit(DocIncOperator *);␊ |
52 | void visit(DocFormula *);␊ |
53 | void visit(DocIndexEntry *);␊ |
54 | void visit(DocSimpleSectSep *);␊ |
55 | ␊ |
56 | //--------------------------------------␊ |
57 | // visitor functions for compound nodes␊ |
58 | //--------------------------------------␊ |
59 | ␊ |
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(DocHtmlPre *);␊ |
83 | //void visitPost(DocHtmlPre *);␊ |
84 | void visitPre(DocHtmlDescList *);␊ |
85 | void visitPost(DocHtmlDescList *);␊ |
86 | void visitPre(DocHtmlDescTitle *);␊ |
87 | void visitPost(DocHtmlDescTitle *);␊ |
88 | void visitPre(DocHtmlDescData *);␊ |
89 | void visitPost(DocHtmlDescData *);␊ |
90 | void visitPre(DocHtmlTable *);␊ |
91 | void visitPost(DocHtmlTable *);␊ |
92 | void visitPre(DocHtmlRow *);␊ |
93 | void visitPost(DocHtmlRow *) ;␊ |
94 | void visitPre(DocHtmlCell *);␊ |
95 | void visitPost(DocHtmlCell *);␊ |
96 | void visitPre(DocHtmlCaption *);␊ |
97 | void visitPost(DocHtmlCaption *);␊ |
98 | void visitPre(DocInternal *);␊ |
99 | void visitPost(DocInternal *);␊ |
100 | void visitPre(DocHRef *);␊ |
101 | void visitPost(DocHRef *);␊ |
102 | void visitPre(DocHtmlHeader *);␊ |
103 | void visitPost(DocHtmlHeader *);␊ |
104 | void visitPre(DocImage *);␊ |
105 | void visitPost(DocImage *);␊ |
106 | void visitPre(DocDotFile *);␊ |
107 | void visitPost(DocDotFile *);␊ |
108 | ␊ |
109 | void visitPre(DocMscFile *);␊ |
110 | void visitPost(DocMscFile *);␊ |
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(DocLanguage *);␊ |
120 | //void visitPost(DocLanguage *);␊ |
121 | void visitPre(DocParamSect *);␊ |
122 | void visitPost(DocParamSect *);␊ |
123 | void visitPre(DocParamList *);␊ |
124 | void visitPost(DocParamList *);␊ |
125 | void visitPre(DocXRefItem *);␊ |
126 | void visitPost(DocXRefItem *);␊ |
127 | void visitPre(DocInternalRef *);␊ |
128 | void visitPost(DocInternalRef *);␊ |
129 | void visitPre(DocCopy *);␊ |
130 | void visitPost(DocCopy *);␊ |
131 | void visitPre(DocText *);␊ |
132 | void visitPost(DocText *);␊ |
133 | ␊ |
134 | private:␊ |
135 | ␊ |
136 | //--------------------------------------␊ |
137 | // helper functions ␊ |
138 | //--------------------------------------␊ |
139 | ␊ |
140 | void filter(const char *str);␊ |
141 | void startLink(const QCString &ref,const QCString &file,␊ |
142 | const QCString &anchor);␊ |
143 | void endLink();␊ |
144 | ␊ |
145 | void pushEnabled();␊ |
146 | void popEnabled();␊ |
147 | ␊ |
148 | //--------------------------------------␊ |
149 | // state variables␊ |
150 | //--------------------------------------␊ |
151 | ␊ |
152 | FTextStream &m_t;␊ |
153 | CodeOutputInterface &m_ci;␊ |
154 | bool m_insidePre;␊ |
155 | bool m_hide;␊ |
156 | QStack<bool> m_enabled;␊ |
157 | QCString m_langExt;␊ |
158 | };␊ |
159 | ␊ |
160 | #endif␊ |
161 |