21 #include "outputgen.h" 22 #include "ftextstream.h" 26 #define PREFRAG_START "<div class=\"fragment\">" 27 #define PREFRAG_END "</div><!-- fragment -->" 37 void setRelativePath(
const QCString &path);
38 void codify(
const char *text);
40 const char *anchor,
const char *name,
50 void startCodeLine(
bool);
55 void setCurrentDoc(
Definition *,
const char *,
bool) {}
56 void addWord(
const char *,
bool) {}
59 void _writeCodeLink(
const char *className,
60 const char *ref,
const char *file,
61 const char *anchor,
const char *name,
63 void docify(
const char *str);
77 static void writeStyleSheetFile(
QFile &f);
78 static void writeHeaderFile(
QFile &f,
const char *cssname);
79 static void writeFooterFile(
QFile &f);
80 static void writeTabData();
82 static void writeSearchData(
const char *dir);
83 static void writeSearchPage();
84 static void writeExternalSearchPage();
85 static QCString writeLogoAsString(
const char *path);
86 static QCString writeSplitBarAsString(
const char *name,
const char *relpath);
89 {
if (genStack->top()) active=*genStack->top();
else active=TRUE; }
90 void disable() { active=FALSE; }
91 void enableIf(OutputType o) {
if (o==Html) enable(); }
92 void disableIf(OutputType o) {
if (o==Html) disable(); }
93 void disableIfNot(OutputType o) {
if (o!=Html) disable(); }
94 bool isEnabled(OutputType o) {
return (o==Html && active); }
99 { m_codeGen.codify(text); }
101 const char *anchor,
const char *name,
103 { m_codeGen.writeCodeLink(ref,file,anchor,name,tooltip); }
104 void writeLineNumber(
const char *ref,
const char *file,
const char *anchor,
int lineNumber)
105 { m_codeGen.writeLineNumber(ref,file,anchor,lineNumber); }
109 { m_codeGen.writeTooltip(
id,docInfo,decl,desc,defInfo,declInfo); }
110 void startCodeLine(
bool hasLineNumbers)
111 { m_codeGen.startCodeLine(hasLineNumbers); }
113 { m_codeGen.endCodeLine(); }
115 { m_codeGen.startFontClass(s); }
117 { m_codeGen.endFontClass(); }
119 { m_codeGen.writeCodeAnchor(anchor); }
122 void setCurrentDoc(
Definition *context,
const char *anchor,
bool isSourceFile);
123 void addWord(
const char *word,
bool hiPriority);
126 void startFile(
const char *name,
const char *manName,
const char *title);
127 void writeFooter(
const char *navPath);
130 void writeSearchInfo();
132 void startIndexSection(IndexSections) {}
133 void endIndexSection(IndexSections) {}
134 void writePageLink(
const char *,
bool) {}
135 void startProjectNumber();
136 void endProjectNumber();
137 void writeStyleInfo(
int part);
138 void startTitleHead(
const char *);
139 void endTitleHead(
const char *,
const char *);
140 void startTitle() { t <<
"<div class=\"title\">"; }
141 void endTitle() { t <<
"</div>"; }
143 void startParagraph(
const char *classDef);
145 void writeString(
const char *text);
146 void startIndexListItem();
147 void endIndexListItem();
148 void startIndexList();
150 void startIndexKey();
152 void startIndexValue(
bool);
153 void endIndexValue(
const char *,
bool);
156 void startIndexItem(
const char *ref,
const char *file);
157 void endIndexItem(
const char *ref,
const char *file);
158 void docify(
const char *text);
160 void writeObjectLink(
const char *ref,
const char *file,
161 const char *anchor,
const char *name);
163 void startTextLink(
const char *file,
const char *anchor);
165 void startHtmlLink(
const char *url);
169 void startGroupHeader(
int);
170 void endGroupHeader(
int);
174 void startMemberSections();
175 void endMemberSections();
176 void startHeaderSection();
177 void endHeaderSection();
178 void startMemberHeader(
const char *);
179 void endMemberHeader();
180 void startMemberSubtitle();
181 void endMemberSubtitle();
182 void startMemberDocList();
183 void endMemberDocList();
184 void startMemberList();
185 void endMemberList();
186 void startInlineHeader();
187 void endInlineHeader();
188 void startAnonTypeScope(
int) {}
189 void endAnonTypeScope(
int) {}
190 void startMemberItem(
const char *anchor,
int,
const char *inheritId);
191 void endMemberItem();
192 void startMemberTemplateParams();
193 void endMemberTemplateParams(
const char *anchor,
const char *inheritId);
195 void startMemberGroupHeader(
bool);
196 void endMemberGroupHeader();
197 void startMemberGroupDocs();
198 void endMemberGroupDocs();
199 void startMemberGroup();
200 void endMemberGroup(
bool);
202 void insertMemberAlign(
bool);
203 void startMemberDescription(
const char *anchor,
const char *inheritId);
204 void endMemberDescription();
205 void startMemberDeclaration() {}
206 void endMemberDeclaration(
const char *anchor,
const char *inheritId);
207 void writeInheritedSectionTitle(
const char *
id,
const char *ref,
208 const char *file,
const char *anchor,
209 const char *title,
const char *name);
212 void writeAnchor(
const char *,
const char *name)
213 { t <<
"<a name=\"" << name <<
"\" id=\"" << name <<
"\"></a>"; }
224 void startDescForItem() { t <<
"<dd>"; }
225 void endDescForItem() { t <<
"</dd>\n"; }
226 void lineBreak(
const char *style);
227 void writeChar(
char c);
228 void startMemberDoc(
const char *clName,
const char *memName,
229 const char *anchor,
const char *title,
230 int memCount,
int memTotal,
bool showInline);
231 void endMemberDoc(
bool);
232 void startDoxyAnchor(
const char *fName,
const char *manName,
233 const char *anchor,
const char *name,
235 void endDoxyAnchor(
const char *fName,
const char *anchor);
236 void writeLatexSpacing() {}
237 void writeStartAnnoItem(
const char *type,
const char *file,
238 const char *path,
const char *name);
239 void writeEndAnnoItem(
const char *) { t << endl; }
240 void startSubsection() { t <<
"<h2>"; }
241 void endSubsection() { t <<
"</h2>" << endl; }
242 void startSubsubsection() { t <<
"<h3>"; }
243 void endSubsubsection() { t <<
"</h3>" << endl; }
244 void startCenter() { t <<
"<center>" << endl; }
245 void endCenter() { t <<
"</center>" << endl; }
246 void startSmall() { t <<
"<small>" << endl; }
247 void endSmall() { t <<
"</small>" << endl; }
250 void startSimpleSect(SectionTypes,
const char *,
const char *,
const char *);
251 void endSimpleSect();
252 void startParamList(ParamListTypes,
const char *);
255 void startSection(
const char *,
const char *,SectionInfo::SectionType);
256 void endSection(
const char *,SectionInfo::SectionType);
257 void addIndexItem(
const char *,
const char *);
260 void writeSynopsis() {}
261 void startClassDiagram();
262 void endClassDiagram(
const ClassDiagram &,
const char *,
const char *);
263 void startPageRef() {}
264 void endPageRef(
const char *,
const char *) {}
265 void startQuickIndices() {}
266 void endQuickIndices();
267 void writeSplitBar(
const char *name);
268 void writeNavigationPath(
const char *s);
270 void writeQuickLinks(
bool compact,HighlightedItem hli,
const char *file);
271 void writeSummaryLink(
const char *file,
const char *anchor,
const char *title,
bool first);
272 void startContents();
274 void writeNonBreakableSpace(
int);
276 void startDescTable(
const char *title);
278 void startDescTableRow();
279 void endDescTableRow();
280 void startDescTableTitle();
281 void endDescTableTitle();
282 void startDescTableData();
283 void endDescTableData();
285 void startDotGraph();
287 void startInclDepGraph();
289 void startGroupCollaboration();
291 void startCallGraph();
293 void startDirDepGraph();
297 void startTextBlock(
bool)
298 { t <<
"<div class=\"textblock\">"; }
299 void endTextBlock(
bool)
301 void lastIndexPage() {}
303 void startMemberDocPrefixItem();
304 void endMemberDocPrefixItem();
305 void startMemberDocName(
bool);
306 void endMemberDocName();
307 void startParameterType(
bool first,
const char *key);
308 void endParameterType();
309 void startParameterName(
bool);
310 void endParameterName(
bool last,
bool emptyList,
bool closeBracket);
311 void startParameterList(
bool);
312 void endParameterList();
313 virtual void exceptionEntry(
const char*,
bool);
315 void startConstraintList(
const char *);
316 void startConstraintParam();
317 void endConstraintParam();
318 void startConstraintType();
319 void endConstraintType();
320 void startConstraintDocs();
321 void endConstraintDocs();
322 void endConstraintList();
324 void startMemberDocSimple(
bool);
325 void endMemberDocSimple(
bool);
326 void startInlineMemberType();
327 void endInlineMemberType();
328 void startInlineMemberName();
329 void endInlineMemberName();
330 void startInlineMemberDoc();
331 void endInlineMemberDoc();
334 void writeLabel(
const char *l,
bool isLast);
345 void docify(
const char *text,
bool inHtmlComment);
void codify(const char *text)
Definition: htmlgen.cpp:432
void startEmphasis()
Definition: htmlgen.h:216
void writeCodeLink(const char *ref, const char *file, const char *anchor, const char *name, const char *tooltip)
Definition: htmlgen.cpp:533
void startFontClass(const char *s)
Definition: htmlgen.h:114
void startDescItem()
Definition: htmlgen.h:222
void writeLineNumber(const char *ref, const char *file, const char *anchor, int lineNumber)
Definition: htmlgen.h:104
void endItemList()
Definition: htmlgen.h:155
The common base class of all entity definitions found in the sources.
Definition: definition.h:92
void endEmphasis()
Definition: htmlgen.h:217
A model of a class/file/namespace member symbol.
Definition: memberdef.h:43
void endTypewriter()
Definition: htmlgen.h:168
void startTypewriter()
Definition: htmlgen.h:167
void startItemList()
Definition: htmlgen.h:154
void writeTooltip(const char *id, const DocLinkInfo &docInfo, const char *decl, const char *desc, const SourceLinkInfo &defInfo, const SourceLinkInfo &declInfo)
Definition: htmlgen.h:106
Simplified and optimized version of QTextStream.
Definition: ftextstream.h:11
void codify(const char *text)
Definition: htmlgen.h:98
void endCodeLine()
Definition: htmlgen.h:112
Represents a graphical class hierarchy.
Definition: dot.h:149
Generator for HTML output.
Definition: htmlgen.h:71
Representation of a group collaboration graph.
Definition: dot.h:278
void writeCodeAnchor(const char *anchor)
Definition: htmlgen.cpp:674
void startItemListItem()
Definition: htmlgen.h:171
void endCodeFragment()
Definition: htmlgen.h:215
void writeLineNumber(const char *, const char *, const char *, int)
Definition: htmlgen.cpp:509
void writeCodeLink(const char *ref, const char *file, const char *anchor, const char *name, const char *tooltip)
Definition: htmlgen.h:100
void startFontClass(const char *s)
Definition: htmlgen.cpp:664
void endItemListItem()
Definition: htmlgen.h:172
void endDescItem()
Definition: htmlgen.h:223
void writeRuler()
Definition: htmlgen.h:211
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 endFontClass()
Definition: htmlgen.cpp:669
Representation of an call graph.
Definition: dot.h:232
void endBold()
Definition: htmlgen.h:219
Representation of a class inheritance or dependency graph.
Definition: dot.h:169
void startCodeFragment()
Definition: htmlgen.h:214
Abstract node interface with type information.
Definition: docparser.h:79
Abstract output generator.
Definition: outputgen.h:322
void startDescription()
Definition: htmlgen.h:220
void writeCodeAnchor(const char *anchor)
Definition: htmlgen.h:118
Representation of an include dependency graph.
Definition: dot.h:203
Representation of an directory dependency graph.
Definition: dot.h:258
This is an alternative implementation of QCString.
Definition: qcstring.h:131
void startBold()
Definition: htmlgen.h:218
Output interface for code parser.
Definition: outputgen.h:59
void endCodeLine()
Definition: htmlgen.cpp:659
void writeTooltip(const char *id, const DocLinkInfo &docInfo, const char *decl, const char *desc, const SourceLinkInfo &defInfo, const SourceLinkInfo &declInfo)
Definition: htmlgen.cpp:568
Definition: outputgen.h:48
Definition: outputgen.h:40
void endDescription()
Definition: htmlgen.h:221
void endFontClass()
Definition: htmlgen.h:116