summaryrefslogtreecommitdiffstats
path: root/src/filedef.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/filedef.cpp')
-rw-r--r--src/filedef.cpp69
1 files changed, 40 insertions, 29 deletions
diff --git a/src/filedef.cpp b/src/filedef.cpp
index 5f62357..f038e2e 100644
--- a/src/filedef.cpp
+++ b/src/filedef.cpp
@@ -37,12 +37,13 @@ FileDef::FileDef(const char *p,const char *nm,const char *ref)
path=p;
filepath=path+nm;
filename=nameToFile(nm);
- reference=ref;
+ setReference(ref);
memList = new MemberList;
classList = new ClassList;
includeList = new FileList;
defineList = new DefineList;
namespaceList = new NamespaceList;
+ namespaceDict = new NamespaceDict(7);
}
/*! destroy the file definition */
@@ -52,6 +53,8 @@ FileDef::~FileDef()
delete classList;
delete includeList;
delete defineList;
+ delete namespaceList;
+ delete namespaceDict;
}
/*! Compute the HTML anchor names for all members in the class */
@@ -105,7 +108,7 @@ void FileDef::writeDocumentation(OutputList &ol)
bool found=FALSE;
while (nd)
{
- if (nd->isVisibleExt())
+ if (nd->name().find('@')==-1)
{
if (!found)
{
@@ -115,16 +118,16 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.startMemberList();
found=TRUE;
}
- ol.startMemberItem();
+ ol.startMemberItem(FALSE,0);
ol.writeString("namespace ");
ol.insertMemberAlign();
- if (nd->hasDocumentation())
+ if (nd->isLinkable())
{
ol.writeObjectLink(nd->getReference(),
- nd->getOutputFileBase(),
- 0,
- nd->name()
- );
+ nd->getOutputFileBase(),
+ 0,
+ nd->name()
+ );
}
else
{
@@ -132,7 +135,7 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.docify(nd->name());
ol.endBold();
}
- ol.endMemberItem();
+ ol.endMemberItem(FALSE,0,0,FALSE);
}
nd=namespaceList->next();
}
@@ -144,7 +147,7 @@ void FileDef::writeDocumentation(OutputList &ol)
bool found=FALSE;
while (cd)
{
- if ( cd->isVisibleExt() )
+ if (cd->name().find('@')==-1)
{
if (!found)
{
@@ -154,22 +157,23 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.startMemberList();
found=TRUE;
}
- ol.startMemberItem();
+ ol.startMemberItem(FALSE,FALSE);
switch (cd->compoundType())
{
case ClassDef::Class: ol.writeString("class"); break;
case ClassDef::Struct: ol.writeString("struct"); break;
case ClassDef::Union: ol.writeString("union"); break;
+ case ClassDef::Interface: ol.writeString("interface"); break;
}
ol.writeString(" ");
ol.insertMemberAlign();
- if (cd->hasDocumentation())
+ if (cd->isLinkable())
{
ol.writeObjectLink(cd->getReference(),
- cd->getOutputFileBase(),
- 0,
- cd->name()
- );
+ cd->getOutputFileBase(),
+ 0,
+ cd->name()
+ );
}
else
{
@@ -177,14 +181,14 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.docify(cd->name());
ol.endBold();
}
- ol.endMemberItem();
+ ol.endMemberItem(FALSE,0,0,FALSE);
}
cd=classList->next();
+ if (found) ol.endMemberList();
}
- if (found) ol.endMemberList();
}
- writeMemberDecs(ol,0,0,this,0,0,memList);
+ memList->writeDeclarations(ol,0,0,this,0,0);
ol.endMemberSections();
//doc=doc.stripWhiteSpace();
@@ -222,7 +226,7 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.startGroupHeader();
parseText(ol,theTranslator->trDefineDocumentation());
ol.endGroupHeader();
- writeMemberDocs(ol,memList,name(),MemberDef::Define);
+ memList->writeDocumentation(ol,name(),MemberDef::Define);
}
if ( memList->protoCount()>0 )
@@ -231,7 +235,7 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.startGroupHeader();
parseText(ol,theTranslator->trFunctionPrototypeDocumentation());
ol.endGroupHeader();
- writeMemberDocs(ol,memList,name(),MemberDef::Prototype);
+ memList->writeDocumentation(ol,name(),MemberDef::Prototype);
}
if ( memList->typedefCount()>0 )
@@ -240,7 +244,7 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.startGroupHeader();
parseText(ol,theTranslator->trTypedefDocumentation());
ol.endGroupHeader();
- writeMemberDocs(ol,memList,name(),MemberDef::Typedef);
+ memList->writeDocumentation(ol,name(),MemberDef::Typedef);
}
if ( memList->enumCount()>0 )
@@ -249,7 +253,7 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.startGroupHeader();
parseText(ol,theTranslator->trEnumerationTypeDocumentation());
ol.endGroupHeader();
- writeMemberDocs(ol,memList,name(),MemberDef::Enumeration);
+ memList->writeDocumentation(ol,name(),MemberDef::Enumeration);
}
if ( memList->enumValueCount()>0 )
@@ -258,16 +262,19 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.startGroupHeader();
parseText(ol,theTranslator->trEnumerationValueDocumentation());
ol.endGroupHeader();
- writeMemberDocs(ol,memList,name(),MemberDef::EnumValue);
+ memList->writeDocumentation(ol,name(),MemberDef::EnumValue);
}
- if ( memList->funcCount()>0 )
+ int cnt;
+ if ( (cnt=memList->funcCount()>0) )
{
ol.writeRuler();
ol.startGroupHeader();
- parseText(ol,theTranslator->trFunctionDocumentation());
+ QCString cntString;
+ cntString.sprintf(" (%d)",cnt);
+ parseText(ol,theTranslator->trFunctionDocumentation()+cntString);
ol.endGroupHeader();
- writeMemberDocs(ol,memList,name(),MemberDef::Function);
+ memList->writeDocumentation(ol,name(),MemberDef::Function);
}
if ( memList->varCount()>0 )
@@ -276,7 +283,7 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.startGroupHeader();
parseText(ol,theTranslator->trVariableDocumentation());
ol.endGroupHeader();
- writeMemberDocs(ol,memList,name(),MemberDef::Variable);
+ memList->writeDocumentation(ol,name(),MemberDef::Variable);
}
// write Author section (Man only)
@@ -304,7 +311,11 @@ void FileDef::insertClass(ClassDef *cd)
/*! Adds namespace definition \a nd to the list of all compounds of this file */
void FileDef::insertNamespace(NamespaceDef *nd)
{
- namespaceList->append(nd);
+ if (!nd->name().isEmpty() && namespaceDict->find(nd->name())==0)
+ {
+ namespaceList->append(nd);
+ namespaceDict->insert(nd->name(),nd);
+ }
}
//-----------------------------------------------------------------------------