diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2000-02-20 17:34:13 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2000-02-20 17:34:13 (GMT) |
commit | a81ce4743212122ae050e5efbc4bfda92e6a664e (patch) | |
tree | f122ed1db8000e070cab7f8ad4c4af87b89adbe5 /src/classdef.cpp | |
parent | ddbc18f5fb336d3a83521404620b6734b13e5610 (diff) | |
download | Doxygen-a81ce4743212122ae050e5efbc4bfda92e6a664e.zip Doxygen-a81ce4743212122ae050e5efbc4bfda92e6a664e.tar.gz Doxygen-a81ce4743212122ae050e5efbc4bfda92e6a664e.tar.bz2 |
+ The graphical class hierarchy was not properly generated when
template classes were used.
+ Template specialization could not be documented using the
\class command. This is now fixed. Example:
/*!
* \class T<A,int>
* My template specialization of template T.
*/
+ Fixed a bug when parsing M$-IDL code, containing
helpstring("bla") attributes. The attributes of a method are no longer
shown in the documentation (the attributes of method arguments
still visible however).
+ Improved the search algorithm that tries to connect classes with their
base classes. It should now (hopefully) work correct in all cases
where nested classes and/or namespaces are used.
+ Fixed a scanner problem that could cause doxygen to get
confused after parsing struct initializers.
+ the DOTFONTPATH environment variable is now automatically set
for Windows. This should make any "missing doxfont.ttf"
messages disappear.
+ the extra LaTeX packages specified with EXTRA_PACKAGES can now
also be used when generating formulas for HTML.
+ The documentation of a parameters that is part of a member definition,
is now used in the documentation as well.
+ Fixed a HTML output bug in the class/file group-pages.
+ Links to example files generated with \link ... \endlink where not
correct.
+ made the bullet list generation more robust. A space is now required
after the - sign. A list can now start a paragraph.
+ the configure script now detects whether or not dot is installed.
+ The VERBATIM_HEADERS option didn't have any effect any more.
It should now works again as advertised.
+ The IGNORE_PREFIX option can now also deal with a list of prefixes.
+ @verbatim ... @endverbatim blocks did not work.
+ new option SHOW_INCLUDE_FILES, which can be set to NO to turn of the
list of include files that is generated for each documented file.
+ new option STRIP_CODE_COMMENTS, which can be set to NO to keep any
special comment blocks in the generated code fragments.
Diffstat (limited to 'src/classdef.cpp')
-rw-r--r-- | src/classdef.cpp | 58 |
1 files changed, 36 insertions, 22 deletions
diff --git a/src/classdef.cpp b/src/classdef.cpp index 2f6fdd9..6726207 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -331,27 +331,39 @@ void ClassDef::writeDocumentation(OutputList &ol) if (incInfo) { QCString nm=incInfo->includeName.isEmpty() ? - incInfo->fileDef->docName().data() : - incInfo->includeName.data(); - ol.startTypewriter(); - ol.docify("#include "); - if (incInfo->local) - ol.docify("\""); - else - ol.docify("<"); - ol.pushGeneratorState(); - ol.disable(OutputGenerator::Html); - ol.docify(nm); - ol.disableAllBut(OutputGenerator::Html); - ol.enable(OutputGenerator::Html); - ol.writeObjectLink(0,incInfo->fileDef->includeName(),0,nm); - ol.popGeneratorState(); - if (incInfo->local) - ol.docify("\""); - else - ol.docify(">"); - ol.endTypewriter(); - ol.newParagraph(); + (incInfo->fileDef ? + incInfo->fileDef->docName().data() : "" + ) : + incInfo->includeName.data(); + if (!nm.isEmpty()) + { + ol.startTypewriter(); + ol.docify("#include "); + if (incInfo->local) + ol.docify("\""); + else + ol.docify("<"); + ol.pushGeneratorState(); + ol.disable(OutputGenerator::Html); + ol.docify(nm); + ol.disableAllBut(OutputGenerator::Html); + ol.enable(OutputGenerator::Html); + if (incInfo->fileDef) + { + ol.writeObjectLink(0,incInfo->fileDef->includeName(),0,nm); + } + else + { + ol.docify(nm); + } + ol.popGeneratorState(); + if (incInfo->local) + ol.docify("\""); + else + ol.docify(">"); + ol.endTypewriter(); + ol.newParagraph(); + } } @@ -1340,12 +1352,14 @@ void ClassDef::determineImplUsageRelation() //printf("in class %s found var type=`%s' name=`%s'\n", // name().data(),type.data(),md->name().data()); int p=0,i,l; - while ((i=re.match(type,p,&l))!=-1) // for each class name in the type + bool found=FALSE; + while ((i=re.match(type,p,&l))!=-1 && !found) // for each class name in the type { ClassDef *cd=getClass(name()+"::"+type.mid(i,l)); if (cd==0) cd=getClass(type.mid(i,l)); // TODO: also try inbetween scopes! if (cd && cd->isLinkable()) // class exists and is linkable { + found=TRUE; if (usesImplClassDict==0) usesImplClassDict = new UsesClassDict(257); UsesClassDef *ucd=usesImplClassDict->find(cd->name()); if (ucd==0) |