20 #include "outputgen.h" 24 #define DB_GEN_EMPTY m_t << "<!-- DBG_GEN_head_check " << __LINE__ << " -->\n"; 31 #define DB_GEN_H DB_GEN_H1(m_t) 32 #define DB_GEN_H1(x) x << "<!-- DBG_GEN_head " << __LINE__ << " -->\n"; 33 #define DB_GEN_H2(y) DB_GEN_H2a(m_t,y) 34 #define DB_GEN_H2a(x,y) x << "<!-- DBG_GEN_head " << __LINE__ << " " << y << " -->\n"; 36 #define DB_GEN_NEW fprintf(stderr,"DBG_GEN_head %d\n",__LINE__); DB_GEN_H 41 #define DB_GEN_H2a(x,y) 53 OutputType type()
const {
return OutputType::Docbook; }
56 void writeCodeLink(CodeSymbolType type,
63 void startCodeLine(
int);
65 void startFontClass(
const QCString &colorClass);
67 void writeCodeAnchor(
const QCString &);
69 const QCString &anchorId,
int l,
bool writeLineAnchor);
70 void startCodeFragment(
const QCString &style);
71 void endCodeFragment(
const QCString &style);
75 void setRelativePath(
const QCString &path) { m_relPath = path; }
76 void setSourceFileName(
const QCString &sourceFileName) { m_sourceFileName = sourceFileName; }
77 QCString sourceFileName() {
return m_sourceFileName; }
81 void writeCodeLinkLine(CodeSymbolType type,
88 int m_lineNumber = -1;
90 bool m_insideCodeLine =
false;
91 bool m_insideSpecialHL =
false;
109 OutputType type()
const {
return OutputType::Docbook; }
117 const QCString &title,
int id,
int hierarchyLevel);
118 void writeSearchInfo(){DB_GEN_EMPTY};
119 void writeFooter(
const QCString &){DB_GEN_NEW};
121 void startIndexSection(IndexSection);
122 void endIndexSection(IndexSection);
123 void writePageLink(
const QCString &,
bool);
124 void startProjectNumber(){DB_GEN_NEW};
125 void endProjectNumber(){DB_GEN_NEW};
126 void writeStyleInfo(
int){DB_GEN_EMPTY};
127 void startTitleHead(
const QCString &);
129 void startIndexListItem(){DB_GEN_NEW};
130 void endIndexListItem(){DB_GEN_NEW};
131 void startIndexList(){DB_GEN_NEW};
132 void endIndexList(){DB_GEN_NEW};
133 void startIndexKey(){DB_GEN_NEW};
134 void endIndexKey(){DB_GEN_NEW};
135 void startIndexValue(
bool){DB_GEN_NEW};
136 void endIndexValue(
const QCString &,
bool){DB_GEN_NEW};
137 void startItemList() {DB_GEN_EMPTY};
138 void endItemList() {DB_GEN_EMPTY};
142 void startItemListItem() {DB_GEN_EMPTY};
143 void endItemListItem() {DB_GEN_EMPTY};
145 void writeChar(
char);
147 void startParagraph(
const QCString &);
152 void startTypewriter();
153 void endTypewriter();
154 void startEmphasis(){DB_GEN_NEW};
155 void endEmphasis(){DB_GEN_NEW};
157 void startDescForItem(){DB_GEN_EMPTY};
158 void endDescForItem(){DB_GEN_EMPTY};
159 void startCenter(){DB_GEN_NEW};
160 void endCenter(){DB_GEN_NEW};
161 void startSmall(){DB_GEN_NEW};
162 void endSmall(){DB_GEN_NEW};
163 void startExamples();
170 void writeNonBreakableSpace(
int);
171 void startDescTable(
const QCString &);
173 void startDescTableRow();
174 void endDescTableRow();
175 void startDescTableTitle();
176 void endDescTableTitle();
177 void startDescTableData();
178 void endDescTableData();
180 void endTextLink(){DB_GEN_NEW};
181 void startPageRef(){DB_GEN_NEW};
184 void startGroupHeader(
int);
185 void endGroupHeader(
int);
186 void startMemberSections(){DB_GEN_EMPTY};
187 void endMemberSections(){DB_GEN_EMPTY};
188 void startHeaderSection(){DB_GEN_EMPTY};
189 void endHeaderSection(){DB_GEN_EMPTY};
190 void startMemberHeader(
const QCString &anchor,
int typ);
191 void endMemberHeader();
192 void startMemberSubtitle(){DB_GEN_EMPTY};
193 void endMemberSubtitle(){DB_GEN_EMPTY};
194 void startMemberDocList();
195 void endMemberDocList();
196 void startMemberList();
197 void endMemberList();
198 void startInlineHeader(){DB_GEN_NEW};
199 void endInlineHeader(){DB_GEN_NEW};
200 void startAnonTypeScope(
int){DB_GEN_EMPTY};
201 void endAnonTypeScope(
int){DB_GEN_EMPTY};
203 void endMemberItem(MemberItemType);
204 void startMemberTemplateParams();
206 void startCompoundTemplateParams();
207 void endCompoundTemplateParams();
208 void startMemberGroupHeader(
bool);
209 void endMemberGroupHeader();
210 void startMemberGroupDocs(){DB_GEN_EMPTY};
211 void endMemberGroupDocs(){DB_GEN_EMPTY};
212 void startMemberGroup();
213 void endMemberGroup(
bool);
214 void insertMemberAlign(
bool){DB_GEN_EMPTY};
215 void insertMemberAlignLeft(MemberItemType,
bool){DB_GEN_EMPTY};
218 void endMemberDoc(
bool);
224 void writeLatexSpacing(){DB_GEN_EMPTY}
227 void startMemberDescription(
const QCString &,
const QCString &,
bool){DB_GEN_EMPTY};
228 void endMemberDescription(){DB_GEN_EMPTY};
229 void startMemberDeclaration(){DB_GEN_EMPTY};
234 void startIndent(){DB_GEN_EMPTY};
235 void endIndent(){DB_GEN_EMPTY};
236 void writeSynopsis(){DB_GEN_EMPTY};
237 void startClassDiagram();
239 void startDotGraph();
241 void startInclDepGraph();
243 void startGroupCollaboration();
245 void startCallGraph();
247 void startDirDepGraph();
250 void startQuickIndices(){DB_GEN_EMPTY};
251 void endQuickIndices(){DB_GEN_EMPTY};
252 void writeSplitBar(
const QCString &){DB_GEN_EMPTY};
253 void writeNavigationPath(
const QCString &){DB_GEN_NEW};
254 void writeLogo(){DB_GEN_NEW};
255 void writeQuickLinks(HighlightedItem,
const QCString &){DB_GEN_EMPTY};
257 void startContents(){DB_GEN_EMPTY};
258 void endContents(){DB_GEN_EMPTY};
259 void startPageDoc(
const QCString &){DB_GEN_EMPTY}
260 void endPageDoc() {DB_GEN_EMPTY}
261 void startTextBlock(
bool);
262 void endTextBlock(
bool);
263 void lastIndexPage(){DB_GEN_EMPTY};
264 void startMemberDocPrefixItem();
265 void endMemberDocPrefixItem();
266 void startMemberDocName(
bool);
267 void endMemberDocName();
268 void startParameterType(
bool,
const QCString &){DB_GEN_EMPTY};
269 void endParameterType(){DB_GEN_EMPTY};
270 void startParameterName(
bool);
271 void endParameterName();
272 void startParameterExtra();
273 void endParameterExtra(
bool,
bool,
bool);
274 void startParameterDefVal(
const char *sep);
275 void endParameterDefVal();
276 void startParameterList(
bool);
277 void endParameterList();
278 void exceptionEntry(
const QCString &,
bool);
280 void startConstraintList(
const QCString &);
281 void startConstraintParam();
282 void endConstraintParam();
283 void startConstraintType();
284 void endConstraintType();
285 void startConstraintDocs();
286 void endConstraintDocs();
287 void endConstraintList();
289 void startMemberDocSimple(
bool);
290 void endMemberDocSimple(
bool);
291 void startInlineMemberType();
292 void endInlineMemberType();
293 void startInlineMemberName();
294 void endInlineMemberName();
295 void startInlineMemberDoc();
296 void endInlineMemberDoc();
299 void writeLabel(
const QCString &,
bool);
305 void addWord(
const QCString &,
bool) {DB_GEN_EMPTY}
311 void closeAllSections();
314 std::unique_ptr<OutputCodeList> m_codeList;
316 bool m_denseText =
false;
317 bool m_inGroup =
false;
318 int m_levelListItem = 0;
319 std::array<bool,20> m_inListItem = {
false, };
320 std::array<bool,20> m_inSimpleSect = {
false, };
321 bool m_descTable =
false;
322 bool m_simpleTable =
false;
324 bool m_firstMember =
false;
325 int m_openSectionCount = 0;
329 QCString convertToDocBook(
const QCString &s,
const bool retainNewline =
false);
The common base class of all entity definitions found in the sources.
Definition: definition.h:75
A model of a class/file/namespace member symbol.
Definition: memberdef.h:47
Text streaming class that buffers data.
Definition: textstream.h:35
class that represents a list of constant references to sections.
Definition: section.h:101
Represents a graphical class hierarchy.
Definition: dotgfxhierarchytable.h:31
Representation of a group collaboration graph.
Definition: dotgroupcollaboration.h:28
Definition: docbookgen.h:96
opaque representation of the abstract syntax tree (AST)
Definition: docparser.h:47
Class representing a list of different code generators.
Definition: outputlist.h:199
Class representing a built-in class diagram.
Definition: diagram.h:30
Representation of an call graph.
Definition: dotcallgraph.h:26
Representation of a class inheritance or dependency graph.
Definition: dotclassgraph.h:28
Definition: docbookgen.h:47
Base class for specific output generators.
Definition: outputgen.h:65
Representation of an include dependency graph.
Definition: dotincldepgraph.h:30
Representation of an directory dependency graph.
Definition: dotdirdeps.h:25
This is an alternative implementation of QCString.
Definition: qcstring.h:93
Definition: outputgen.h:50
Definition: outputgen.h:42