Skip to main content

The XMLCodeGenerator Class Reference

Declaration

class XMLCodeGenerator { ... }

Included Headers

#include <src/xmlgen.h>

Base class

classOutputCodeIntf

Base class for code generators. More...

Public Constructors Index

XMLCodeGenerator (TextStream *t)

Public Member Functions Index

OutputTypetype () const override
voidcodify (const QCString &text) override

Generator for producing XML formatted source code. More...

voidstripCodeComments (bool b) override
voidstartSpecialComment () override
voidendSpecialComment () override
voidsetStripIndentAmount (size_t amount) override
std::unique_ptr< OutputCodeIntf >clone () 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 &) override
voidendCodeFragment (const QCString &) override
voidstartFold (int, const QCString &, const QCString &) override
voidendFold () override
voidfinish ()

Private Member Attributes Index

TextStream *m_t
QCStringm_refId
QCStringm_external
intm_lineNumber = -1
boolm_isMemberRef = false
size_tm_col = 0
boolm_insideCodeLine = false
boolm_normalHLNeedStartTag = true
boolm_insideSpecialHL = false
boolm_stripCodeComments = false
boolm_hide = false
size_tm_stripIndentAmount = 0

Definition at line 20 of file xmlgen.h.

Public Constructors

XMLCodeGenerator()

XMLCodeGenerator::XMLCodeGenerator (TextStream * t)

Declaration at line 23 of file xmlgen.h, definition at line 201 of file xmlgen.cpp.

Reference m_t.

Public Member Functions

clone()

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

Definition at line 32 of file xmlgen.h.

32 std::unique_ptr<OutputCodeIntf> clone() override { return std::make_unique<XMLCodeGenerator>(*this); }

codify()

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

Generator for producing XML formatted source code.

Declaration at line 27 of file xmlgen.h, definition at line 206 of file xmlgen.cpp.

207{
208 XML_DB(("(codify \"%s\")\n",qPrint(text)));
210 {
211 *m_t << "<highlight class=\"normal\">";
213 }
215}

References FALSE, m_col, m_hide, m_insideCodeLine, m_insideSpecialHL, m_normalHLNeedStartTag, m_stripIndentAmount, m_t, qPrint, writeXMLCodeString and XML_DB.

endCodeFragment()

void XMLCodeGenerator::endCodeFragment (const QCString &)
virtual

Declaration at line 48 of file xmlgen.h, definition at line 367 of file xmlgen.cpp.

368{
369 XML_DB(("(endCodeFragment)\n"));
370 *m_t << " </programlisting>\n";
371}

References m_t and XML_DB.

endCodeLine()

void XMLCodeGenerator::endCodeLine ()
virtual

Declaration at line 41 of file xmlgen.h, definition at line 292 of file xmlgen.cpp.

293{
294 if (m_hide) return;
295 XML_DB(("(endCodeLine)\n"));
297 {
298 *m_t << "</highlight>";
300 }
302 {
303 *m_t << "</codeline>\n";
304 }
305 m_lineNumber = -1;
306 m_refId.clear();
307 m_external.clear();
309}

References FALSE, m_external, m_hide, m_insideCodeLine, m_insideSpecialHL, m_lineNumber, m_normalHLNeedStartTag, m_refId, m_t, TRUE and XML_DB.

Referenced by finish.

endFold()

void XMLCodeGenerator::endFold ()
inline virtual

Definition at line 50 of file xmlgen.h.

50 void endFold() override {}

endFontClass()

void XMLCodeGenerator::endFontClass ()
virtual

Declaration at line 43 of file xmlgen.h, definition at line 324 of file xmlgen.cpp.

325{
326 if (m_hide) return;
327 XML_DB(("(endFontClass)\n"));
328 *m_t << "</highlight>"; // non DocBook
330}

References FALSE, m_hide, m_insideSpecialHL, m_t and XML_DB.

endSpecialComment()

void XMLCodeGenerator::endSpecialComment ()
virtual

Declaration at line 30 of file xmlgen.h, definition at line 222 of file xmlgen.cpp.

223{
224 m_hide = false;
225}

Reference m_hide.

finish()

void XMLCodeGenerator::finish ()

Declaration at line 52 of file xmlgen.h, definition at line 355 of file xmlgen.cpp.

356{
357 XML_DB(("(finish insideCodeLine=%d)\n",m_insideCodeLine));
359}

References endCodeLine, m_insideCodeLine and XML_DB.

setStripIndentAmount()

void XMLCodeGenerator::setStripIndentAmount (size_t amount)
virtual

Declaration at line 31 of file xmlgen.h, definition at line 232 of file xmlgen.cpp.

233{
234 m_stripIndentAmount = amount;
235}

Reference m_stripIndentAmount.

startCodeFragment()

void XMLCodeGenerator::startCodeFragment (const QCString &)
virtual

Declaration at line 47 of file xmlgen.h, definition at line 361 of file xmlgen.cpp.

362{
363 XML_DB(("(startCodeFragment)\n"));
364 *m_t << " <programlisting>\n";
365}

References m_t and XML_DB.

startCodeLine()

void XMLCodeGenerator::startCodeLine (int)
virtual

Declaration at line 40 of file xmlgen.h, definition at line 261 of file xmlgen.cpp.

262{
263 m_col=0;
264 if (m_hide) return;
265 XML_DB(("(startCodeLine)\n"));
266 *m_t << "<codeline";
267 if (m_lineNumber!=-1)
268 {
269 *m_t << " lineno=\"" << m_lineNumber << "\"";
270 if (!m_refId.isEmpty())
271 {
272 *m_t << " refid=\"" << m_refId << "\"";
273 if (m_isMemberRef)
274 {
275 *m_t << " refkind=\"member\"";
276 }
277 else
278 {
279 *m_t << " refkind=\"compound\"";
280 }
281 }
282 if (!m_external.isEmpty())
283 {
284 *m_t << " external=\"" << m_external << "\"";
285 }
286 }
287 *m_t << ">";
289 m_col=0;
290}

References m_col, m_external, m_hide, m_insideCodeLine, m_isMemberRef, m_lineNumber, m_refId, m_t, TRUE and XML_DB.

startFold()

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

Definition at line 49 of file xmlgen.h.

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

startFontClass()

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

Declaration at line 42 of file xmlgen.h, definition at line 311 of file xmlgen.cpp.

312{
313 if (m_hide) return;
314 XML_DB(("(startFontClass)\n"));
316 {
317 *m_t << "</highlight>";
319 }
320 *m_t << "<highlight class=\"" << colorClass << "\">"; // non DocBook
322}

References m_hide, m_insideCodeLine, m_insideSpecialHL, m_normalHLNeedStartTag, m_t, TRUE and XML_DB.

startSpecialComment()

void XMLCodeGenerator::startSpecialComment ()
virtual

Declaration at line 29 of file xmlgen.h, definition at line 227 of file xmlgen.cpp.

References m_hide and m_stripCodeComments.

stripCodeComments()

void XMLCodeGenerator::stripCodeComments (bool b)
virtual

Declaration at line 28 of file xmlgen.h, definition at line 217 of file xmlgen.cpp.

Reference m_stripCodeComments.

type()

OutputType XMLCodeGenerator::type ()
inline virtual

Definition at line 25 of file xmlgen.h.

25 OutputType type() const override { return OutputType::XML; }

Reference XML.

writeCodeAnchor()

void XMLCodeGenerator::writeCodeAnchor (const QCString &)
virtual

Declaration at line 44 of file xmlgen.h, definition at line 332 of file xmlgen.cpp.

333{
334 if (m_hide) return;
335 XML_DB(("(writeCodeAnchor)\n"));
336}

References m_hide and XML_DB.

writeCodeLink()

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

Declaration at line 33 of file xmlgen.h, definition at line 237 of file xmlgen.cpp.

238 const QCString &ref,const QCString &file,
239 const QCString &anchor,const QCString &name,
240 const QCString &tooltip)
241{
242 if (m_hide) return;
243 XML_DB(("(writeCodeLink)\n"));
245 {
246 *m_t << "<highlight class=\"normal\">";
248 }
249 writeXMLLink(*m_t,ref,file,anchor,name,tooltip);
250 m_col+=name.length();
251}

References FALSE, QCString::length, m_col, m_hide, m_insideCodeLine, m_insideSpecialHL, m_normalHLNeedStartTag, m_t, writeXMLLink and XML_DB.

writeLineNumber()

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

Declaration at line 45 of file xmlgen.h, definition at line 338 of file xmlgen.cpp.

338void XMLCodeGenerator::writeLineNumber(const QCString &extRef,const QCString &compId,
339 const QCString &anchorId,int l,bool)
340{
341 if (m_hide) return;
342 XML_DB(("(writeLineNumber)\n"));
343 // we remember the information provided here to use it
344 // at the <codeline> start tag.
345 m_lineNumber = l;
346 if (!compId.isEmpty())
347 {
348 m_refId=compId;
349 if (!anchorId.isEmpty()) m_refId+=QCString("_1")+anchorId;
350 m_isMemberRef = anchorId!=nullptr;
351 if (!extRef.isEmpty()) m_external=extRef;
352 }
353}

References QCString::isEmpty, m_external, m_hide, m_isMemberRef, m_lineNumber, m_refId and XML_DB.

writeTooltip()

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

Declaration at line 37 of file xmlgen.h, definition at line 253 of file xmlgen.cpp.

254 const QCString &, const SourceLinkInfo &, const SourceLinkInfo &
255 )
256{
257 if (m_hide) return;
258 XML_DB(("(writeToolTip)\n"));
259}

References m_hide and XML_DB.

Private Member Attributes

m_col

size_t XMLCodeGenerator::m_col = 0

Definition at line 60 of file xmlgen.h.

60 size_t m_col = 0;

Referenced by codify, startCodeLine and writeCodeLink.

m_external

QCString XMLCodeGenerator::m_external

Definition at line 57 of file xmlgen.h.

Referenced by endCodeLine, startCodeLine and writeLineNumber.

m_hide

bool XMLCodeGenerator::m_hide = false

m_insideCodeLine

bool XMLCodeGenerator::m_insideCodeLine = false

Definition at line 62 of file xmlgen.h.

62 bool m_insideCodeLine = false;

Referenced by codify, endCodeLine, finish, startCodeLine, startFontClass and writeCodeLink.

m_insideSpecialHL

bool XMLCodeGenerator::m_insideSpecialHL = false

Definition at line 64 of file xmlgen.h.

64 bool m_insideSpecialHL = false;

Referenced by codify, endCodeLine, endFontClass, startFontClass and writeCodeLink.

m_isMemberRef

bool XMLCodeGenerator::m_isMemberRef = false

Definition at line 59 of file xmlgen.h.

59 bool m_isMemberRef = false;

Referenced by startCodeLine and writeLineNumber.

m_lineNumber

int XMLCodeGenerator::m_lineNumber = -1

Definition at line 58 of file xmlgen.h.

58 int m_lineNumber = -1;

Referenced by endCodeLine, startCodeLine and writeLineNumber.

m_normalHLNeedStartTag

bool XMLCodeGenerator::m_normalHLNeedStartTag = true

Definition at line 63 of file xmlgen.h.

Referenced by codify, endCodeLine, startFontClass and writeCodeLink.

m_refId

QCString XMLCodeGenerator::m_refId

Definition at line 56 of file xmlgen.h.

Referenced by endCodeLine, startCodeLine and writeLineNumber.

m_stripCodeComments

bool XMLCodeGenerator::m_stripCodeComments = false

Definition at line 65 of file xmlgen.h.

65 bool m_stripCodeComments = false;

Referenced by startSpecialComment and stripCodeComments.

m_stripIndentAmount

size_t XMLCodeGenerator::m_stripIndentAmount = 0

Definition at line 67 of file xmlgen.h.

Referenced by codify and setStripIndentAmount.

m_t

TextStream* XMLCodeGenerator::m_t

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


Generated via doxygen2docusaurus by Doxygen 1.14.0.