summaryrefslogtreecommitdiffstats
path: root/src/doxygen.cpp
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2000-04-30 17:13:40 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2000-04-30 17:13:40 (GMT)
commit26b5069ce70ddad043040a06b984beef02b89994 (patch)
treee8fc87186141ebce1c8547a44d7adcd0ec122e14 /src/doxygen.cpp
parente2b4a623decf7c8b4435f742f05d07323ad8d6f2 (diff)
downloadDoxygen-26b5069ce70ddad043040a06b984beef02b89994.zip
Doxygen-26b5069ce70ddad043040a06b984beef02b89994.tar.gz
Doxygen-26b5069ce70ddad043040a06b984beef02b89994.tar.bz2
Release-1.1.2-20000430
Diffstat (limited to 'src/doxygen.cpp')
-rw-r--r--src/doxygen.cpp81
1 files changed, 23 insertions, 58 deletions
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 3028d67..7ce7f67 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -258,7 +258,10 @@ void buildFileList(Entry *root)
}
else
{
- fd->setDocumentation(root->doc);
+ // using FALSE in setDocumentation is small hack to make sure a file
+ // is documented even if a \file command is used without further
+ // documentation
+ fd->setDocumentation(root->doc,FALSE);
fd->setBriefDescription(root->brief);
fd->addSectionsToDefinition(root->anchors);
QListIterator<QCString> sli(*root->groups);
@@ -1729,12 +1732,13 @@ static bool findBaseClassRelation(Entry *root,ClassDef *cd,
if (baseClassName!=root->name) // check for base class with the same name,
// look in the outer scope for a match
{
- //printf("baseClass %s of %s found (%s and %s)\n",
- // baseClassName.data(),
- // root->name.data(),
- // (bi->prot==Private)?"private":((bi->prot==Protected)?"protected":"public"),
- // (bi->virt==Normal)?"normal":"virtual"
- // );
+ Debug::print(
+ Debug::Classes,0,"baseClass %s of %s found (%s and %s)\n",
+ baseClassName.data(),
+ root->name.data(),
+ (bi->prot==Private)?"private":((bi->prot==Protected)?"protected":"public"),
+ (bi->virt==Normal)?"normal":"virtual"
+ );
int i;
QCString templSpec;
@@ -1743,11 +1747,15 @@ static bool findBaseClassRelation(Entry *root,ClassDef *cd,
{
// TODO: here we should try to find the correct template specialization
// but for now, we only look for the unspecializated base class.
- templSpec=baseClassName.right(baseClassName.length()-i);
- baseClassName=baseClassName.left(i);
- baseClass=getResolvedClass(baseClassName);
- //printf("baseClass=%p baseClass=%s templSpec=%s\n",
- // baseClass,baseClassName.data(),templSpec.data());
+ int e = baseClassName.find('>');
+ if (e!=-1)
+ {
+ templSpec=baseClassName.mid(i,e-i+1);
+ baseClassName=baseClassName.left(i)+baseClassName.right(baseClassName.length()-e-1);
+ baseClass=getResolvedClass(baseClassName);
+ //printf("baseClass=%p baseClass=%s templSpec=%s\n",
+ // baseClass,baseClassName.data(),templSpec.data());
+ }
}
bool found=baseClass!=0 && baseClass!=cd;
@@ -1819,7 +1827,6 @@ static bool findBaseClassRelation(Entry *root,ClassDef *cd,
}
else
{
- //printf(">>> base class %s not found!\n",bi->name.data());
Debug::print(Debug::Classes,0," Base class `%s' not found\n",bi->name.data());
}
}
@@ -2064,33 +2071,6 @@ void addMemberDocs(Entry *root,MemberDef *md, const char *funcDecl,
}
//----------------------------------------------------------------------
-
-static QCString insertTemplateSpecifierInScope(const QCString &scope,const QCString &templ)
-{
- QCString result=scope.copy();
- if (!templ.isEmpty() && scope.find('<')==-1)
- {
- int si,pi=0;
- while ((si=scope.find("::",pi))!=-1 && !getClass(scope.left(si)+templ)
- && !getClass(scope.left(si)))
- { //printf("Tried `%s'\n",(scope.left(si)+templ).data());
- pi=si+2;
- }
- if (si==-1) // not nested => append template specifier
- {
- result+=templ;
- }
- else // nested => insert template specifier before after first class name
- {
- result=scope.left(si) + templ + scope.right(scope.length()-si);
- }
- }
- //printf("insertTemplateSpecifierInScope(`%s',`%s')=%s\n",
- // scope.data(),templ.data(),result.data());
- return result;
-}
-
-//----------------------------------------------------------------------
// find a class definition given the scope name and (optionally) a
// template list specifier
@@ -2573,9 +2553,6 @@ void findMember(Entry *root,QCString funcDecl,QCString related,bool overloaded,
QCString fullFuncDecl=funcDecl.copy();
if (isFunc) fullFuncDecl+=argListToString(root->argList);
- //printf("scopeName=`%s' className=`%s'\n",scopeName.data(),className.data());
- //printf("scopeName=`%s' className=`%s'\n",scopeName.data(),className.data());
-
// destructor => do backward class name substitution if needed
//if (!funcName.isEmpty() && funcName[0]=='~')
// funcName="~"+resolveDefines(className);
@@ -3681,12 +3658,6 @@ void generateClassDocs()
msg("Generating hierarchical class index...\n");
writeHierarchicalIndex(*outputList);
- //if (documentedIncludeFiles>0)
- //{
- // msg("Generating header index...\n");
- // writeHeaderIndex(*outputList);
- //}
-
msg("Generating member index...\n");
writeMemberIndex(*outputList);
@@ -3706,11 +3677,6 @@ void generateClassDocs()
cd->writeDocumentation(*outputList);
cd->writeMemberList(*outputList);
-
- //DotGfxUsageGraph usageIntfGraph(cd,FALSE,1);
- //usageIntfGraph.writeGraph(Config::htmlOutputDir,FALSE);
-
- //if (Config::verbatimHeaderFlag) cd->writeIncludeFile(*outputList);
}
}
}
@@ -4262,12 +4228,13 @@ void generateSearchIndex()
err("Error: Cannot open file %s for writing\n",fileName.data());
}
//outputList->generateExternalIndex();
+ outputList->pushGeneratorState();
outputList->disableAllBut(OutputGenerator::Html);
startFile(*outputList,"header.html","Search Engine",TRUE);
outputList->endPlainFile();
outputList->startPlainFile("footer.html");
endFile(*outputList,TRUE);
- outputList->enableAll();
+ outputList->popGeneratorState();
}
}
@@ -5161,9 +5128,6 @@ int main(int argc,char **argv)
msg("Generating group documentation...\n");
generateGroupDocs();
- //msg("Generating member group documentation...\n");
- //generateMemberGroupDocs();
-
msg("Generating namespace index...\n");
generateNamespaceDocs();
@@ -5186,6 +5150,7 @@ int main(int argc,char **argv)
generateSearchIndex();
msg("Generating style sheet...\n");
+ //outputList->enable(OutputGenerator::Latex);
outputList->writeStyleInfo(0); // write first part
outputList->disableAllBut(OutputGenerator::Latex);
parseText(*outputList,