diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2010-11-06 19:00:58 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2010-11-06 19:00:58 (GMT) |
commit | be602ee76006d9b8b0f6e5e75114f2ce34f7773e (patch) | |
tree | 0a8fa55f942d3a0e2f845bc77e6a357b9fb1c1c7 /src/classdef.cpp | |
parent | 8a48f6c3f4827171edf41a40bfdbc03e53d9be6b (diff) | |
download | Doxygen-be602ee76006d9b8b0f6e5e75114f2ce34f7773e.zip Doxygen-be602ee76006d9b8b0f6e5e75114f2ce34f7773e.tar.gz Doxygen-be602ee76006d9b8b0f6e5e75114f2ce34f7773e.tar.bz2 |
Release-1.7.2-20101106
Diffstat (limited to 'src/classdef.cpp')
-rw-r--r-- | src/classdef.cpp | 58 |
1 files changed, 43 insertions, 15 deletions
diff --git a/src/classdef.cpp b/src/classdef.cpp index 557604f..e38a251 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -169,7 +169,11 @@ class ClassDefImpl */ bool subGrouping; + /** Reason of existance is a "use" relation */ bool usedOnly; + + /** List of titles to use for the summary */ + SDict<QCString> vhdlSummaryTitles; }; void ClassDefImpl::init(const char *defFileName, const char *name, @@ -224,8 +228,9 @@ void ClassDefImpl::init(const char *defFileName, const char *name, } } -ClassDefImpl::ClassDefImpl() +ClassDefImpl::ClassDefImpl() : vhdlSummaryTitles(17) { + vhdlSummaryTitles.setAutoDelete(TRUE); } ClassDefImpl::~ClassDefImpl() @@ -364,6 +369,16 @@ void ClassDef::internalInsertMember(MemberDef *md, //printf("insertInternalMember(%s) isHidden()=%d\n",md->name().data(),md->isHidden()); if (md->isHidden()) return; + static bool optVhdl = Config_getBool("OPTIMIZE_OUTPUT_VHDL"); + if (optVhdl) + { + QCString title=VhdlDocGen::trVhdlType(md->getMemberSpecifiers(),FALSE); + if (!m_impl->vhdlSummaryTitles.find(title)) + { + m_impl->vhdlSummaryTitles.append(title,new QCString(title)); + } + } + if (!isReference()) { static bool extractPrivate = Config_getBool("EXTRACT_PRIVATE"); @@ -1369,32 +1384,45 @@ void ClassDef::writeAuthorSection(OutputList &ol) void ClassDef::writeSummaryLinks(OutputList &ol) { + static bool vhdlOpt = Config_getBool("OPTIMIZE_OUTPUT_VHDL"); ol.pushGeneratorState(); ol.disableAllBut(OutputGenerator::Html); QListIterator<LayoutDocEntry> eli( LayoutDocManager::instance().docEntries(LayoutDocManager::Class)); LayoutDocEntry *lde; bool first=TRUE; - for (eli.toFirst();(lde=eli.current());++eli) + + if (!vhdlOpt) { - if (lde->kind()==LayoutDocEntry::ClassNestedClasses && - m_impl->innerClasses && - m_impl->innerClasses->declVisible() - ) + for (eli.toFirst();(lde=eli.current());++eli) { - LayoutDocEntrySection *ls = (LayoutDocEntrySection*)lde; - writeSummaryLink(ol,"nested-classes",ls->title,first); - } - else if (lde->kind()== LayoutDocEntry::MemberDecl) - { - LayoutDocEntryMemberDecl *lmd = (LayoutDocEntryMemberDecl*)lde; - MemberList * ml = getMemberList(lmd->type); - if (ml && ml->declVisible()) + if (lde->kind()==LayoutDocEntry::ClassNestedClasses && + m_impl->innerClasses && + m_impl->innerClasses->declVisible() + ) { - writeSummaryLink(ol,ml->listTypeAsString(),lmd->title,first); + LayoutDocEntrySection *ls = (LayoutDocEntrySection*)lde; + writeSummaryLink(ol,"nested-classes",ls->title,first); + } + else if (lde->kind()== LayoutDocEntry::MemberDecl) + { + LayoutDocEntryMemberDecl *lmd = (LayoutDocEntryMemberDecl*)lde; + MemberList * ml = getMemberList(lmd->type); + if (ml && ml->declVisible()) + { + writeSummaryLink(ol,ml->listTypeAsString(),lmd->title,first); + } } } } + else // VDHL only + { + SDict<QCString>::Iterator li(m_impl->vhdlSummaryTitles); + for (li.toFirst();li.current();++li) + { + writeSummaryLink(ol,li.current()->data(),li.current()->data(),first); + } + } if (!first) { ol.writeString(" </div>\n"); |