summaryrefslogtreecommitdiffstats
path: root/src/xmlgen.cpp
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2004-06-17 19:53:53 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2004-06-17 19:53:53 (GMT)
commitd3c3bbd02543280d12a763d82aa5b54ce516c57f (patch)
treee215fcacfb74cc58f4d27e30b9722efd930d7a7a /src/xmlgen.cpp
parentf309c3c0e7c1cf29df6b850e19d647e93a30ce28 (diff)
downloadDoxygen-d3c3bbd02543280d12a763d82aa5b54ce516c57f.zip
Doxygen-d3c3bbd02543280d12a763d82aa5b54ce516c57f.tar.gz
Doxygen-d3c3bbd02543280d12a763d82aa5b54ce516c57f.tar.bz2
Release-1.3.7-20040617
Diffstat (limited to 'src/xmlgen.cpp')
-rw-r--r--src/xmlgen.cpp51
1 files changed, 38 insertions, 13 deletions
diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp
index aca2094..a1caf10 100644
--- a/src/xmlgen.cpp
+++ b/src/xmlgen.cpp
@@ -810,7 +810,8 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
}
static void generateXMLSection(Definition *d,QTextStream &ti,QTextStream &t,
- MemberList *ml,const char *kind,const char *header=0)
+ MemberList *ml,const char *kind,const char *header=0,
+ const char *documentation=0)
{
if (ml->count()==0) return; // empty list
@@ -819,6 +820,12 @@ static void generateXMLSection(Definition *d,QTextStream &ti,QTextStream &t,
{
t << " <header>" << convertToXML(header) << "</header>" << endl;
}
+ if (documentation)
+ {
+ t << " <description>";
+ writeXMLDocBlock(t,d->docFile(),d->docLine(),d,0,documentation);
+ t << "</description>" << endl;
+ }
MemberListIterator mli(*ml);
MemberDef *md;
for (mli.toFirst();(md=mli.current());++mli)
@@ -928,9 +935,12 @@ static void generateXMLForClass(ClassDef *cd,QTextStream &ti)
BaseClassDef *bcd;
for (bcli.toFirst();(bcd=bcli.current());++bcli)
{
- t << " <basecompoundref refid=\""
- << bcd->classDef->getOutputFileBase()
- << "\" prot=\"";
+ t << " <basecompoundref ";
+ if (bcd->classDef->isLinkable())
+ {
+ t << "refid=\"" << bcd->classDef->getOutputFileBase() << "\" ";
+ }
+ t << "prot=\"";
switch (bcd->prot)
{
case Public: t << "public"; break;
@@ -1013,7 +1023,8 @@ static void generateXMLForClass(ClassDef *cd,QTextStream &ti)
MemberGroup *mg;
for (;(mg=mgli.current());++mgli)
{
- generateXMLSection(cd,ti,t,mg->members(),"user-defined",mg->header());
+ generateXMLSection(cd,ti,t,mg->members(),"user-defined",mg->header(),
+ mg->documentation());
}
generateXMLSection(cd,ti,t,&cd->pubTypes,"public-type");
@@ -1145,7 +1156,8 @@ static void generateXMLForNamespace(NamespaceDef *nd,QTextStream &ti)
MemberGroup *mg;
for (;(mg=mgli.current());++mgli)
{
- generateXMLSection(nd,ti,t,mg->members(),"user-defined",mg->header());
+ generateXMLSection(nd,ti,t,mg->members(),"user-defined",mg->header(),
+ mg->documentation());
}
generateXMLSection(nd,ti,t,&nd->decDefineMembers,"define");
@@ -1280,7 +1292,8 @@ static void generateXMLForFile(FileDef *fd,QTextStream &ti)
MemberGroup *mg;
for (;(mg=mgli.current());++mgli)
{
- generateXMLSection(fd,ti,t,mg->members(),"user-defined",mg->header());
+ generateXMLSection(fd,ti,t,mg->members(),"user-defined",mg->header(),
+ mg->documentation());
}
generateXMLSection(fd,ti,t,&fd->decDefineMembers,"define");
@@ -1411,7 +1424,8 @@ static void generateXMLForGroup(GroupDef *gd,QTextStream &ti)
MemberGroup *mg;
for (;(mg=mgli.current());++mgli)
{
- generateXMLSection(gd,ti,t,mg->members(),"user-defined",mg->header());
+ generateXMLSection(gd,ti,t,mg->members(),"user-defined",mg->header(),
+ mg->documentation());
}
generateXMLSection(gd,ti,t,&gd->decDefineMembers,"define");
@@ -1580,12 +1594,23 @@ void generateXML()
t << "xsi:noNamespaceSchemaLocation=\"index.xsd\" ";
t << "version=\"" << versionString << "\">" << endl;
- ClassSDict::Iterator cli(Doxygen::classSDict);
- ClassDef *cd;
- for (cli.toFirst();(cd=cli.current());++cli)
{
- msg("Generating XML output for class %s\n",cd->name().data());
- generateXMLForClass(cd,t);
+ ClassSDict::Iterator cli(Doxygen::classSDict);
+ ClassDef *cd;
+ for (cli.toFirst();(cd=cli.current());++cli)
+ {
+ msg("Generating XML output for class %s\n",cd->name().data());
+ generateXMLForClass(cd,t);
+ }
+ }
+ {
+ ClassSDict::Iterator cli(Doxygen::hiddenClasses);
+ ClassDef *cd;
+ for (cli.toFirst();(cd=cli.current());++cli)
+ {
+ msg("Generating XML output for class %s\n",cd->name().data());
+ generateXMLForClass(cd,t);
+ }
}
NamespaceSDict::Iterator nli(Doxygen::namespaceSDict);
NamespaceDef *nd;