51 #define Docbook_DB(x) do {} while(0) 120 int spacesToNextTabStop = tabSize - (col%tabSize);
121 col+=spacesToNextTabStop;
122 while (spacesToNextTabStop--) t <<
" ";
125 case ' ': t <<
" "; col++;
break;
126 case '<': t <<
"<"; col++;
break;
127 case '>': t <<
">"; col++;
break;
128 case '&': t <<
"&"; col++;
break;
129 case '\'': t <<
"'"; col++;
break;
130 case '"': t <<
"""; col++;
break;
131 default: t <<
c; col++;
break;
138 t <<
"<?xml version='1.0' encoding='UTF-8' standalone='no'?>" <<
endl;;
139 t <<
"<chapter xmlns=\"http://docbook.org/ns/docbook\" version=\"5.0\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">" <<
endl;
144 t <<
"<?xml version='1.0' encoding='UTF-8' standalone='no'?>" <<
endl;;
145 t <<
"<section xmlns=\"http://docbook.org/ns/docbook\" version=\"5.0\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"" <<
id <<
"\">" <<
endl;
149 const char *anchorId,
const char * text,
const char * )
151 t <<
"<link linkend=\"" << compoundId;
152 if (anchorId) t <<
"_1" << anchorId;
169 const char *anchor,
const char *text
182 m_insideCodeLine(
FALSE), m_insideSpecialHL(
FALSE) {}
191 const char *anchor,
const char *
name,
207 if (m_lineNumber!=-1)
209 if (!m_refId.isEmpty())
211 m_t <<
"<link linkend=\"" << m_refId <<
"\">";
213 m_t << m_lineNumber <<
" ";
214 if (!m_refId.isEmpty())
219 m_insideCodeLine=
TRUE;
228 m_external.resize(0);
229 m_insideCodeLine=
FALSE;
234 m_t <<
"<emphasis class=\"" << colorClass <<
"\">";
235 m_insideSpecialHL=
TRUE;
240 m_t <<
"</emphasis>";
241 m_insideSpecialHL=
FALSE;
248 const char *anchorId,
int l)
257 if (anchorId) m_refId+=(
QCString)
"_1"+anchorId;
258 if (extRef) m_external=extRef;
290 indentStr.
fill(
' ',indent);
293 t << indentStr <<
"<templateparamlist>" <<
endl;
298 t << indentStr <<
" <param>" <<
endl;
301 t << indentStr <<
" <type>";
303 t <<
"</type>" <<
endl;
307 t << indentStr <<
" <declname>" << a->
name <<
"</declname>" <<
endl;
308 t << indentStr <<
" <defname>" << a->
name <<
"</defname>" <<
endl;
312 t << indentStr <<
" <defval>";
314 t <<
"</defval>" <<
endl;
316 t << indentStr <<
" </param>" <<
endl;
318 t << indentStr <<
"</templateparamlist>" <<
endl;
346 delete docbookCodeGen;
446 t <<
" <para>" <<
endl;
447 t <<
" <itemizedlist>" <<
endl;
448 t <<
" <listitem>" <<
endl;
454 t <<
" <para><literallayout>" << memType <<
" <link linkend=\"";
487 t <<
"</literallayout>" <<
endl;
490 t <<
"<para><emphasis>";
492 t <<
"</emphasis></para>" <<
endl;
497 t <<
" <para>" <<
"#" << memType <<
" <link linkend=\"";
514 t <<
"<para><emphasis>";
516 t <<
"</emphasis></para>" <<
endl;
526 t <<
"<para><emphasis>";
528 t <<
"</emphasis></para>";
535 t <<
" <link linkend=\"";
547 t <<
"<para><emphasis>";
549 t <<
"</emphasis></para>" <<
endl;
555 t <<
" <para>" << memType;
559 t <<
" <link linkend=\"";
571 t <<
"<para><emphasis>";
573 t <<
"</emphasis></para>" <<
endl;
580 t <<
" <link linkend=\"";
592 if (declAl && declAl->
count()>0)
618 t <<
"<para><emphasis>";
620 t <<
"</emphasis></para>" <<
endl;
627 if (closePara) t <<
"</para>" <<
endl;
628 t <<
" </listitem>" <<
endl;
629 t <<
" </itemizedlist>" <<
endl;
630 t <<
" </para>" <<
endl;
637 t <<
" <section xml:id=\"";
655 t <<
" <formalpara>" <<
endl;
657 t <<
" <variablelist>" <<
endl;
660 t <<
" <varlistentry xml:id=\"";
664 t <<
"</term>" <<
endl;
665 t <<
" <listitem>" <<
endl;
670 t <<
"</para>" <<
endl;
672 t <<
" </listitem>" <<
endl;
673 t <<
" </varlistentry>" <<
endl;
675 t <<
" </variablelist>" <<
endl;
676 t <<
" </formalpara>" <<
endl;
679 t <<
" <computeroutput><literallayout>" <<
endl;
691 t <<
" </literallayout></computeroutput>" <<
endl;
692 t <<
" </para>" <<
endl;
693 t <<
" </section>" <<
endl;
698 t <<
" <section xml:id=\"";
713 t <<
"</emphasis>" <<
endl;
718 t <<
" </section>" <<
endl;
722 t <<
" <section xml:id=\"";
737 t <<
"</emphasis>" <<
endl;
742 t <<
" </section>" <<
endl;
748 t <<
" <section xml:id=\"";
763 t <<
" <para>The Documentation for this define was generated from the following file: </para>" <<
endl;
764 t <<
" <para><itemizedlist><listitem><para>" <<
stripPath(md->
getDefFileName()) <<
"</para></listitem></itemizedlist></para>" << endl;
765 t <<
" </section>" <<
endl;
774 t <<
" <simplesect>" <<
endl;
780 t <<
" <para>The Documentation for this struct was generated from the following file: </para>" <<
endl;
781 t <<
" <para><itemizedlist><listitem><para>" <<
stripPath(md->
getDefFileName()) <<
"</para></listitem></itemizedlist></para>" << endl;
782 t <<
" </simplesect>" <<
endl;
787 t <<
" <section xml:id=\"";
802 t <<
"</emphasis>" <<
endl;
807 t <<
" </section>" <<
endl;
814 bool detailed=0,
const char *header=0,
const char *documentation=0)
833 if (count==0)
return;
845 default: title=
""; desctitle=
"";
break;
867 t <<
" <section>" <<
endl;
868 t <<
" <title>" << desctitle <<
"</title>" <<
endl;
872 t <<
" <section>" <<
endl;
879 t <<
" <title>" << title <<
"</title>" <<
endl;
885 t <<
" <description>";
887 t <<
"</description>" <<
endl;
907 t <<
" </section>" <<
endl;
912 t <<
" </section>" <<
endl;
926 t <<
" <section>" <<
endl;
927 t <<
" <title> " << title <<
" </title>" <<
endl;
929 for (cli.toFirst();(cd=cli.current());++
cli)
933 t <<
" <para>" <<
endl;
934 t <<
" <itemizedlist>" <<
endl;
935 t <<
" <listitem>" <<
endl;
937 t <<
"</para>" <<
endl;
940 t <<
"<para><emphasis>";
942 t <<
"</emphasis></para>" <<
endl;
944 t <<
" </listitem>" <<
endl;
945 t <<
" </itemizedlist>" <<
endl;
946 t <<
" </para>" <<
endl;
951 t <<
" </section>" <<
endl;
966 t <<
" <simplesect>" <<
endl;
967 t <<
" <title> " << title <<
" </title>" <<
endl;
969 for (nli.toFirst();(nd=nli.current());++nli)
973 t <<
" <para>" <<
endl;
974 t <<
" <itemizedlist>" <<
endl;
975 t <<
" <listitem>" <<
endl;
977 t <<
"</para>" <<
endl;
978 t <<
" </listitem>" <<
endl;
979 t <<
" </itemizedlist>" <<
endl;
980 t <<
" </para>" <<
endl;
985 t <<
" </simplesect>" <<
endl;
1000 t <<
" <simplesect>" <<
endl;
1001 t <<
" <title> " << title <<
" </title>" <<
endl;
1005 t <<
" <para>" <<
endl;
1006 t <<
" <itemizedlist>" <<
endl;
1007 t <<
" <listitem>" <<
endl;
1009 t <<
"</para>" <<
endl;
1010 t <<
" </listitem>" <<
endl;
1011 t <<
" </itemizedlist>" <<
endl;
1012 t <<
" </para>" <<
endl;
1016 t <<
" </simplesect>" <<
endl;
1028 for (pli.toFirst();(pd=pli.current());++pli)
1030 t <<
"<xi:include href=\"" << pd->
getOutputFileBase() <<
".xml\" xmlns:xi=\"http://www.w3.org/2001/XInclude\"/>" <<
endl;
1045 t <<
" <simplesect>" <<
endl;
1047 t <<
" </simplesect>" <<
endl;
1048 t <<
" <para>" <<
endl;
1049 t <<
" <itemizedlist>" <<
endl;
1060 t <<
" </itemizedlist>" <<
endl;
1061 t <<
" </para>" <<
endl;
1076 t <<
" <simplesect>" <<
endl;
1077 t <<
" <title> " << title <<
" </title>" <<
endl;
1081 t <<
" <para>" <<
endl;
1082 t <<
" <itemizedlist>" <<
endl;
1083 t <<
" <listitem>" <<
endl;
1085 t <<
"</para>" <<
endl;
1086 t <<
" </listitem>" <<
endl;
1087 t <<
" </itemizedlist>" <<
endl;
1088 t <<
" </para>" <<
endl;
1092 t <<
" </simplesect>" <<
endl;
1106 t <<
"<xi:include href=\"" << sgd->
getOutputFileBase() <<
".xml\" xmlns:xi=\"http://www.w3.org/2001/XInclude\"/>" <<
endl;
1131 if (cd->
name().
find(
'@')!=-1)
return;
1134 msg(
"Generating Docbook output for class %s\n",cd->
name().
data());
1138 ti <<
" <xi:include href=\"" << fileDocbook <<
"\" xmlns:xi=\"http://www.w3.org/2001/XInclude\"/>" <<
endl;
1146 err(
"Cannot open file %s for writing!\n",fileName.
data());
1156 t <<
"</title>" <<
endl;
1165 t <<
"<para>" <<
endl;
1166 t <<
" <programlisting>#include ";
1192 t <<
"</programlisting>" <<
endl;
1193 t <<
"</para>" <<
endl;
1199 t <<
"<para>Inheritance diagram for " <<
convertToXML(cd->
name()) <<
"</para>" << endl;
1206 t <<
"<para>Collaboration diagram for " <<
convertToXML(cd->
name()) <<
"</para>" << endl;
1218 for (;(mg=mgli.current());++mgli)
1221 mg->documentation());
1228 for (mli.toFirst();(ml=mli.current());++mli)
1240 t <<
" <simplesect>" <<
endl;
1244 t <<
" </simplesect>" <<
endl;
1250 t <<
" <simplesect>" <<
endl;
1254 t <<
" <para>The Documentation for this struct was generated from the following file: </para>" <<
endl;
1255 t <<
" <para><itemizedlist><listitem><para>" <<
stripPath(cd->
getDefFileName()) <<
"</para></listitem></itemizedlist></para>" << endl;
1256 t <<
" </simplesect>" <<
endl;
1258 for (mli.toFirst();(ml=mli.current());++mli)
1298 t <<
"</section>" <<
endl;
1317 ti <<
" <xi:include href=\"" << fileDocbook <<
"\" xmlns:xi=\"http://www.w3.org/2001/XInclude\"/>" <<
endl;
1324 err(
"Cannot open file %s for writing!\n",fileName.
data());
1333 t <<
"</title>" <<
endl;
1342 for (;(mg=mgli.current());++mgli)
1351 for (mli.toFirst();(ml=mli.current());++mli)
1363 t <<
" <simplesect>" <<
endl;
1366 t <<
" </simplesect>" <<
endl;
1372 t <<
" <simplesect>" <<
endl;
1376 t <<
" <para>The Documentation for this struct was generated from the following file: </para>" <<
endl;
1377 t <<
" <para><itemizedlist><listitem><para>" <<
stripPath(nd->
getDefFileName()) <<
"</para></listitem></itemizedlist></para>" << endl;
1378 t <<
" </simplesect>" <<
endl;
1380 t <<
"</section>" <<
endl;
1403 ti <<
" <xi:include href=\"" << fileDocbook <<
"\" xmlns:xi=\"http://www.w3.org/2001/XInclude\"/>" <<
endl;
1412 err(
"Cannot open file %s for writing!\n",fileName.
data());
1421 t <<
" File Reference";
1422 t <<
"</title>" <<
endl;
1429 for (ili1.toFirst();(inc=ili1.current());++ili1)
1431 t <<
" <programlisting>#include ";
1449 t <<
"</programlisting>" <<
endl;
1456 t <<
"<para>Include dependency diagram for " <<
convertToXML(fd->
name()) <<
"</para>" << endl;
1462 t <<
"<para>Included by dependency diagram for " <<
convertToXML(fd->
name()) <<
"</para>" << endl;
1481 for (;(mg=mgli.current());++mgli)
1490 for (mli.toFirst();(ml=mli.current());++mli)
1498 t <<
" <simplesect>" <<
endl;
1510 t <<
" </simplesect>" <<
endl;
1514 t <<
" <literallayout><computeroutput>" <<
endl;
1516 t <<
" </computeroutput></literallayout>" <<
endl;
1519 t <<
"</section>" <<
endl;
1542 ti <<
" <xi:include href=\"" << fileDocbook <<
"\" xmlns:xi=\"http://www.w3.org/2001/XInclude\"/>" <<
endl;
1552 err(
"Cannot open file %s for writing!\n",fileName.
data());
1579 t <<
" <section>" <<
endl;
1582 t <<
" </section>" <<
endl;
1595 for (;(mg=mgli.current());++mgli)
1598 mg->documentation());
1604 for (mli.toFirst();(ml=mli.current());++mli)
1611 for (mli.toFirst();(ml=mli.current());++mli)
1621 t <<
"</section>" <<
endl;
1631 ti <<
" <xi:include href=\"" << fileDocbook <<
"\" xmlns:xi=\"http://www.w3.org/2001/XInclude\"/>" <<
endl;
1640 err(
"Cannot open file %s for writing!\n",fileName.
data());
1650 t <<
"</title>" <<
endl;
1661 t <<
" <simplesect>" <<
endl;
1665 t <<
" <para>Directory location is " << dd->
name() <<
"</para>" <<
endl;
1666 t <<
" </simplesect>" <<
endl;
1668 t <<
"</section>" <<
endl;
1684 if (pageName==
"index")
1686 pageName=
"mainpage";
1694 err(
"Cannot open file %s for writing!\n",fileName.
data());
1703 QCString fileDocbook=pageName+
".xml";
1704 ti <<
" <xi:include href=\"" << fileDocbook <<
"\" xmlns:xi=\"http://www.w3.org/2001/XInclude\"/>" <<
endl;
1709 QCString fileDocbook=pageName+
".xml";
1711 ti <<
" <xi:include href=\"" << fileDocbook <<
"\" xmlns:xi=\"http://www.w3.org/2001/XInclude\"/>" <<
endl;
1723 pid = pageName+
"_1"+pageName;
1771 if (outputDirectory.
isEmpty())
1781 if (!dir.
mkdir(outputDirectory))
1783 err(
"tag DOCBOOK_OUTPUT: Output directory `%s' does not " 1784 "exist and cannot be created\n",outputDirectory.
data());
1789 msg(
"Notice: Output directory `%s' does not exist. " 1790 "I have created it for you.\n", outputDirectory.
data());
1792 dir.
cd(outputDirectory);
1801 if (!dir.
mkdir(outputDirectory))
1803 err(
"Cannot create directory %s\n",outputDirectory.
data());
1807 QDir docbookDir(outputDirectory);
1817 err(
"Cannot open file %s for writing!\n",fileName.
data());
1824 t <<
"<?xml version='1.0' encoding='UTF-8' standalone='no'?>" <<
endl;;
1825 t <<
"<book xmlns=\"http://docbook.org/ns/docbook\" version=\"5.0\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">" <<
endl;
1826 t <<
" <info>" <<
endl;
1827 t <<
" <title>" << dbk_projectName <<
"</title>" <<
endl;
1828 t <<
" </info>" <<
endl;
1837 t <<
" <chapter>" <<
endl;
1838 t <<
" <title>Namespace Documentation</title>" <<
endl;
1841 for (nli.toFirst();(nd=nli.current());++nli)
1843 msg(
"Generating Docbook output for namespace %s\n",nd->
name().
data());
1850 t <<
" </chapter>" <<
endl;
1857 msg(
"Generating Docbook output for the main page\n");
1866 for (pdi.toFirst();(pd=pdi.current());++pdi)
1868 msg(
"Generating Docbook output for page %s\n",pd->
name().
data());
1881 t <<
" <chapter>" <<
endl;
1885 for (;(gd=gli.current());++gli)
1887 msg(
"Generating Docbook output for group %s\n",gd->
name().
data());
1894 t <<
" </chapter>" <<
endl;
1906 t <<
" <chapter>" <<
endl;
1910 for (cli.toFirst();(cd=cli.current());++
cli)
1918 t <<
" </chapter>" <<
endl;
1933 t <<
" <chapter>" <<
endl;
1937 for (;(fn=fnli.
current());++fnli)
1941 for (;(fd=fni.
current());++fni)
1943 msg(
"Generating Docbook output for file %s\n",fd->
name().
data());
1951 t <<
" </chapter>" <<
endl;
1964 t <<
" <chapter>" <<
endl;
1968 for (sdi.toFirst();(dir=sdi.current());++sdi)
1970 msg(
"Generate Docbook output for dir %s\n",dir->
name().
data());
1977 t <<
" </chapter>" <<
endl;
1990 t <<
" <chapter>" <<
endl;
1994 for (pdi.toFirst();(pd=pdi.current());++pdi)
1996 msg(
"Generating Docbook output for example %s\n",pd->
name().
data());
2003 t <<
" </chapter>" <<
endl;
2007 t <<
"</book>" <<
endl;
void writeDocbookLink(FTextStream &t, const char *, const char *compoundId, const char *anchorId, const char *text, const char *)
Traverses directory structures and contents in a platform-independent way.
QCString convertToXML(const char *s)
virtual QCString trTypedefs()=0
void setCurrentDoc(Definition *, const char *, bool)
MemberListType listType() const
static GroupSDict * groupSDict
virtual QCString trEnumerationTypeDocumentation()=0
ParserInterface * getParser(const char *extension)
PageSDict * getSubPages() const
MemberGroupSDict * getMemberGroupSDict() const
QCString fileToString(const char *name, bool filter, bool isSourceCode)
This class represents an function or template argument list.
QCString stripWhiteSpace() const
ClassSDict * getClassSDict() const
static void writeInnerFiles(const FileList *fl, FTextStream &t)
virtual QCString trClasses()=0
virtual QCString trFile(bool first_capital, bool singular)=0
void startFontClass(const char *colorClass)
IncludeInfo * includeInfo() const
static PageSDict * exampleSDict
void msg(const char *fmt,...)
virtual QCString trEnumerationValues()=0
virtual void setPath(const QString &path)
static void generateDocbookForPage(PageDef *pd, FTextStream &ti, bool isExample)
Abstract interface for programming language parsers.
QCString getOutputFileBase() const
virtual ~DocbookCodeGenerator()
ArgumentList * templateArguments() const
virtual QCString trDirReference(const char *dirName)=0
FileDef * getBodyDef() const
QCString compoundTypeString() const
void writeDocbookString(FTextStream &t, const char *s)
static FileNameList * inputNameList
const QList< MemberList > & getMemberLists() const
MemberList * enumFieldList() const
virtual QCString trDetailedDescription()=0
static QCString stripPath(const QCString &s)
DocRoot * validatingParseDoc(const char *fileName, int startLine, Definition *ctx, MemberDef *md, const char *input, bool indexWords, bool isExample, const char *exampleName, bool singleLine, bool linkFromIndex)
virtual bool isReference() const
QCString relativePathToRoot(const char *name)
Simplified and optimized version of QTextStream.
int find(char c, int index=0, bool cs=TRUE) const
static void writeDocbookDocBlock(FTextStream &t, const QCString &fileName, int lineNr, Definition *scope, MemberDef *md, const QCString &text)
virtual QCString trModuleDocumentation()=0
void setName(const QString &name)
const char * groupTitle() const
virtual QCString trDirectories()=0
static constexpr double mg
virtual QString absPath() const
ClassSDict * getClasses() const
ArgumentList * declArgumentList() const
ClassSDict * getClassSDict()
GroupList * getSubGroups() const
QCString getDefFileName() const
virtual QCString trMemberDataDocumentation()=0
QCString getDefFileExtension() const
QCString displayName(bool=TRUE) const
#define Config_getInt(val)
static void generateDocbookSection(Definition *d, FTextStream &t, MemberList *ml, const char *, bool detailed=0, const char *header=0, const char *documentation=0)
static NamespaceSDict * namespaceSDict
void writeTooltip(const char *, const DocLinkInfo &, const char *, const char *, const SourceLinkInfo &, const SourceLinkInfo &)
static ParserManager * parserManager
ClassDef * templateMaster() const
virtual DefType definitionType() const =0
This class contains the information about the argument of a function or template. ...
const char * typeString() const
void writeBreak(int) const
static void writeInnerNamespaces(const NamespaceSDict *nl, FTextStream &t)
bool hasParentPage() const
virtual bool mkdir(const QString &dirName, bool acceptAbsPath=TRUE) const
void insert(long k, const char *d)
void writeString(const char *s, bool) const
void addWord(const char *, bool)
const QCString & name() const
NamespaceSDict * getNamespaceSDict() const
PageSDict * getPages() const
virtual QCString trFileDocumentation()=0
static void writeDocbookHeaderMainpage(FTextStream &t)
virtual QCString trDirDocumentation()=0
QCString briefDescription(bool abbr=FALSE) const
static QCString memberOutputFileBase(MemberDef *md)
static void generateDocbookForNamespace(NamespaceDef *nd, FTextStream &ti)
virtual QCString trVariables()=0
QList< IncludeInfo > * includeFileList() const
static QCString classOutputFileBase(ClassDef *cd)
static DirSDict * directories
static QString currentDirPath()
static void writeInnerPages(const PageSDict *pl, FTextStream &t)
const DirList & subDirs() const
NamespaceSDict * getNamespaces() const
virtual QCString trClassDocumentation()=0
static void generateDocbookForClass(ClassDef *cd, FTextStream &ti)
DocbookCodeGenerator(FTextStream &t)
virtual QCString trFunctions()=0
static SectionDict * sectionDict
static DocbookSectionMapper g_docbookSectionMapper
A bunch of utility functions.
static PageSDict * pageSDict
const char * data() const
const QList< MemberList > & getMemberLists() const
#define Config_getString(val)
#define Config_getBool(val)
const char * definition() const
ClassDef * getClassDef() const
void writeLink(const char *extRef, const char *file, const char *anchor, const char *text) const
QCString briefFile() const
TextGeneratorDocbookImpl(FTextStream &t)
Concrete visitor implementation for Docbook output.
void err(const char *fmt,...)
void codify(const char *text)
static void writeDocbookHeader_ID(FTextStream &t, QCString id)
MemberType memberType() const
virtual bool cd(const QString &dirName, bool acceptAbsPath=TRUE)
QCString absFilePath() const
virtual QCString briefDescription(bool abbreviate=FALSE) const
virtual QCString trEnumerations()=0
const char * declaration() const
void writeDocbookCodeString(FTextStream &t, const char *s, int &col)
static void endCodeLine()
QCString getOutputFileBase() const
The QFile class is an I/O device that operates on files.
virtual QCString trExampleDocumentation()=0
NamespaceSDict * getNamespaceSDict() const
static void writeTemplateArgumentList(ArgumentList *al, FTextStream &t, Definition *scope, FileDef *fileScope, int indent)
QCString getOutputFileBase() const
MemberGroupSDict * getMemberGroupSDict() const
static void generateDocbookForMember(MemberDef *md, FTextStream &t, Definition *def, bool detailed=0)
virtual Definition * getOuterScope() const
static void writeInnerGroupFiles(const GroupList *gl, FTextStream &t)
QCString documentation() const
GroupDef * getGroupDef() const
virtual QCString trPrivateAttribs()=0
QCString getOutputFileBase() const
SrcLangExt getLanguageFromFileName(const QCString fileName)
static void generateDocbookForDir(DirDef *dd, FTextStream &ti)
const QCString & initializer() const
static void generateDocbookForFile(FileDef *fd, FTextStream &ti)
A model of a page symbol.
MemberGroupSDict * getMemberGroupSDict() const
void writeLineNumber(const char *extRef, const char *compId, const char *anchorId, int l)
bool fill(char c, int len=-1)
virtual QCString trTypedefDocumentation()=0
QCString getOutputFileBase() const
virtual QCString trModules()=0
FileList * getFiles() const
virtual QCString trNamespaces()=0
static void writeInnerGroups(const GroupList *gl, FTextStream &t)
virtual QCString trProtectedAttribs()=0
MemberGroupSDict * getMemberGroupSDict() const
void writeCodeAnchor(const char *)
NamespaceDef * getNamespaceDef() const
Translator * theTranslator
void createSubDirs(QDir &d)
FileList * getFiles() const
ClassSDict * getClassSDict() const
void writeDocbookCodeBlock(FTextStream &t, FileDef *fd)
const char * argsString() const
QCString getOutputFileBase() const
T * find(const char *key)
void linkifyText(const TextGeneratorIntf &out, Definition *scope, FileDef *fileScope, Definition *self, const char *text, bool autoBreak, bool external, bool keepSpaces, int indentLevel)
virtual QCString documentation() const
virtual QCString trPublicAttribs()=0
static ClassSDict * classSDict
QCString getOutputFileBase() const
virtual void parseCode(CodeOutputInterface &codeOutIntf, const char *scopeName, const QCString &input, SrcLangExt lang, bool isExampleBlock, const char *exampleName=0, FileDef *fileDef=0, int startLine=-1, int endLine=-1, bool inlineFragment=FALSE, MemberDef *memberDef=0, bool showLineNumbers=TRUE, Definition *searchCtx=0, bool collectXRefs=TRUE)=0
const QList< MemberList > & getMemberLists() const
static PageDef * mainPage
std::string nl(std::size_t i=1)
const QCString & docName() const
virtual void accept(DocVisitor *v)=0
virtual QCString trVariableDocumentation()=0
static void generateDocbookForGroup(GroupDef *gd, FTextStream &ti)
virtual bool exists() const
void writeCodeLink(const char *ref, const char *file, const char *anchor, const char *name, const char *tooltip)
const QList< MemberList > & getMemberLists() const
type * find(long k) const
static void writeInnerDirs(const DirList *dl, FTextStream &t)
QTextStream & endl(QTextStream &s)
virtual QCString trDefineDocumentation()=0
virtual QCString trFunctionDocumentation()=0
GroupDef * getGroupDef() const
static void writeInnerClasses(const ClassSDict *cl, FTextStream &t)
virtual QCString trDefines()=0
virtual void resetCodeParserState()=0
static void writeTemplateList(ClassDef *cd, FTextStream &t)