diff options
author | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2008-01-17 18:56:38 (GMT) |
---|---|---|
committer | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2008-01-17 18:56:38 (GMT) |
commit | f000dd870b772ed6bc26ea383a8657301eb5ef17 (patch) | |
tree | 05e55417a750c1275c9139b7952de6941db168dd /src/classlist.cpp | |
parent | b00ec8923dcf911a38323429f1744048b20a35a7 (diff) | |
download | Doxygen-f000dd870b772ed6bc26ea383a8657301eb5ef17.zip Doxygen-f000dd870b772ed6bc26ea383a8657301eb5ef17.tar.gz Doxygen-f000dd870b772ed6bc26ea383a8657301eb5ef17.tar.bz2 |
Release-1.5.4-20080101
Diffstat (limited to 'src/classlist.cpp')
-rw-r--r-- | src/classlist.cpp | 37 |
1 files changed, 27 insertions, 10 deletions
diff --git a/src/classlist.cpp b/src/classlist.cpp index 6619b8e..ee23331 100644 --- a/src/classlist.cpp +++ b/src/classlist.cpp @@ -1,8 +1,8 @@ /****************************************************************************** * - * $Id$ + * * - * Copyright (C) 1997-2007 by Dimitri van Heesch. + * Copyright (C) 1997-2008 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -21,6 +21,7 @@ #include "outputlist.h" #include "language.h" #include "doxygen.h" +#include "vhdldocgen.h" ClassList::ClassList() : QList<ClassDef>() { @@ -66,6 +67,8 @@ ClassListIterator::ClassListIterator(const ClassList &cllist) : void ClassSDict::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *filter, const char *header,bool localNames) { + static bool fortranOpt = Config_getBool("OPTIMIZE_FOR_FORTRAN"); + static bool vhdlOpt = Config_getBool("OPTIMIZE_OUTPUT_VHDL"); if (count()>0) { ClassSDict::Iterator sdi(*this); @@ -91,9 +94,14 @@ void ClassSDict::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *f { ol.parseText(header); } + else if (vhdlOpt) + { + ol.parseText(VhdlDocGen::trVhdlType(VhdlDocGen::ARCHITECTURE,FALSE)); + } else { - ol.parseText(theTranslator->trCompounds()); + ol.parseText(fortranOpt ? theTranslator->trDataTypes() : + theTranslator->trCompounds()); } ol.endMemberHeader(); ol.startMemberList(); @@ -103,7 +111,7 @@ void ClassSDict::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *f !cd->isReference()) // skip classes found in tag files { Doxygen::tagFile << " <class kind=\"" << cd->compoundTypeString() - << "\">" << convertToXML(cd->name()) << "</class>" << endl; + << "\">" << convertToXML(cd->name()) << "</class>" << endl; } ol.startMemberItem(FALSE); QCString tmp = cd->compoundTypeString(); @@ -116,16 +124,20 @@ void ClassSDict::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *f { cname = cd->displayName(); } - ol.writeString(tmp); - ol.writeString(" "); - ol.insertMemberAlign(); + + if (!vhdlOpt) // for VHDL we swap the name and the type + { + ol.writeString(tmp); + ol.writeString(" "); + ol.insertMemberAlign(); + } if (isLink) { ol.writeObjectLink(cd->getReference(), cd->getOutputFileBase(), 0, cname - ); + ); } else { @@ -133,16 +145,21 @@ void ClassSDict::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *f ol.docify(cname); ol.endBold(); } + if (vhdlOpt) // now write the type + { + ol.insertMemberAlign(); + VhdlDocGen::writeClassType(cd,ol,cname); + } ol.endMemberItem(); if (!cd->briefDescription().isEmpty()) { ol.startMemberDescription(); ol.parseDoc(cd->briefFile(),cd->briefLine(),cd,0, - cd->briefDescription(),FALSE,FALSE); + cd->briefDescription(),FALSE,FALSE); if (//(!cd->briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF")) || //!cd->documentation().isEmpty()) cd->isLinkableInProject() - ) + ) { ol.pushGeneratorState(); ol.disableAllBut(OutputGenerator::Html); |