diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2004-06-17 19:53:53 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2004-06-17 19:53:53 (GMT) |
commit | 6b195c8d27c7cba3885acf1540f33ea7f51b9d1b (patch) | |
tree | e215fcacfb74cc58f4d27e30b9722efd930d7a7a /src/classdef.cpp | |
parent | 62039dd46dfca33a45f5461a3732b3a707e4ce8b (diff) | |
download | Doxygen-6b195c8d27c7cba3885acf1540f33ea7f51b9d1b.zip Doxygen-6b195c8d27c7cba3885acf1540f33ea7f51b9d1b.tar.gz Doxygen-6b195c8d27c7cba3885acf1540f33ea7f51b9d1b.tar.bz2 |
Release-1.3.7-20040617
Diffstat (limited to 'src/classdef.cpp')
-rw-r--r-- | src/classdef.cpp | 45 |
1 files changed, 31 insertions, 14 deletions
diff --git a/src/classdef.cpp b/src/classdef.cpp index a30a774..31555b4 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -86,6 +86,7 @@ ClassDef::ClassDef( m_innerClasses = new ClassSDict(17); m_subGrouping=Config_getBool("SUBGROUPING"); m_templateInstances = 0; + m_variableInstances = 0; m_templateMaster =0; m_templBaseClassNames = 0; m_artificial = FALSE; @@ -123,6 +124,7 @@ ClassDef::~ClassDef() delete memberGroupSDict; delete m_innerClasses; delete m_templateInstances; + delete m_variableInstances; delete m_templBaseClassNames; delete m_tempArgs; } @@ -937,21 +939,16 @@ void ClassDef::writeDetailedDescription(OutputList &ol, const QCString &pageType // write all documentation for this class void ClassDef::writeDocumentation(OutputList &ol) { - // write title - QCString pageTitle=displayName().copy(); - QCString pageType; - QCString cType=compoundTypeString(); - //printf("ClassDef::writeDocumentation() cType=%s\n",cType.data()); - toupper(cType.at(0)); - pageType+=" "; - pageType+=cType; - pageTitle+=pageType+" Reference"; - if (m_tempArgs) pageTitle.prepend(" Template"); - startFile(ol,getOutputFileBase(),name(),pageTitle); + QCString pageType = " "; + pageType += compoundTypeString(); + toupper(pageType.at(1)); + QCString pageTitle = theTranslator->trCompoundReference(displayName(), + m_compType == Interface && m_isObjC ? Class : m_compType, + m_tempArgs != 0); + + startFile(ol,getOutputFileBase(),name(),pageTitle); startTitle(ol,getOutputFileBase()); - ol.parseText(theTranslator->trCompoundReference(displayName(), - m_isObjC && m_compType==Interface ? Class : m_compType, - m_tempArgs!=0)); + ol.parseText(pageTitle); addGroupListToTitle(ol,this); endTitle(ol,getOutputFileBase(),name()); @@ -2642,6 +2639,26 @@ ClassDef *ClassDef::insertTemplateInstance(const QCString &fileName, return templateClass; } +ClassDef *ClassDef::getVariableInstance(const char *templSpec) +{ + if (m_variableInstances==0) + { + m_variableInstances = new QDict<ClassDef>(17); + m_variableInstances->setAutoDelete(TRUE); + } + ClassDef *templateClass=m_variableInstances->find(templSpec); + if (templateClass==0) + { + Debug::print(Debug::Classes,0," New template variable instance class `%s'`%s'\n",name().data(),templSpec); + templateClass = new ClassDef("<code>",1,name()+templSpec, + ClassDef::Class,0,0,FALSE); + templateClass->addMembersToTemplateInstance( this, templSpec ); + templateClass->setTemplateMaster(this); + m_variableInstances->insert(templSpec,templateClass); + } + return templateClass; +} + void ClassDef::setTemplateBaseClassNames(QDict<int> *templateNames) { if (templateNames==0) return; |