summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/classdef.cpp2
-rw-r--r--src/fortrancode.l2
-rw-r--r--src/htmlgen.cpp14
-rw-r--r--src/htmlgen.h4
-rw-r--r--src/latexgen.cpp23
-rw-r--r--src/latexgen.h2
-rw-r--r--src/mangen.cpp2
-rw-r--r--src/mangen.h2
-rw-r--r--src/memberdef.cpp16
-rw-r--r--src/memberdef.h2
-rw-r--r--src/memberlist.cpp125
-rw-r--r--src/memberlist.h19
-rw-r--r--src/outputgen.h2
-rw-r--r--src/outputlist.cpp1
-rw-r--r--src/outputlist.h6
-rw-r--r--src/rtfgen.cpp2
-rw-r--r--src/rtfgen.h2
-rwxr-xr-xsrc/util.cpp12
-rw-r--r--templates/html/doxygen.css52
19 files changed, 204 insertions, 86 deletions
diff --git a/src/classdef.cpp b/src/classdef.cpp
index e67de25..c987d98 100644
--- a/src/classdef.cpp
+++ b/src/classdef.cpp
@@ -1706,7 +1706,7 @@ void ClassDef::writeInlineDocumentation(OutputList &ol)
ol.disableAllBut(OutputGenerator::Html);
{ // only HTML only
ol.writeAnchor(0,anchor());
- ol.startMemberDoc(0,0,0,0,FALSE);
+ ol.startMemberDoc(0,0,anchor(),name(),1,1,FALSE);
ol.startMemberDocName(FALSE);
ol.parseText(s);
ol.endMemberDocName();
diff --git a/src/fortrancode.l b/src/fortrancode.l
index b6e9d67..f14867c 100644
--- a/src/fortrancode.l
+++ b/src/fortrancode.l
@@ -484,7 +484,7 @@ static bool getFortranDefs(const QCString &memberName, const QCString &moduleNam
if (mn) // name is known
{
- MemberListIterator mli(*mn);
+ MemberNameIterator mli(*mn);
for (mli.toFirst();(md=mli.current());++mli) // all found functions with given name
{
FileDef *fd=md->getFileDef();
diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp
index fff9693..7dd16a5 100644
--- a/src/htmlgen.cpp
+++ b/src/htmlgen.cpp
@@ -1552,12 +1552,18 @@ void HtmlGenerator::endMemberDocList()
}
void HtmlGenerator::startMemberDoc( const char *clName, const char *memName,
- const char *anchor, const char *title, bool showInline)
+ const char *anchor, const char *title,
+ int memCount, int memTotal, bool showInline)
{
DBG_HTML(t << "<!-- startMemberDoc -->" << endl;)
- t << "\n<h2 class=\"memtitle\">" << title << " "
- << "<a href=\"#" << anchor << "\" class=\"permantlink\"" "title=\"Permalink to this headline\">&#9854;</a>"
- << "</h2>"
+ t << "\n<h2 class=\"memtitle\">"
+ << "<span class=\"permalink\"><a href=\"#" << anchor << "\">&sect;&nbsp;</a></span>"
+ << title;
+ if (memTotal>1)
+ {
+ t << " <span class=\"overload\">[" << memCount << "/" << memTotal <<"]</span>";
+ }
+ t << "</h2>"
<< endl;
t << "\n<div class=\"memitem\">" << endl;
t << "<div class=\"memproto\">" << endl;
diff --git a/src/htmlgen.h b/src/htmlgen.h
index e068c6e..cafb666 100644
--- a/src/htmlgen.h
+++ b/src/htmlgen.h
@@ -225,7 +225,9 @@ class HtmlGenerator : public OutputGenerator
void endDescForItem() { t << "</dd>\n"; }
void lineBreak(const char *style);
void writeChar(char c);
- void startMemberDoc(const char *clName, const char *memName, const char *anchor, const char *title, bool showInline);
+ void startMemberDoc(const char *clName, const char *memName,
+ const char *anchor, const char *title,
+ int memCount, int memTotal, bool showInline);
void endMemberDoc(bool);
void startDoxyAnchor(const char *fName,const char *manName,
const char *anchor,const char *name,
diff --git a/src/latexgen.cpp b/src/latexgen.cpp
index 20b4fb1..4877599 100644
--- a/src/latexgen.cpp
+++ b/src/latexgen.cpp
@@ -1522,8 +1522,10 @@ void LatexGenerator::startMemberDoc(const char *clname,
const char *memname,
const char *,
const char *title,
+ int memCount,
+ int memTotal,
bool showInline)
-{
+{
if (memname && memname[0]!='@')
{
t << "\\index{";
@@ -1550,7 +1552,7 @@ void LatexGenerator::startMemberDoc(const char *clname,
t << latexEscapeLabelName(clname,insideTabbing);
t << "@{";
t << latexEscapeIndexChars(clname,insideTabbing);
- t << "}";
+ t << "}";
}
t << "}" << endl;
}
@@ -1560,7 +1562,7 @@ void LatexGenerator::startMemberDoc(const char *clname,
int level=0;
if (showInline) level+=2;
if (compactLatex) level++;
- t << "\\" << levelLab[level];
+ t << "\\" << levelLab[level];
t << "{";
if (pdfHyperlinks)
@@ -1572,6 +1574,10 @@ void LatexGenerator::startMemberDoc(const char *clname,
{
t << "}{" << latexEscapePDFString(title) << "}";
}
+ if (memTotal>1)
+ {
+ t << "\\hspace{0.1cm}{\\footnotesize\\ttfamily [" << memCount << "/" << memTotal << "]}";
+ }
t << "}";
t << "\n{\\ttfamily ";
//disableLinks=TRUE;
@@ -1580,7 +1586,7 @@ void LatexGenerator::startMemberDoc(const char *clname,
void LatexGenerator::endMemberDoc(bool)
{
disableLinks=FALSE;
- t << "}";
+ t << "}\n\n";
//if (Config_getBool(COMPACT_LATEX)) t << "\\hfill";
}
@@ -1992,7 +1998,7 @@ void LatexGenerator::startParameterList(bool openBracket)
{
/* start of ParameterType ParameterName list */
if (openBracket) t << "(";
- t << endl << "\\begin{DoxyParamCaption}" << endl;
+ t << "\\begin{DoxyParamCaption}";
}
void LatexGenerator::endParameterList()
@@ -2015,13 +2021,12 @@ void LatexGenerator::startParameterName(bool /*oneArgOnly*/)
t << "{";
}
-void LatexGenerator::endParameterName(bool last,bool /* emptyList */,bool closeBracket)
+void LatexGenerator::endParameterName(bool last,bool /*emptyList*/,bool closeBracket)
{
- t << "}" << endl;
-
+ t << " }";
if (last)
{
- t << "\\end{DoxyParamCaption}" << endl;
+ t << "\\end{DoxyParamCaption}";
if (closeBracket) t << ")";
}
}
diff --git a/src/latexgen.h b/src/latexgen.h
index 699afbf..f2e4978 100644
--- a/src/latexgen.h
+++ b/src/latexgen.h
@@ -208,7 +208,7 @@ class LatexGenerator : public OutputGenerator
void startDescItem();
void endDescItem();
void lineBreak(const char *style=0);
- void startMemberDoc(const char *,const char *,const char *,const char *,bool);
+ void startMemberDoc(const char *,const char *,const char *,const char *,int,int,bool);
void endMemberDoc(bool);
void startDoxyAnchor(const char *,const char *,const char *,const char *,const char *);
void endDoxyAnchor(const char *,const char *);
diff --git a/src/mangen.cpp b/src/mangen.cpp
index 88d2ce5..34ce0c1 100644
--- a/src/mangen.cpp
+++ b/src/mangen.cpp
@@ -418,7 +418,7 @@ void ManGenerator::endCodeFragment()
col=0;
}
-void ManGenerator::startMemberDoc(const char *,const char *,const char *,const char *,bool)
+void ManGenerator::startMemberDoc(const char *,const char *,const char *,const char *,int,int,bool)
{
if (!firstCol) t << endl;
t << ".SS \"";
diff --git a/src/mangen.h b/src/mangen.h
index 069222a..021f475 100644
--- a/src/mangen.h
+++ b/src/mangen.h
@@ -144,7 +144,7 @@ class ManGenerator : public OutputGenerator
void endDescItem();
void lineBreak(const char *) { t << "\n.br" << endl; }
void writeChar(char c);
- void startMemberDoc(const char *,const char *,const char *,const char *,bool);
+ void startMemberDoc(const char *,const char *,const char *,const char *,int,int,bool);
void endMemberDoc(bool);
void startDoxyAnchor(const char *,const char *,const char *,const char *,const char *);
void endDoxyAnchor(const char *,const char *) {}
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index ddd2584..1c78ab9 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -2528,7 +2528,9 @@ void MemberDef::_writeGroupInclude(OutputList &ol,bool inGroup)
/*! Writes the "detailed documentation" section of this member to
* all active output formats.
*/
-void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
+void MemberDef::writeDocumentation(MemberList *ml,
+ int memCount,int memTotal,
+ OutputList &ol,
const char *scName,
Definition *container,
bool inGroup,
@@ -2544,8 +2546,8 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
//printf("MemberDef::writeDocumentation(): name=`%s' hasDocs=`%d' containerType=%d inGroup=%d sectionLinkable=%d\n",
// name().data(),hasDocs,container->definitionType(),inGroup,isDetailedSectionLinkable());
- if ( !hasDocs ) return;
- if (isEnumValue() && !showEnumValues) return;
+ //if ( !hasDocs ) return;
+ //if (isEnumValue() && !showEnumValues) return;
SrcLangExt lang = getLanguage();
//printf("member=%s lang=%d\n",name().data(),lang);
@@ -2624,7 +2626,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
if ((isVariable() || isTypedef()) && (i=r.match(ldef,0,&l))!=-1)
{
// find enum type and insert it in the definition
- QListIterator<MemberDef> vmli(*ml);
+ MemberListIterator vmli(*ml);
MemberDef *vmd;
bool found=FALSE;
for ( ; (vmd=vmli.current()) && !found ; ++vmli)
@@ -2632,7 +2634,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
if (vmd->isEnumerate() && ldef.mid(i,l)==vmd->name())
{
ol.startDoxyAnchor(cfname,cname,memAnchor,doxyName,doxyArgs);
- ol.startMemberDoc(ciname,name(),memAnchor,name(),showInline);
+ ol.startMemberDoc(ciname,name(),memAnchor,name(),memCount,memTotal,showInline);
linkifyText(TextGeneratorOLImpl(ol),scopedContainer,getBodyDef(),this,ldef.left(i));
vmd->writeEnumDeclaration(ol,getClassDef(),getNamespaceDef(),getFileDef(),getGroupDef());
linkifyText(TextGeneratorOLImpl(ol),scopedContainer,getBodyDef(),this,ldef.right(ldef.length()-i-l));
@@ -2644,7 +2646,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
{
//printf("Anonymous compound `%s'\n",cname.data());
ol.startDoxyAnchor(cfname,cname,memAnchor,doxyName,doxyArgs);
- ol.startMemberDoc(ciname,name(),memAnchor,name(),showInline);
+ ol.startMemberDoc(ciname,name(),memAnchor,name(),memCount,memTotal,showInline);
// search for the last anonymous compound name in the definition
int si=ldef.find(' '),pi,ei=i+l;
if (si==-1) si=0;
@@ -2666,7 +2668,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
else // not an enum value or anonymous compound
{
ol.startDoxyAnchor(cfname,cname,memAnchor,doxyName,doxyArgs);
- ol.startMemberDoc(ciname,name(),memAnchor,title,showInline);
+ ol.startMemberDoc(ciname,name(),memAnchor,title,memCount,memTotal,showInline);
ClassDef *cd=getClassDef();
NamespaceDef *nd=getNamespaceDef();
diff --git a/src/memberdef.h b/src/memberdef.h
index 19a37ea..cda1baf 100644
--- a/src/memberdef.h
+++ b/src/memberdef.h
@@ -380,7 +380,7 @@ class MemberDef : public Definition
void writeDeclaration(OutputList &ol,
ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd,
bool inGroup, ClassDef *inheritFrom=0,const char *inheritId=0);
- void writeDocumentation(MemberList *ml,OutputList &ol,
+ void writeDocumentation(MemberList *ml,int memCount,int memTotal,OutputList &ol,
const char *scopeName,Definition *container,
bool inGroup,bool showEnumValues=FALSE,bool
showInline=FALSE);
diff --git a/src/memberlist.cpp b/src/memberlist.cpp
index ee8762f..7cd65bf 100644
--- a/src/memberlist.cpp
+++ b/src/memberlist.cpp
@@ -233,11 +233,6 @@ void MemberList::countDocMembers(bool countEnumValues)
//printf("MemberList::countDocMembers()=%d memberGroupList=%p\n",m_numDocMembers,memberGroupList);
}
-bool MemberList::insert(uint index,const MemberDef *md)
-{
- return QList<MemberDef>::insert(index,md);
-}
-
void MemberList::inSort(const MemberDef *md)
{
QList<MemberDef>::inSort(md);
@@ -248,7 +243,37 @@ void MemberList::append(const MemberDef *md)
QList<MemberDef>::append(md);
}
-MemberListIterator::MemberListIterator(const QList<MemberDef> &l) :
+void MemberList::remove(const MemberDef *md)
+{
+ QList<MemberDef>::remove(md);
+}
+
+void MemberList::sort()
+{
+ QList<MemberDef>::sort();
+}
+
+uint MemberList::count() const
+{
+ return QList<MemberDef>::count();
+}
+
+int MemberList::findRef(const MemberDef *md) const
+{
+ return QList<MemberDef>::findRef(md);
+}
+
+MemberDef *MemberList::getFirst() const
+{
+ return QList<MemberDef>::getFirst();
+}
+
+MemberDef *MemberList::take(uint index)
+{
+ return QList<MemberDef>::take(index);
+}
+
+MemberListIterator::MemberListIterator(const MemberList &l) :
QListIterator<MemberDef>(l)
{
}
@@ -663,13 +688,44 @@ void MemberList::writeDocumentation(OutputList &ol,
ol.endGroupHeader(showInline ? 2 : 0);
}
ol.startMemberDocList();
-
+
MemberListIterator mli(*this);
MemberDef *md;
- for ( ; (md=mli.current()) ; ++mli)
+
+ // count the number of overloaded members
+ QDict<uint> overloadTotalDict(67);
+ QDict<uint> overloadCountDict(67);
+ overloadTotalDict.setAutoDelete(TRUE);
+ overloadCountDict.setAutoDelete(TRUE);
+ for (mli.toFirst() ; (md=mli.current()) ; ++mli)
{
- md->writeDocumentation(this,ol,scopeName,container,
- m_inGroup,showEnumValues,showInline);
+ if (md->isDetailedSectionVisible(m_inGroup,container->definitionType()==Definition::TypeFile) &&
+ !(md->isEnumValue() && !showInline))
+ {
+ uint *pCount = overloadTotalDict.find(md->name());
+ if (pCount)
+ {
+ (*pCount)++;
+ }
+ else
+ {
+ overloadTotalDict.insert(md->name(),new uint(1));
+ overloadCountDict.insert(md->name(),new uint(1));
+ }
+ }
+ }
+
+ for (mli.toFirst() ; (md=mli.current()) ; ++mli)
+ {
+ if (md->isDetailedSectionVisible(m_inGroup,container->definitionType()==Definition::TypeFile) &&
+ !(md->isEnumValue() && !showInline))
+ {
+ uint overloadCount = *overloadTotalDict.find(md->name());
+ uint *pCount = overloadCountDict.find(md->name());
+ md->writeDocumentation(this,*pCount,overloadCount,ol,scopeName,container,
+ m_inGroup,showEnumValues,showInline);
+ (*pCount)++;
+ }
}
if (memberGroupList)
{
@@ -707,12 +763,37 @@ void MemberList::writeDocumentationPage(OutputList &ol,
const char *scopeName, Definition *container)
{
static bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
+
+ // count the number of overloaded members
+ QDict<uint> overloadTotalDict(67);
+ QDict<uint> overloadCountDict(67);
+ overloadTotalDict.setAutoDelete(TRUE);
+ overloadCountDict.setAutoDelete(TRUE);
MemberListIterator mli(*this);
MemberDef *md;
- for ( ; (md=mli.current()) ; ++mli)
+ for (mli.toFirst() ; (md=mli.current()) ; ++mli)
+ {
+ if (md->isDetailedSectionLinkable())
+ {
+ uint *pCount = overloadTotalDict.find(md->name());
+ if (pCount)
+ {
+ (*pCount)++;
+ }
+ else
+ {
+ overloadTotalDict.insert(md->name(),new uint(1));
+ overloadCountDict.insert(md->name(),new uint(1));
+ }
+ }
+ }
+
+ for ( mli.toFirst() ; (md=mli.current()) ; ++mli)
{
if (md->isDetailedSectionLinkable())
{
+ uint overloadCount = *overloadTotalDict.find(md->name());
+ uint *pCount = overloadCountDict.find(md->name());
QCString diskName=md->getOutputFileBase();
QCString title=md->qualifiedName();
startFile(ol,diskName,md->name(),title,HLI_None,!generateTreeView,diskName);
@@ -725,7 +806,8 @@ void MemberList::writeDocumentationPage(OutputList &ol,
if (generateTreeView)
{
- md->writeDocumentation(this,ol,scopeName,container,m_inGroup);
+ md->writeDocumentation(this,*pCount,overloadCount,ol,scopeName,container,m_inGroup);
+ (*pCount)++;
ol.endContents();
endFileWithNavPath(container,ol);
}
@@ -740,7 +822,8 @@ void MemberList::writeDocumentationPage(OutputList &ol,
ol.writeString(" </td>\n");
ol.writeString(" <td valign=\"top\" class=\"mempage\">\n");
- md->writeDocumentation(this,ol,scopeName,container,m_inGroup);
+ md->writeDocumentation(this,*pCount,overloadCount,ol,scopeName,container,m_inGroup);
+ (*pCount)++;
ol.writeString(" </td>\n");
ol.writeString(" </tr>\n");
@@ -749,15 +832,15 @@ void MemberList::writeDocumentationPage(OutputList &ol,
endFile(ol);
}
}
- if (memberGroupList)
+ }
+ if (memberGroupList)
+ {
+ //printf("MemberList::writeDocumentation() -- member groups\n");
+ MemberGroupListIterator mgli(*memberGroupList);
+ MemberGroup *mg;
+ for (;(mg=mgli.current());++mgli)
{
- //printf("MemberList::writeDocumentation() -- member groups\n");
- MemberGroupListIterator mgli(*memberGroupList);
- MemberGroup *mg;
- for (;(mg=mgli.current());++mgli)
- {
- mg->writeDocumentationPage(ol,scopeName,container);
- }
+ mg->writeDocumentationPage(ol,scopeName,container);
}
}
}
diff --git a/src/memberlist.h b/src/memberlist.h
index ddd5686..38f0e89 100644
--- a/src/memberlist.h
+++ b/src/memberlist.h
@@ -29,17 +29,27 @@ class MemberGroupList;
class StorageIntf;
/** A list of MemberDef objects. */
-class MemberList : public QList<MemberDef>
-{
+class MemberList : private QList<MemberDef>
+{
+ friend class MemberListIterator;
public:
MemberList();
MemberList(MemberListType lt);
~MemberList();
MemberListType listType() const { return m_listType; }
static QCString listTypeAsString(MemberListType type);
- bool insert(uint index,const MemberDef *md);
+
+ /* ---- standard QList methods ---- */
void inSort(const MemberDef *md);
void append(const MemberDef *md);
+ void remove(const MemberDef *md);
+ void sort();
+ uint count() const;
+ int findRef(const MemberDef *md) const;
+ MemberDef *getFirst() const;
+ MemberDef *take(uint index);
+
+
int varCount() const { ASSERT(m_numDecMembers!=-1); return m_varCnt; }
int funcCount() const { ASSERT(m_numDecMembers!=-1); return m_funcCnt; }
int enumCount() const { ASSERT(m_numDecMembers!=-1); return m_enumCnt; }
@@ -98,13 +108,14 @@ class MemberList : public QList<MemberDef>
bool m_inFile; // is this list part of a file definition
MemberListType m_listType;
bool m_needsSorting;
+ QDict<int> m_overloadCount;
};
/** An iterator for MemberDef objects in a MemberList. */
class MemberListIterator : public QListIterator<MemberDef>
{
public:
- MemberListIterator(const QList<MemberDef> &list);
+ MemberListIterator(const MemberList &list);
virtual ~MemberListIterator() {}
};
diff --git a/src/outputgen.h b/src/outputgen.h
index c3099df..24d1acc 100644
--- a/src/outputgen.h
+++ b/src/outputgen.h
@@ -402,7 +402,7 @@ class OutputGenerator : public BaseOutputDocInterface
virtual void endMemberGroup(bool) = 0;
virtual void insertMemberAlign(bool) = 0;
virtual void startMemberDoc(const char *,const char *,
- const char *,const char *,bool) = 0;
+ const char *,const char *,int,int,bool) = 0;
virtual void endMemberDoc(bool) = 0;
virtual void startDoxyAnchor(const char *fName,const char *manName,
const char *anchor,const char *name,
diff --git a/src/outputlist.cpp b/src/outputlist.cpp
index 79330d8..93a1b6e 100644
--- a/src/outputlist.cpp
+++ b/src/outputlist.cpp
@@ -353,6 +353,7 @@ FORALL5(const char *a1,const char *a2,const char *a3,const char *a4,const char *
FORALL5(const char *a1,const char *a2,const char *a3,const char *a4,bool a5,a1,a2,a3,a4,a5)
FORALL6(const char *a1,const char *a2,const char *a3,const char *a4,const char *a5,const char *a6,a1,a2,a3,a4,a5,a6)
FORALL6(const char *a1,const DocLinkInfo &a2,const char *a3,const char *a4,const SourceLinkInfo &a5,const SourceLinkInfo &a6,a1,a2,a3,a4,a5,a6)
+FORALL7(const char *a1,const char *a2,const char *a3,const char *a4,int a5,int a6,bool a7,a1,a2,a3,a4,a5,a6,a7)
//--------------------------------------------------------------------------
diff --git a/src/outputlist.h b/src/outputlist.h
index 4abb100..cb67250 100644
--- a/src/outputlist.h
+++ b/src/outputlist.h
@@ -259,8 +259,9 @@ class OutputList : public OutputDocInterface
void writeChar(char c)
{ forall(&OutputGenerator::writeChar,c); }
void startMemberDoc(const char *clName,const char *memName,
- const char *anchor,const char *title,bool showInline)
- { forall(&OutputGenerator::startMemberDoc,clName,memName,anchor,title,showInline); }
+ const char *anchor,const char *title,
+ int memCount,int memTotal,bool showInline)
+ { forall(&OutputGenerator::startMemberDoc,clName,memName,anchor,title,memCount,memTotal,showInline); }
void endMemberDoc(bool hasArgs)
{ forall(&OutputGenerator::endMemberDoc,hasArgs); }
void startDoxyAnchor(const char *fName,const char *manName,
@@ -546,6 +547,7 @@ class OutputList : public OutputDocInterface
FORALLPROTO5(const char *,const char *,const char *,const char *,bool);
FORALLPROTO6(const char *,const char *,const char *,const char *,const char *,const char *);
FORALLPROTO6(const char *,const DocLinkInfo &,const char *,const char *,const SourceLinkInfo &,const SourceLinkInfo &);
+ FORALLPROTO7(const char *,const char *,const char *,const char *,int,int,bool);
OutputList(const OutputList &ol);
QList<OutputGenerator> m_outputs;
diff --git a/src/rtfgen.cpp b/src/rtfgen.cpp
index f5b997e..a3f157f 100644
--- a/src/rtfgen.cpp
+++ b/src/rtfgen.cpp
@@ -1482,6 +1482,8 @@ void RTFGenerator::startMemberDoc(const char *clname,
const char *memname,
const char *,
const char *,
+ int,
+ int,
bool showInline)
{
DBG_RTF(t << "{\\comment startMemberDoc}" << endl)
diff --git a/src/rtfgen.h b/src/rtfgen.h
index f0f1f6e..abf9549 100644
--- a/src/rtfgen.h
+++ b/src/rtfgen.h
@@ -138,7 +138,7 @@ class RTFGenerator : public OutputGenerator
void startDescItem();
void endDescItem();
void lineBreak(const char *style=0);
- void startMemberDoc(const char *,const char *,const char *,const char *,bool);
+ void startMemberDoc(const char *,const char *,const char *,const char *,int,int,bool);
void endMemberDoc(bool);
void startDoxyAnchor(const char *,const char *,const char *,const char *,const char *);
void endDoxyAnchor(const char *,const char *);
diff --git a/src/util.cpp b/src/util.cpp
index c630449..1f49fb3 100755
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -3956,7 +3956,7 @@ static void findMembersWithSpecificName(MemberName *mn,
{
//printf(" Function with global scope name `%s' args=`%s'\n",
// mn->memberName(),args);
- MemberListIterator mli(*mn);
+ MemberNameIterator mli(*mn);
MemberDef *md;
for (mli.toFirst();(md=mli.current());++mli)
{
@@ -4103,7 +4103,7 @@ bool getDefs(const QCString &scName,
)
{
//printf(" Found fcd=%p\n",fcd);
- MemberListIterator mmli(*mn);
+ MemberNameIterator mmli(*mn);
MemberDef *mmd;
int mdist=maxInheritanceDepth;
ArgumentList *argList=0;
@@ -4227,7 +4227,7 @@ bool getDefs(const QCString &scName,
if (mn && scopeName.isEmpty() && mScope.isEmpty()) // Maybe a related function?
{
//printf("Global symbol\n");
- MemberListIterator mmli(*mn);
+ MemberNameIterator mmli(*mn);
MemberDef *mmd, *fuzzy_mmd = 0;
ArgumentList *argList = 0;
bool hasEmptyArgs = args && qstrcmp(args, "()") == 0;
@@ -4295,7 +4295,7 @@ bool getDefs(const QCString &scName,
//printf("Symbol inside existing namespace `%s' count=%d\n",
// namespaceName.data(),mn->count());
bool found=FALSE;
- MemberListIterator mmli(*mn);
+ MemberNameIterator mmli(*mn);
MemberDef *mmd;
for (mmli.toFirst();((mmd=mmli.current()) && !found);++mmli)
{
@@ -4379,7 +4379,7 @@ bool getDefs(const QCString &scName,
else
{
//printf("not a namespace\n");
- MemberListIterator mmli(*mn);
+ MemberNameIterator mmli(*mn);
MemberDef *mmd;
for (mmli.toFirst();(mmd=mmli.current());++mmli)
{
@@ -4430,7 +4430,7 @@ bool getDefs(const QCString &scName,
{
// no exact match found, but if args="()" an arbitrary
// member will do
- MemberListIterator mni(*mn);
+ MemberNameIterator mni(*mn);
for (mni.toLast();(md=mni.current());--mni)
{
//printf("Found member `%s'\n",md->name().data());
diff --git a/templates/html/doxygen.css b/templates/html/doxygen.css
index fee208f..256c56b 100644
--- a/templates/html/doxygen.css
+++ b/templates/html/doxygen.css
@@ -511,23 +511,28 @@ table.memberdecls {
/* Styles for detailed member documentation */
.memtitle {
- padding: 8px;
- border-top: 1px solid #A8B8D9;
- border-left: 1px solid #A8B8D9;
- border-right: 1px solid #A8B8D9;
- border-top-right-radius: 4px;
- border-top-left-radius: 4px;
- margin-bottom: -5px;
- background-image: url('nav_f.png');
- background-repeat: repeat-x;
- background-color: #E2E8F2;
- float:left;
- /* display: inline-block; */
-}
-.permantlink
-{
+ padding: 8px;
+ border-top: 1px solid ##B4;
+ border-left: 1px solid ##B4;
+ border-right: 1px solid ##B4;
+ border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ margin-bottom: -1px;
+ background-image: url('nav_f.png');
+ background-repeat: repeat-x;
+ background-color: ##e6;
+ line-height: 1.25;
+ font-weight: 300;
+ float:left;
+}
+.permalink
+{
+ font-size: 65%;
+ display: inline-block;
+ vertical-align: middle;
}
+
.memtemplate {
font-size: 80%;
color: ##60;
@@ -566,7 +571,7 @@ table.memberdecls {
}
.memname {
- font-weight: bold;
+ font-weight: 400;
margin-left: 6px;
}
@@ -582,26 +587,24 @@ table.memberdecls {
color: ##2b;
font-weight: bold;
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
- /*
- background-image:url('nav_f.png');
- background-repeat:repeat-x;
- */
- background-color: #DDE3F0;
+ background-color: ##E3;
/* opera specific markup */
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
border-top-right-radius: 4px;
- border-top-left-radius: 4px;
/* firefox specific markup */
-moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
-moz-border-radius-topright: 4px;
- -moz-border-radius-topleft: 4px;
/* webkit specific markup */
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-webkit-border-top-right-radius: 4px;
- -webkit-border-top-left-radius: 4px;
}
+.overload {
+ font-family: "courier new",courier,monospace;
+ font-size: 65%;
+}
+
.memdoc, dl.reflist dd {
border-bottom: 1px solid ##B4;
border-left: 1px solid ##B4;
@@ -943,6 +946,7 @@ table.fieldtable {
padding-bottom: 4px;
padding-top: 5px;
text-align:left;
+ font-weight: 400;
-moz-border-radius-topleft: 4px;
-moz-border-radius-topright: 4px;
-webkit-border-top-left-radius: 4px;