Skip to main content

The DocbookCodeGenerator Class Reference

Declaration

class DocbookCodeGenerator { ... }

Included Headers

#include <src/docbookgen.h>

Base class

classOutputCodeIntf

Base class for code generators. More...

Public Constructors Index

DocbookCodeGenerator (TextStream *t)

Public Member Functions Index

voidsetTextStream (TextStream *t)
OutputTypetype () const override
std::unique_ptr< OutputCodeIntf >clone () override
voidcodify (const QCString &text) override
voidstripCodeComments (bool b) override
voidstartSpecialComment () override
voidendSpecialComment () override
voidsetStripIndentAmount (size_t amount) override
voidwriteCodeLink (CodeSymbolType type, const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name, const QCString &tooltip) override
voidwriteTooltip (const QCString &, const DocLinkInfo &, const QCString &, const QCString &, const SourceLinkInfo &, const SourceLinkInfo &) override
voidstartCodeLine (int) override
voidendCodeLine () override
voidstartFontClass (const QCString &colorClass) override
voidendFontClass () override
voidwriteCodeAnchor (const QCString &) override
voidwriteLineNumber (const QCString &extRef, const QCString &compId, const QCString &anchorId, int l, bool writeLineAnchor) override
voidstartCodeFragment (const QCString &style) override
voidendCodeFragment (const QCString &style) override
voidstartFold (int, const QCString &, const QCString &) override
voidendFold () override
voidsetRelativePath (const QCString &path)
voidsetSourceFileName (const QCString &sourceFileName)
QCStringsourceFileName ()
voidfinish ()

Private Member Functions Index

voidwriteCodeLinkLine (CodeSymbolType type, const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name, const QCString &tooltip, bool)

Private Member Attributes Index

TextStream *m_t
QCStringm_refId
QCStringm_external
intm_lineNumber = -1
size_tm_col = 0
boolm_insideCodeLine = false
boolm_insideSpecialHL = false
QCStringm_relPath
QCStringm_sourceFileName
boolm_stripCodeComments = false
boolm_hide = false
size_tm_stripIndentAmount = 0

Definition at line 47 of file docbookgen.h.

Public Constructors

DocbookCodeGenerator()

DocbookCodeGenerator::DocbookCodeGenerator (TextStream * t)

Declaration at line 50 of file docbookgen.h, definition at line 162 of file docbookgen.cpp.

Reference m_t.

Public Member Functions

clone()

std::unique_ptr< OutputCodeIntf > DocbookCodeGenerator::clone ()
inline virtual

Definition at line 54 of file docbookgen.h.

54 std::unique_ptr<OutputCodeIntf> clone() override { return std::make_unique<DocbookCodeGenerator>(m_t); }

Reference m_t.

codify()

void DocbookCodeGenerator::codify (const QCString & text)
virtual

Declaration at line 55 of file docbookgen.h, definition at line 166 of file docbookgen.cpp.

167{
168 Docbook_DB(("(codify \"%s\")\n",text));
169 writeDocbookCodeString(m_hide,*m_t,text,m_col,static_cast<size_t>(m_stripIndentAmount));
170}

References Docbook_DB, m_col, m_hide, m_stripIndentAmount, m_t and writeDocbookCodeString.

Referenced by writeLineNumber.

endCodeFragment()

void DocbookCodeGenerator::endCodeFragment (const QCString & style)
virtual

Declaration at line 75 of file docbookgen.h, definition at line 308 of file docbookgen.cpp.

309{
311 //endCodeLine checks is there is still an open code line, if so closes it.
313
314 *m_t << "</programlisting>";
315}

References DB_GEN_C1, endCodeLine and m_t.

endCodeLine()

void DocbookCodeGenerator::endCodeLine ()
virtual

Declaration at line 68 of file docbookgen.h, definition at line 233 of file docbookgen.cpp.

234{
235 if (m_hide) return;
236 if (m_insideCodeLine) *m_t << "\n";
237 Docbook_DB(("(endCodeLine)\n"));
238 m_lineNumber = -1;
239 m_refId.clear();
240 m_external.clear();
242}

References Docbook_DB, FALSE, m_external, m_hide, m_insideCodeLine, m_lineNumber, m_refId and m_t.

Referenced by endCodeFragment and finish.

endFold()

void DocbookCodeGenerator::endFold ()
inline virtual

Definition at line 77 of file docbookgen.h.

77 void endFold() override {}

endFontClass()

void DocbookCodeGenerator::endFontClass ()
virtual

Declaration at line 70 of file docbookgen.h, definition at line 252 of file docbookgen.cpp.

253{
254 if (m_hide) return;
255 Docbook_DB(("(endFontClass)\n"));
256 *m_t << "</emphasis>"; // non DocBook
258}

References Docbook_DB, FALSE, m_hide, m_insideSpecialHL and m_t.

endSpecialComment()

void DocbookCodeGenerator::endSpecialComment ()
virtual

Declaration at line 58 of file docbookgen.h, definition at line 182 of file docbookgen.cpp.

183{
184 m_hide = false;
185}

Reference m_hide.

finish()

void DocbookCodeGenerator::finish ()

Declaration at line 82 of file docbookgen.h, definition at line 297 of file docbookgen.cpp.

Reference endCodeLine.

setRelativePath()

void DocbookCodeGenerator::setRelativePath (const QCString & path)
inline

Definition at line 79 of file docbookgen.h.

79 void setRelativePath(const QCString &path) { m_relPath = path; }

Reference m_relPath.

setSourceFileName()

void DocbookCodeGenerator::setSourceFileName (const QCString & sourceFileName)
inline

Definition at line 80 of file docbookgen.h.

References m_sourceFileName and sourceFileName.

setStripIndentAmount()

void DocbookCodeGenerator::setStripIndentAmount (size_t amount)
virtual

Declaration at line 59 of file docbookgen.h, definition at line 187 of file docbookgen.cpp.

188{
189 m_stripIndentAmount = amount;
190}

Reference m_stripIndentAmount.

setTextStream()

void DocbookCodeGenerator::setTextStream (TextStream * t)
inline

Definition at line 51 of file docbookgen.h.

51 void setTextStream(TextStream *t) { m_t = t; }

Reference m_t.

sourceFileName()

QCString DocbookCodeGenerator::sourceFileName ()
inline

Definition at line 81 of file docbookgen.h.

Reference m_sourceFileName.

Referenced by setSourceFileName.

startCodeFragment()

void DocbookCodeGenerator::startCodeFragment (const QCString & style)
virtual

Declaration at line 74 of file docbookgen.h, definition at line 302 of file docbookgen.cpp.

303{
305 *m_t << "<programlisting linenumbering=\"unnumbered\">";
306}

References DB_GEN_C1 and m_t.

startCodeLine()

void DocbookCodeGenerator::startCodeLine (int)
virtual

Declaration at line 67 of file docbookgen.h, definition at line 225 of file docbookgen.cpp.

226{
227 if (m_hide) return;
228 Docbook_DB(("(startCodeLine)\n"));
230 m_col=0;
231}

References Docbook_DB, m_col, m_hide, m_insideCodeLine and TRUE.

startFold()

void DocbookCodeGenerator::startFold (int, const QCString &, const QCString &)
inline virtual

Definition at line 76 of file docbookgen.h.

76 void startFold(int,const QCString &,const QCString &) override {}

startFontClass()

void DocbookCodeGenerator::startFontClass (const QCString & colorClass)
virtual

Declaration at line 69 of file docbookgen.h, definition at line 244 of file docbookgen.cpp.

245{
246 if (m_hide) return;
247 Docbook_DB(("(startFontClass)\n"));
248 *m_t << "<emphasis role=\"" << colorClass << "\">";
250}

References Docbook_DB, m_hide, m_insideSpecialHL, m_t and TRUE.

startSpecialComment()

void DocbookCodeGenerator::startSpecialComment ()
virtual

Declaration at line 57 of file docbookgen.h, definition at line 177 of file docbookgen.cpp.

References m_hide and m_stripCodeComments.

stripCodeComments()

void DocbookCodeGenerator::stripCodeComments (bool b)
virtual

Declaration at line 56 of file docbookgen.h, definition at line 172 of file docbookgen.cpp.

Reference m_stripCodeComments.

type()

OutputType DocbookCodeGenerator::type ()
inline virtual

Definition at line 53 of file docbookgen.h.

53 OutputType type() const override { return OutputType::Docbook; }

Reference Docbook.

writeCodeAnchor()

void DocbookCodeGenerator::writeCodeAnchor (const QCString &)
virtual

Declaration at line 71 of file docbookgen.h, definition at line 260 of file docbookgen.cpp.

261{
262 Docbook_DB(("(writeCodeAnchor)\n"));
263}

Reference Docbook_DB.

writeCodeLink()

void DocbookCodeGenerator::writeCodeLink (CodeSymbolType type, const QCString & ref, const QCString & file, const QCString & anchor, const QCString & name, const QCString & tooltip)
virtual

Declaration at line 60 of file docbookgen.h, definition at line 192 of file docbookgen.cpp.

193 const QCString &ref,const QCString &file,
194 const QCString &anchor,const QCString &name,
195 const QCString &tooltip)
196{
197 if (m_hide) return;
198 Docbook_DB(("(writeCodeLink)\n"));
199 writeDocbookLink(*m_t,ref,file,anchor,name,tooltip);
200 m_col+=name.length();
201}

References Docbook_DB, QCString::length, m_col, m_hide, m_t and writeDocbookLink.

Referenced by writeLineNumber.

writeLineNumber()

void DocbookCodeGenerator::writeLineNumber (const QCString & extRef, const QCString & compId, const QCString & anchorId, int l, bool writeLineAnchor)
virtual

Declaration at line 72 of file docbookgen.h, definition at line 265 of file docbookgen.cpp.

266 const QCString &anchor,int l,bool writeLineAnchor)
267{
268 if (m_hide) return;
269 Docbook_DB(("(writeLineNumber)\n"));
271 if (Config_getBool(SOURCE_BROWSER))
272 {
273 QCString lineNumber;
274 lineNumber.sprintf("%05d",l);
275
276 if (!m_sourceFileName.isEmpty())
277 {
278 writeCodeLinkLine(CodeSymbolType::Default,ref,m_sourceFileName,anchor,lineNumber,QCString(),writeLineAnchor);
279 }
280 if (!fileName.isEmpty())
281 {
282 writeCodeLink(CodeSymbolType::Default,ref,fileName,anchor,lineNumber,QCString());
283 }
284 else
285 {
286 codify(lineNumber);
287 }
288 *m_t << " ";
289 }
290 else
291 {
292 *m_t << l << " ";
293 }
294 m_col=0;
295}

References codify, Config_getBool, Default, Docbook_DB, QCString::isEmpty, m_col, m_hide, m_insideCodeLine, m_sourceFileName, m_t, QCString::sprintf, TRUE, writeCodeLink and writeCodeLinkLine.

writeTooltip()

void DocbookCodeGenerator::writeTooltip (const QCString &, const DocLinkInfo &, const QCString &, const QCString &, const SourceLinkInfo &, const SourceLinkInfo &)
virtual

Declaration at line 64 of file docbookgen.h, definition at line 218 of file docbookgen.cpp.

219 const QCString &, const SourceLinkInfo &, const SourceLinkInfo &
220 )
221{
222 Docbook_DB(("(writeToolTip)\n"));
223}

Reference Docbook_DB.

Private Member Functions

writeCodeLinkLine()

void DocbookCodeGenerator::writeCodeLinkLine (CodeSymbolType type, const QCString & ref, const QCString & file, const QCString & anchor, const QCString & name, const QCString & tooltip, bool writeLineAnchor)

Declaration at line 85 of file docbookgen.h, definition at line 203 of file docbookgen.cpp.

204 const QCString &,const QCString &file,
205 const QCString &,const QCString &name,
206 const QCString &,bool writeLineAnchor)
207{
208 if (m_hide) return;
209 Docbook_DB(("(writeCodeLinkLine)\n"));
210 if (!writeLineAnchor) return;
211 *m_t << "<anchor xml:id=\"_" << stripExtensionGeneral(stripPath(file),".xml");
212 *m_t << "_1l";
214 *m_t << "\"/>";
215 m_col+=name.length();
216}

References Docbook_DB, QCString::length, m_col, m_hide, m_t, stripExtensionGeneral, stripPath and writeDocbookString.

Referenced by writeLineNumber.

Private Member Attributes

m_col

size_t DocbookCodeGenerator::m_col = 0

Definition at line 93 of file docbookgen.h.

93 size_t m_col = 0;

Referenced by codify, startCodeLine, writeCodeLink, writeCodeLinkLine and writeLineNumber.

m_external

QCString DocbookCodeGenerator::m_external

Definition at line 91 of file docbookgen.h.

Referenced by endCodeLine.

m_hide

bool DocbookCodeGenerator::m_hide = false

m_insideCodeLine

bool DocbookCodeGenerator::m_insideCodeLine = false

Definition at line 94 of file docbookgen.h.

94 bool m_insideCodeLine = false;

Referenced by endCodeLine, startCodeLine and writeLineNumber.

m_insideSpecialHL

bool DocbookCodeGenerator::m_insideSpecialHL = false

Definition at line 95 of file docbookgen.h.

95 bool m_insideSpecialHL = false;

Referenced by endFontClass and startFontClass.

m_lineNumber

int DocbookCodeGenerator::m_lineNumber = -1

Definition at line 92 of file docbookgen.h.

92 int m_lineNumber = -1;

Referenced by endCodeLine.

m_refId

QCString DocbookCodeGenerator::m_refId

Definition at line 90 of file docbookgen.h.

Referenced by endCodeLine.

m_relPath

QCString DocbookCodeGenerator::m_relPath

Definition at line 96 of file docbookgen.h.

Referenced by setRelativePath.

m_sourceFileName

QCString DocbookCodeGenerator::m_sourceFileName

Definition at line 97 of file docbookgen.h.

Referenced by setSourceFileName, sourceFileName and writeLineNumber.

m_stripCodeComments

bool DocbookCodeGenerator::m_stripCodeComments = false

Definition at line 98 of file docbookgen.h.

98 bool m_stripCodeComments = false;

Referenced by startSpecialComment and stripCodeComments.

m_stripIndentAmount

size_t DocbookCodeGenerator::m_stripIndentAmount = 0

Definition at line 100 of file docbookgen.h.

Referenced by codify and setStripIndentAmount.

m_t


The documentation for this class was generated from the following files:


Generated via doxygen2docusaurus by Doxygen 1.14.0.