diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2001-02-04 18:02:44 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2001-02-04 18:02:44 (GMT) |
commit | f376c26e3dbe33a773a2f424df4b9c62c8c880ef (patch) | |
tree | 0079dfe633e79bae80c0743850c85fb68f276f60 /src/dot.cpp | |
parent | 1c75d01c701209261a5b6af831280957681e557f (diff) | |
download | Doxygen-f376c26e3dbe33a773a2f424df4b9c62c8c880ef.zip Doxygen-f376c26e3dbe33a773a2f424df4b9c62c8c880ef.tar.gz Doxygen-f376c26e3dbe33a773a2f424df4b9c62c8c880ef.tar.bz2 |
Release-1.2.5
Diffstat (limited to 'src/dot.cpp')
-rw-r--r-- | src/dot.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/dot.cpp b/src/dot.cpp index 7e067e5..5824794 100644 --- a/src/dot.cpp +++ b/src/dot.cpp @@ -782,16 +782,24 @@ DotGfxHierarchyTable::~DotGfxHierarchyTable() int DotClassGraph::m_curNodeNumber; void DotClassGraph::addClass(ClassDef *cd,DotNode *n,int prot, - const char *label,int distance,const char *templSpec,bool base) + const char *label,int distance,const char *usedName,const char *templSpec,bool base) { //printf(":: DoxGfxUsageGraph::addClass(class=%s,parent=%s,prot=%d,label=%s,dist=%d)\n", // cd->name().data(),n->m_label.data(),prot,label,distance); int edgeStyle = label ? EdgeInfo::Dashed : EdgeInfo::Solid; QCString className; - if (templSpec) + if (usedName) // name is a typedef + { + className=usedName; + } + else if (templSpec) // name has a template part + { className=insertTemplateSpecifierInScope(cd->name(),templSpec); - else - className=cd->name().copy(); + } + else // just a normal name + { + className=cd->name(); + } DotNode *bn = m_usedNodes->find(className); if (bn) // class already inserted { @@ -810,7 +818,7 @@ void DotClassGraph::addClass(ClassDef *cd,DotNode *n,int prot, } else // new class { - QCString displayName=className.copy(); + QCString displayName=className; if (Config::hideScopeNames) displayName=stripScope(displayName); QCString tmp_url; if (cd->isLinkable()) tmp_url=cd->getReference()+"$"+cd->getOutputFileBase(); @@ -846,7 +854,7 @@ void DotClassGraph::buildGraph(ClassDef *cd,DotNode *n,int distance,bool base) // cd->name().data(),bcd->templSpecifiers.data()); QCString templSpec; if (base) templSpec = bcd->templSpecifiers; - addClass(bcd->classDef,n,bcd->prot,0,distance,templSpec,base); + addClass(bcd->classDef,n,bcd->prot,0,distance,bcd->usedName,templSpec,base); } if (m_graphType != Inheritance) { @@ -876,7 +884,7 @@ void DotClassGraph::buildGraph(ClassDef *cd,DotNode *n,int distance,bool base) } } //printf("Found label=`%s'\n",label.data()); - addClass(ucd->classDef,n,EdgeInfo::Black,label,distance,ucd->templSpecifiers,base); + addClass(ucd->classDef,n,EdgeInfo::Black,label,distance,0,ucd->templSpecifiers,base); } } } |