summaryrefslogtreecommitdiffstats
path: root/src/util.cpp
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2000-02-20 17:34:13 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2000-02-20 17:34:13 (GMT)
commitb76d4ee1ec41101fffbef5d33c5a2ea70a6c6e54 (patch)
treef122ed1db8000e070cab7f8ad4c4af87b89adbe5 /src/util.cpp
parent8cc2d754b7ad3e3e88f4c1bb92878d8f517076e6 (diff)
downloadDoxygen-b76d4ee1ec41101fffbef5d33c5a2ea70a6c6e54.zip
Doxygen-b76d4ee1ec41101fffbef5d33c5a2ea70a6c6e54.tar.gz
Doxygen-b76d4ee1ec41101fffbef5d33c5a2ea70a6c6e54.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/util.cpp')
-rw-r--r--src/util.cpp38
1 files changed, 34 insertions, 4 deletions
diff --git a/src/util.cpp b/src/util.cpp
index 5621824..5097e43 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -1130,6 +1130,14 @@ void mergeArguments(ArgumentList *srcAl,ArgumentList *dstAl)
srcA->type = dstA->type.left(i2+2)+srcA->type;
srcA->name = dstA->name.copy();
}
+ if (srcA->docs.isEmpty() && !dstA->docs.isEmpty())
+ {
+ srcA->docs = dstA->docs.copy();
+ }
+ else if (dstA->docs.isEmpty() && !srcA->docs.isEmpty())
+ {
+ dstA->docs = srcA->docs.copy();
+ }
}
//printf("result mergeArguments `%s', `%s'\n",
// argListToString(srcAl).data(),argListToString(dstAl).data());
@@ -1694,20 +1702,21 @@ bool generateLink(OutputList &ol,const char *clName,
//FileInfo *fi=0;
FileDef *fd;
GroupDef *gd;
+ PageInfo *pi;
bool ambig;
if (linkRef.isEmpty()) // no reference name!
{
ol.docify(lt);
return FALSE;
}
- else if ((pageDict[linkRef])) // link to a page
+ else if ((pi=pageDict[linkRef])) // link to a page
{
- ol.writeObjectLink(0,linkRef,0,lt);
+ ol.writeObjectLink(0,pi->name,0,lt);
return TRUE;
}
- else if ((exampleDict[linkRef])) // link to an example
+ else if ((pi=exampleDict[linkRef])) // link to an example
{
- ol.writeObjectLink(0,linkRef+"-example",0,lt);
+ ol.writeObjectLink(0,convertSlashes(pi->name,TRUE)+"-example",0,lt);
return TRUE;
}
else if ((gd=groupDict[linkRef])) // link to a group
@@ -1915,3 +1924,24 @@ QCString substituteKeywords(const QCString &s,const char *title)
//----------------------------------------------------------------------
+/*! Returns the character index within \a name of the first prefix
+ * in Config::ignorePrefixList that matches \a name at the left hand side,
+ * or zero if no match was found
+ */
+int getPrefixIndex(const QCString &name)
+{
+ char *s = Config::ignorePrefixList.first();
+ while (s)
+ {
+ const char *ps=s;
+ const char *pd=name.data();
+ int i=0;
+ while (*ps!=0 && *pd!=0 && *ps==*pd) ps++,pd++,i++;
+ if (*ps==0 && *pd!=0)
+ {
+ return i;
+ }
+ s = Config::ignorePrefixList.next();
+ }
+ return 0;
+}