diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2011-12-26 14:28:40 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2011-12-26 14:28:40 (GMT) |
commit | 8a65c23b74c33c38b4d1234e76cec74bd08cea69 (patch) | |
tree | 7f59fc72959fc8ac950d4affd83be0c3b2b4cf2b /src/dot.cpp | |
parent | b625258a2f46f61e85bf473dfa64b719755c3b71 (diff) | |
download | Doxygen-8a65c23b74c33c38b4d1234e76cec74bd08cea69.zip Doxygen-8a65c23b74c33c38b4d1234e76cec74bd08cea69.tar.gz Doxygen-8a65c23b74c33c38b4d1234e76cec74bd08cea69.tar.bz2 |
Release-1.7.6.1-20111226
Diffstat (limited to 'src/dot.cpp')
-rw-r--r-- | src/dot.cpp | 43 |
1 files changed, 29 insertions, 14 deletions
diff --git a/src/dot.cpp b/src/dot.cpp index 5d21b43..f3e524d 100644 --- a/src/dot.cpp +++ b/src/dot.cpp @@ -1517,7 +1517,7 @@ static QCString escapeTooltip(const QCString &tooltip) static void writeBoxMemberList(FTextStream &t, char prot,MemberList *ml,ClassDef *scope, - bool isStatic=FALSE) + bool isStatic=FALSE,const QDict<void> *skipNames=0) { (void)isStatic; if (ml) @@ -1527,7 +1527,8 @@ static void writeBoxMemberList(FTextStream &t, int totalCount=0; for (mlia.toFirst();(mma = mlia.current());++mlia) { - if (mma->getClassDef() == scope) + if (mma->getClassDef()==scope && + (skipNames==0 || skipNames->find(mma->name())==0)) { totalCount++; } @@ -1536,7 +1537,8 @@ static void writeBoxMemberList(FTextStream &t, int count=0; for (mlia.toFirst();(mma = mlia.current());++mlia) { - if (mma->getClassDef() == scope) + if (mma->getClassDef() == scope && + (skipNames==0 || skipNames->find(mma->name())==0)) { if (totalCount>=15 && count>=10) { @@ -1565,7 +1567,7 @@ static void writeBoxMemberList(FTextStream &t, { if (mg->members()) { - writeBoxMemberList(t,prot,mg->members(),scope); + writeBoxMemberList(t,prot,mg->members(),scope,isStatic,skipNames); } } } @@ -1588,21 +1590,34 @@ void DotNode::writeBox(FTextStream &t, if (m_classDef && umlLook && (gt==Inheritance || gt==Collaboration)) { + // add names shown as relation to a dictionary, so we don't show + // them as attributes as well + QDict<void> arrowNames(17); + QListIterator<EdgeInfo> li(*m_edgeInfo); + EdgeInfo *ei; + for (li.toFirst();(ei=li.current());++li) + { + if (!ei->m_label.isEmpty()) + { + arrowNames.insert(ei->m_label,(void*)0x8); + } + } + //printf("DotNode::writeBox for %s\n",m_classDef->name().data()); static bool extractPrivate = Config_getBool("EXTRACT_PRIVATE"); t << "{" << convertLabel(m_label); t << "\\n|"; - writeBoxMemberList(t,'+',m_classDef->getMemberList(MemberList::pubAttribs),m_classDef); - writeBoxMemberList(t,'+',m_classDef->getMemberList(MemberList::pubStaticAttribs),m_classDef,TRUE); - writeBoxMemberList(t,'+',m_classDef->getMemberList(MemberList::properties),m_classDef); - writeBoxMemberList(t,'~',m_classDef->getMemberList(MemberList::pacAttribs),m_classDef); - writeBoxMemberList(t,'~',m_classDef->getMemberList(MemberList::pacStaticAttribs),m_classDef,TRUE); - writeBoxMemberList(t,'#',m_classDef->getMemberList(MemberList::proAttribs),m_classDef); - writeBoxMemberList(t,'#',m_classDef->getMemberList(MemberList::proStaticAttribs),m_classDef,TRUE); + writeBoxMemberList(t,'+',m_classDef->getMemberList(MemberList::pubAttribs),m_classDef,FALSE,&arrowNames); + writeBoxMemberList(t,'+',m_classDef->getMemberList(MemberList::pubStaticAttribs),m_classDef,TRUE,&arrowNames); + writeBoxMemberList(t,'+',m_classDef->getMemberList(MemberList::properties),m_classDef,FALSE,&arrowNames); + writeBoxMemberList(t,'~',m_classDef->getMemberList(MemberList::pacAttribs),m_classDef,FALSE,&arrowNames); + writeBoxMemberList(t,'~',m_classDef->getMemberList(MemberList::pacStaticAttribs),m_classDef,TRUE,&arrowNames); + writeBoxMemberList(t,'#',m_classDef->getMemberList(MemberList::proAttribs),m_classDef,FALSE,&arrowNames); + writeBoxMemberList(t,'#',m_classDef->getMemberList(MemberList::proStaticAttribs),m_classDef,TRUE,&arrowNames); if (extractPrivate) { - writeBoxMemberList(t,'-',m_classDef->getMemberList(MemberList::priAttribs),m_classDef); - writeBoxMemberList(t,'-',m_classDef->getMemberList(MemberList::priStaticAttribs),m_classDef,TRUE); + writeBoxMemberList(t,'-',m_classDef->getMemberList(MemberList::priAttribs),m_classDef,FALSE,&arrowNames); + writeBoxMemberList(t,'-',m_classDef->getMemberList(MemberList::priStaticAttribs),m_classDef,TRUE,&arrowNames); } t << "|"; writeBoxMemberList(t,'+',m_classDef->getMemberList(MemberList::pubMethods),m_classDef); @@ -1628,7 +1643,7 @@ void DotNode::writeBox(FTextStream &t, { if (mg->members()) { - writeBoxMemberList(t,'*',mg->members(),m_classDef); + writeBoxMemberList(t,'*',mg->members(),m_classDef,FALSE,&arrowNames); } } } |