Orb/Doxygen/src/vhdldocgen.cpp
changeset 4 468f4c8d3d5b
parent 0 42188c7ea2d9
--- a/Orb/Doxygen/src/vhdldocgen.cpp	Fri Apr 23 20:47:58 2010 +0100
+++ b/Orb/Doxygen/src/vhdldocgen.cpp	Wed Aug 11 14:49:30 2010 +0100
@@ -1,6 +1,6 @@
 /******************************************************************************
  *
- * Copyright (C) 1997-2008 by Dimitri van Heesch.
+ * Copyright (C) 1997-2010 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 
@@ -213,17 +213,20 @@
   {
     cli.current()->visited=FALSE;
     ClassDef * cd = cli.current();
-    if ((VhdlDocGen::VhdlClasses)cd->protection()==VhdlDocGen::ARCHITECTURECLASS)
+    if ((VhdlDocGen::VhdlClasses)cd->protection()==VhdlDocGen::ARCHITECTURECLASS || 
+        (VhdlDocGen::VhdlClasses)cd->protection()==VhdlDocGen::PACKBODYCLASS)
     {
       QCString bName=cd->name();
       int i=bName.find("::");
       if (i>0)
       {
         QCString entityName=bName.left(i);
+        entityName.stripPrefix("_");
         ClassDef *classEntity=Doxygen::classSDict->find(entityName);
         // entity for architecutre ?
         if (classEntity)
         {
+          // printf("\n entity %s  arch %s",entityName.data(),bName.data());
           classEntity->insertBaseClass(cd,bName,Public,Normal,0);
           cd->insertSubClass(classEntity,Public,Normal,0);
         }
@@ -1163,6 +1166,19 @@
   }//while
 } // getFuncName
 
+QCString VhdlDocGen::getProtectionName(int prot)
+{
+  if (prot==VhdlDocGen::ENTITYCLASS)
+    return "entity";
+  else if (prot==VhdlDocGen::ARCHITECTURECLASS)
+    return "architecture";
+  else if (prot==VhdlDocGen::PACKAGECLASS)
+    return "package";
+  else if (prot==VhdlDocGen::PACKBODYCLASS)
+    return "package body";
+
+  return "";
+}
 
 QCString VhdlDocGen::trTypeString(int type)
 {
@@ -2204,7 +2220,7 @@
 
   if (title) 
   {
-    ol.startMemberHeader();
+    ol.startMemberHeader(ml->listTypeAsString());
     ol.parseText(title);
     ol.endMemberHeader();
     ol.docify(" ");