21 #include "outputgen.h" 25 static const char *latexStyleExtension =
".sty";
33 void setRelativePath(
const QCString &path);
34 void setSourceFileName(
const QCString &sourceFileName);
35 void codify(
const char *text);
37 const char *anchor,
const char *name,
47 void startCodeLine(
bool);
52 void setCurrentDoc(
Definition *,
const char *,
bool) {}
53 void addWord(
const char *,
bool) {}
56 void _writeCodeLink(
const char *className,
57 const char *ref,
const char *file,
58 const char *anchor,
const char *name,
60 void docify(
const char *str);
76 static void writeStyleSheetFile(
QFile &f);
77 static void writeHeaderFile(
QFile &f);
78 static void writeFooterFile(
QFile &f);
84 {
if (genStack->top()) active=*genStack->top();
else active=TRUE; }
85 void disable() { active=FALSE; }
86 void enableIf(OutputType o) {
if (o==Latex) enable(); }
87 void disableIf(OutputType o) {
if (o==Latex) disable(); }
88 void disableIfNot(OutputType o) {
if (o!=Latex) disable(); }
89 bool isEnabled(OutputType o) {
return (o==Latex && active); }
94 { m_codeGen.codify(text); }
96 const char *anchor,
const char *name,
98 { m_codeGen.writeCodeLink(ref,file,anchor,name,tooltip); }
99 void writeLineNumber(
const char *ref,
const char *file,
const char *anchor,
int lineNumber)
100 { m_codeGen.writeLineNumber(ref,file,anchor,lineNumber); }
104 { m_codeGen.writeTooltip(
id,docInfo,decl,desc,defInfo,declInfo); }
105 void startCodeLine(
bool hasLineNumbers)
106 { m_codeGen.startCodeLine(hasLineNumbers); }
108 { m_codeGen.endCodeLine(); }
110 { m_codeGen.startFontClass(s); }
112 { m_codeGen.endFontClass(); }
114 { m_codeGen.writeCodeAnchor(anchor); }
120 void startFile(
const char *name,
const char *manName,
const char *title);
121 void writeSearchInfo() {}
122 void writeFooter(
const char *) {}
126 void startIndexSection(IndexSections);
127 void endIndexSection(IndexSections);
128 void writePageLink(
const char *,
bool);
129 void startProjectNumber();
130 void endProjectNumber() {}
131 void writeStyleInfo(
int part);
132 void startTitleHead(
const char *);
134 void endTitleHead(
const char *,
const char *name);
135 void endTitle() { t <<
"}"; }
138 void startParagraph(
const char *classDef);
140 void writeString(
const char *text);
141 void startIndexListItem() {}
142 void endIndexListItem() {}
143 void startIndexList() { t <<
"\\begin{DoxyCompactList}" << endl; }
144 void endIndexList() { t <<
"\\end{DoxyCompactList}" << endl; }
145 void startIndexKey();
147 void startIndexValue(
bool);
148 void endIndexValue(
const char *,
bool);
151 void startIndexItem(
const char *ref,
const char *file);
152 void endIndexItem(
const char *ref,
const char *file);
153 void docify(
const char *text);
154 void writeObjectLink(
const char *ref,
const char *file,
155 const char *anchor,
const char *name);
157 void startTextLink(
const char *,
const char *);
159 void startHtmlLink(
const char *url);
163 void startGroupHeader(
int);
164 void endGroupHeader(
int);
168 void startMemberSections() {}
169 void endMemberSections() {}
170 void startHeaderSection() {}
171 void endHeaderSection() {}
172 void startMemberHeader(
const char *);
173 void endMemberHeader();
174 void startMemberSubtitle() {}
175 void endMemberSubtitle() {}
176 void startMemberDocList() {}
177 void endMemberDocList() {}
178 void startMemberList();
179 void endMemberList();
180 void startInlineHeader();
181 void endInlineHeader();
182 void startAnonTypeScope(
int);
183 void endAnonTypeScope(
int);
184 void startMemberItem(
const char *,
int,
const char *);
185 void endMemberItem();
186 void startMemberTemplateParams();
187 void endMemberTemplateParams(
const char *,
const char *);
189 void startMemberGroupHeader(
bool);
190 void endMemberGroupHeader();
191 void startMemberGroupDocs();
192 void endMemberGroupDocs();
193 void startMemberGroup();
194 void endMemberGroup(
bool);
196 void insertMemberAlign(
bool) {}
199 void writeAnchor(
const char *fileName,
const char *name);
200 void startCodeFragment();
201 void endCodeFragment();
206 void startDescription();
207 void endDescription();
208 void startDescItem();
210 void lineBreak(
const char *style=0);
211 void startMemberDoc(
const char *,
const char *,
const char *,
const char *,
int,
int,
bool);
212 void endMemberDoc(
bool);
213 void startDoxyAnchor(
const char *,
const char *,
const char *,
const char *,
const char *);
214 void endDoxyAnchor(
const char *,
const char *);
215 void writeChar(
char c);
216 void writeLatexSpacing() { t <<
"\\hspace{0.3cm}"; }
217 void writeStartAnnoItem(
const char *type,
const char *file,
218 const char *path,
const char *name);
219 void writeEndAnnoItem(
const char *name);
220 void startSubsection() { t <<
"\\subsection*{"; }
221 void endSubsection() { t <<
"}" << endl; }
222 void startSubsubsection() { t <<
"\\subsubsection*{"; }
223 void endSubsubsection() { t <<
"}" << endl; }
224 void startCenter() { t <<
"\\begin{center}" << endl; }
225 void endCenter() { t <<
"\\end{center}" << endl; }
226 void startSmall() { t <<
"\\footnotesize "; }
227 void endSmall() { t <<
"\\normalsize "; }
228 void startMemberDescription(
const char *,
const char *);
229 void endMemberDescription();
230 void startMemberDeclaration() {}
231 void endMemberDeclaration(
const char *,
const char *) {}
232 void writeInheritedSectionTitle(
const char *,
const char *,
const char *,
233 const char *,
const char *,
const char *) {}
234 void startDescList(SectionTypes) { t <<
"\\begin{Desc}\n\\item["; }
235 void endDescList() { t <<
"\\end{Desc}" << endl; }
236 void startSimpleSect(SectionTypes,
const char *,
const char *,
const char *);
237 void endSimpleSect();
238 void startParamList(ParamListTypes,
const char *title);
240 void startDescForItem() { t <<
"\\par" << endl; }
241 void endDescForItem() {}
242 void startSection(
const char *,
const char *,SectionInfo::SectionType);
243 void endSection(
const char *,SectionInfo::SectionType);
244 void addIndexItem(
const char *,
const char *);
245 void startIndent() {}
247 void writeSynopsis() {}
248 void startClassDiagram();
249 void endClassDiagram(
const ClassDiagram &,
const char *,
const char *);
251 void endPageRef(
const char *,
const char *);
252 void startQuickIndices() {}
253 void endQuickIndices() {}
254 void writeSplitBar(
const char *) {}
255 void writeNavigationPath(
const char *) {}
257 void writeQuickLinks(
bool,HighlightedItem,
const char*) {}
258 void writeSummaryLink(
const char *,
const char *,
const char *,
bool) {}
259 void startContents() {}
260 void endContents() {}
261 void writeNonBreakableSpace(
int);
263 void startDescTable(
const char *title);
265 void startDescTableRow();
266 void endDescTableRow();
267 void startDescTableTitle();
268 void endDescTableTitle();
269 void startDescTableData();
270 void endDescTableData();
271 void lastIndexPage();
273 void startDotGraph();
275 void startInclDepGraph();
277 void startCallGraph();
278 void startGroupCollaboration();
281 void startDirDepGraph();
285 void startTextBlock(
bool) {}
286 void endTextBlock(
bool) {}
288 void startMemberDocPrefixItem() {}
289 void endMemberDocPrefixItem() { t <<
"\\\\" << endl; }
290 void startMemberDocName(
bool) {}
291 void endMemberDocName() {}
292 void startParameterType(
bool,
const char *);
293 void endParameterType();
294 void startParameterName(
bool);
295 void endParameterName(
bool,
bool,
bool);
296 void startParameterList(
bool);
297 void endParameterList();
298 void exceptionEntry(
const char*,
bool);
300 void startConstraintList(
const char *);
301 void startConstraintParam();
302 void endConstraintParam();
303 void startConstraintType();
304 void endConstraintType();
305 void startConstraintDocs();
306 void endConstraintDocs();
307 void endConstraintList();
309 void startMemberDocSimple(
bool);
310 void endMemberDocSimple(
bool);
311 void startInlineMemberType();
312 void endInlineMemberType();
313 void startInlineMemberName();
314 void endInlineMemberName();
315 void startInlineMemberDoc();
316 void endInlineMemberDoc();
319 void writeLabel(
const char *l,
bool isLast);
322 void setCurrentDoc(
Definition *,
const char *,
bool) {}
323 void addWord(
const char *,
bool) {}
334 bool templateMemberItem;
void writeTooltip(const char *, const DocLinkInfo &, const char *, const char *, const SourceLinkInfo &, const SourceLinkInfo &)
Definition: latexgen.h:39
void writeRuler()
Definition: latexgen.h:198
void endItemListItem()
Definition: latexgen.h:166
The common base class of all entity definitions found in the sources.
Definition: definition.h:92
void startItemList()
Definition: latexgen.h:149
A model of a class/file/namespace member symbol.
Definition: memberdef.h:43
void startFontClass(const char *)
Definition: latexgen.cpp:233
void writeCodeLink(const char *ref, const char *file, const char *anchor, const char *name, const char *tooltip)
Definition: latexgen.cpp:160
void endBold()
Definition: latexgen.h:205
void startFontClass(const char *s)
Definition: latexgen.h:109
void endFontClass()
Definition: latexgen.cpp:238
void writeCodeLink(const char *ref, const char *file, const char *anchor, const char *name, const char *tooltip)
Definition: latexgen.h:95
void endFontClass()
Definition: latexgen.h:111
Simplified and optimized version of QTextStream.
Definition: ftextstream.h:11
void writeLineNumber(const char *, const char *, const char *, int)
Definition: latexgen.cpp:189
void codify(const char *text)
Definition: latexgen.h:93
void startEmphasis()
Definition: latexgen.h:202
void writeCodeAnchor(const char *)
Definition: latexgen.h:51
Represents a graphical class hierarchy.
Definition: dot.h:149
void startBold()
Definition: latexgen.h:204
Representation of a group collaboration graph.
Definition: dot.h:278
void codify(const char *text)
Definition: latexgen.cpp:71
void writeTooltip(const char *id, const DocLinkInfo &docInfo, const char *decl, const char *desc, const SourceLinkInfo &defInfo, const SourceLinkInfo &declInfo)
Definition: latexgen.h:101
void endTypewriter()
Definition: latexgen.h:162
Definition: latexgen.h:27
The QFile class is an I/O device that operates on files.
Definition: qfile.h:50
Class representing a built-in class diagram.
Definition: diagram.h:29
void writeCodeAnchor(const char *anchor)
Definition: latexgen.h:113
void endCodeLine()
Definition: latexgen.h:107
Representation of an call graph.
Definition: dot.h:232
Representation of a class inheritance or dependency graph.
Definition: dot.h:169
Generator for LaTeX output.
Definition: latexgen.h:70
Abstract node interface with type information.
Definition: docparser.h:79
Abstract output generator.
Definition: outputgen.h:322
void endEmphasis()
Definition: latexgen.h:203
Representation of an include dependency graph.
Definition: dot.h:203
void startTypewriter()
Definition: latexgen.h:161
void startItemListItem()
Definition: latexgen.h:165
Representation of an directory dependency graph.
Definition: dot.h:258
void endItemList()
Definition: latexgen.h:150
void writeLineNumber(const char *ref, const char *file, const char *anchor, int lineNumber)
Definition: latexgen.h:99
This is an alternative implementation of QCString.
Definition: qcstring.h:131
Output interface for code parser.
Definition: outputgen.h:59
Definition: outputgen.h:48
void endCodeLine()
Definition: latexgen.cpp:228
Definition: outputgen.h:40