diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2013-01-20 13:31:30 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2013-01-20 13:31:30 (GMT) |
commit | dcd4714c4413348d02eb7224dafee5d06be43dfb (patch) | |
tree | 3872f0367bbee22883a702d1d2f799c9a9c2e8ac /src/memberdef.cpp | |
parent | 775ab3be95c02dd805aadc73ffbe3c18877c12a4 (diff) | |
download | Doxygen-dcd4714c4413348d02eb7224dafee5d06be43dfb.zip Doxygen-dcd4714c4413348d02eb7224dafee5d06be43dfb.tar.gz Doxygen-dcd4714c4413348d02eb7224dafee5d06be43dfb.tar.bz2 |
Release-1.8.3.1
Diffstat (limited to 'src/memberdef.cpp')
-rw-r--r-- | src/memberdef.cpp | 46 |
1 files changed, 42 insertions, 4 deletions
diff --git a/src/memberdef.cpp b/src/memberdef.cpp index 1482180..924b1e6 100644 --- a/src/memberdef.cpp +++ b/src/memberdef.cpp @@ -1,6 +1,6 @@ /****************************************************************************** * - * Copyright (C) 1997-2012 by Dimitri van Heesch. + * Copyright (C) 1997-2013 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -97,6 +97,39 @@ static QCString addTemplateNames(const QCString &s,const QCString &n,const QCStr return result; } +// ol.startMemberDocName has already been done before this is called. +// when this function returns TRUE, ol.endParameterList will be called. +// +// typical sequence: +// ol.startMemberDoc +// ol.startMemberDocName +// --- enter writeDefArgumentList +// ol.endMemberDocName +// ol.startParameterList +// ... +// ol.startParameterType(first=TRUE) +// ol.endParameterType +// ol.startParameterName +// ol.endParameterName(last==FALSE) +// ... +// ol.startParameterType(first=FALSE) +// ol.endParamtereType +// ol.startParameterName +// ol.endParameterName(last==TRUE) +// ... +// --- leave writeDefArgumentList with return value TRUE +// ol.endParameterList +// ol.endMemberDoc(hasArgs=TRUE) +// +// For an empty list the function should return FALSE, the sequence is +// ol.startMemberDoc +// ol.startMemberDocName +// --- enter writeDefArgumentList +// --- leave writeDefArgumentList with return value FALSE +// ol.endMemberDocName +// ol.endMemberDoc(hasArgs=FALSE); +// + static bool writeDefArgumentList(OutputList &ol,ClassDef *cd, const QCString & /*scopeName*/,MemberDef *md) { @@ -112,7 +145,12 @@ static bool writeDefArgumentList(OutputList &ol,ClassDef *cd, // simple argument list for tcl if (md->getLanguage()==SrcLangExt_Tcl) { + if (defArgList->count()==0) return FALSE; Argument *a=defArgList->first(); + ol.endMemberDocName(); + ol.startParameterList(FALSE); + ol.startParameterType(TRUE,0); + ol.endParameterType(); ol.startParameterName(FALSE); while (a) { @@ -126,8 +164,7 @@ static bool writeDefArgumentList(OutputList &ol,ClassDef *cd, } a=defArgList->next(); } - ol.endParameterName(FALSE,FALSE,FALSE); - ol.endMemberDocName(); + ol.endParameterName(TRUE,FALSE,FALSE); return TRUE; } @@ -1733,6 +1770,7 @@ void MemberDef::writeDeclaration(OutputList &ol, { ol.startTextLink(0,anchor()); } + ol.parseText(theTranslator->trMore()); ol.endTextLink(); //ol.startEmphasis(); ol.popGeneratorState(); @@ -2874,7 +2912,7 @@ void MemberDef::writeMemberDocSimple(OutputList &ol, Definition *container) const char **p = prefixes; while (*p) { - int l=strlen(*p); + int l=qstrlen(*p); if (ts.left(l)==*p) { ol.writeString(*p); |