summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/commands.doc2
-rw-r--r--doc/config.doc9
-rw-r--r--src/config.l10
-rw-r--r--src/groupdef.cpp12
-rw-r--r--src/htmlgen.cpp4
-rw-r--r--src/index.cpp1
-rw-r--r--src/memberdef.h1
-rw-r--r--src/scanner.l2
-rw-r--r--src/xmlgen.cpp9
9 files changed, 41 insertions, 9 deletions
diff --git a/doc/commands.doc b/doc/commands.doc
index bd9b543..ffe8158 100644
--- a/doc/commands.doc
+++ b/doc/commands.doc
@@ -1737,7 +1737,7 @@ class C {};
\endverbatim
\warning The image format for HTML is limited to what your
- browser supports. For \f$\mbox{\LaTeX}\f$ the image format
+ browser supports. For \f$\mbox{\LaTeX}\f$, the image format
must be Encapsulated PostScript (eps).
<br><br>
Doxygen does not check if the image is in the correct format.
diff --git a/doc/config.doc b/doc/config.doc
index db71631..b2a7e9e 100644
--- a/doc/config.doc
+++ b/doc/config.doc
@@ -200,6 +200,7 @@ followed by the descriptions of the tags grouped by category.
\refitem cfg_warnings WARNINGS
\refitem cfg_xml_dtd XML_DTD
\refitem cfg_xml_output XML_OUTPUT
+\refitem cfg_xml_programlising XML_PROGRAMLISTING
\refitem cfg_xml_schema XML_SCHEMA
\endsecreflist
@@ -1232,6 +1233,14 @@ EXTRA_PACKAGES = times
which can be used by a validating XML parser to check the
syntax of the XML files.
+\anchor cfg_xml_programlisting
+<dt>\c XML_PROGRAMLISTING <dd>
+ \addindex XML_PROGRAMLISTING
+ If the \c XML_PROGRAMLISTING tag is set to \c YES Doxygen will
+ dump the program listings (including syntax highlighting
+ and cross-referencing information) to the XML output. Note that
+ enabling this will significantly increase the size of the XML output.
+
</dl>
\section autogen_output AUTOGEN_DEF related options
diff --git a/src/config.l b/src/config.l
index 9283238..8df7493 100644
--- a/src/config.l
+++ b/src/config.l
@@ -2276,6 +2276,16 @@ void Config::create()
"syntax of the XML files. \n"
);
cs->addDependency("GENERATE_XML");
+ cb = addBool(
+ "XML_PROGRAMLISTING",
+ "If the XML_PROGRAMLISTING tag is set to YES Doxygen will \n"
+ "dump the program listings (including syntax highlighting \n"
+ "and cross-referencing information) to the XML output. Note that \n"
+ "enabling this will significantly increase the size of the XML output. \n",
+ TRUE
+ );
+ cb->addDependency("GENERATE_XML");
+
//--------------------------------------------------------------------------
addInfo( "DEF","configuration options for the AutoGen Definitions output");
//--------------------------------------------------------------------------
diff --git a/src/groupdef.cpp b/src/groupdef.cpp
index 0f87ab8..e2e1940 100644
--- a/src/groupdef.cpp
+++ b/src/groupdef.cpp
@@ -198,6 +198,7 @@ bool GroupDef::insertMember(MemberDef *md,bool docOnly)
for ( ; (srcMi=srcMnii.current()) ; ++srcMnii )
{
MemberDef *srcMd = srcMi->memberDef;
+ if (srcMd==md) return FALSE; // already added before!
bool sameScope = srcMd->getOuterScope()==md->getOuterScope() || // same class or namespace
// both inside a file => definition and declaration do not have to be in the same file
@@ -208,8 +209,15 @@ bool GroupDef::insertMember(MemberDef *md,bool docOnly)
sameScope
)
{
- md->setGroupAlias(srcMd);
- return FALSE; // member already added
+ if (srcMd->getGroupAlias()==0)
+ {
+ md->setGroupAlias(srcMd);
+ }
+ else
+ {
+ md->setGroupAlias(srcMd->getGroupAlias());
+ }
+ return FALSE; // member is the same as one that is already added
}
}
mni->append(new MemberInfo(md,md->protection(),md->virtualness(),FALSE));
diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp
index 1489e94..99bb708 100644
--- a/src/htmlgen.cpp
+++ b/src/htmlgen.cpp
@@ -293,9 +293,9 @@ void HtmlGenerator::writeFooterFile(QFile &file)
QTextStream t(&file);
t << "<hr size=\"1\"><address style=\"align: right;\"><small>\n";
t << theTranslator->trGeneratedAt( "$datetime", "$projectname" );
- t << " <a href=\"http://www.doxygen.org/index.html\">\n"
+ t << " <a href=\"http://www.doxygen.org/index.html\">"
<< "<img src=\"doxygen.png\" alt=\"doxygen\" "
- << "align=\"middle\" border=0>\n"
+ << "align=\"middle\" border=0>"
<< "</a> $doxygenversion";
t << "</small></address>\n"
<< "</body>\n"
diff --git a/src/index.cpp b/src/index.cpp
index e908836..1435d32 100644
--- a/src/index.cpp
+++ b/src/index.cpp
@@ -156,6 +156,7 @@ QCString abbreviate(const char *s,const char *name)
found = found || stripWord(result,"specifies ");
found = found || stripWord(result,"contains ");
found = found || stripWord(result,"represents ");
+ found = found || stripWord(result,"implements ");
if (found)
{
stripWord(result,"a ");
diff --git a/src/memberdef.h b/src/memberdef.h
index 4898a89..531c93f 100644
--- a/src/memberdef.h
+++ b/src/memberdef.h
@@ -259,6 +259,7 @@ class MemberDef : public Definition
//void setBodyMember(MemberDef *md) { bodyMemb = md; }
void setDocsForDefinition(bool b) { docsForDefinition = b; }
void setGroupAlias(MemberDef *md) { groupAlias = md; }
+ MemberDef *getGroupAlias() const { return groupAlias; }
// cached typedef functions
bool isTypedefValCached() const { return m_isTypedefValCached; }
diff --git a/src/scanner.l b/src/scanner.l
index 1a4661b..ae63c72 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -3164,7 +3164,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
<FindMembers,FindFields,MemberSpec,FuncQual,SkipCurly,Operator,ClassVar,SkipInits,Bases>("//"{B}*)?"/**"/[^/*] {
removeSlashes=(yytext[1]=='/');
lastDocContext = YY_START;
- printf("Found comment block at %s:%d\n",yyFileName,yyLineNr);
+ //printf("Found comment block at %s:%d\n",yyFileName,yyLineNr);
if (current_root->section & Entry::SCOPE_MASK)
{
current->inside = current_root->name+"::";
diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp
index 9498cdb..8db7993 100644
--- a/src/xmlgen.cpp
+++ b/src/xmlgen.cpp
@@ -1257,9 +1257,12 @@ static void generateXMLForFile(FileDef *fd,QTextStream &ti)
t << " <detaileddescription>" << endl;
writeXMLDocBlock(t,fd->docFile(),fd->docLine(),fd,0,fd->documentation());
t << " </detaileddescription>" << endl;
- t << " <programlisting>" << endl;
- writeXMLCodeBlock(t,fd);
- t << " </programlisting>" << endl;
+ if (Config_getBool("XML_PROGRAMLISTING"))
+ {
+ t << " <programlisting>" << endl;
+ writeXMLCodeBlock(t,fd);
+ t << " </programlisting>" << endl;
+ }
t << " <location file=\"" << fd->getDefFileName() << "\"/>" << endl;
t << " </compounddef>" << endl;
t << "</doxygen>" << endl;