]> Creatis software - bbtk.git/commitdiff
Keywords
authorjean-pierre roux <jean-pierre.roux@creatis.insa-lyon.fr>
Wed, 30 Jan 2008 12:14:42 +0000 (12:14 +0000)
committerjean-pierre roux <jean-pierre.roux@creatis.insa-lyon.fr>
Wed, 30 Jan 2008 12:14:42 +0000 (12:14 +0000)
kernel/src/bbtkBlackBoxDescriptor.cxx
kernel/src/bbtkComplexBlackBoxDescriptor.cxx
kernel/src/bbtkFactory.cxx
kernel/src/bbtkPackage.cxx

index 050231eccab747e7a3b638cf2666e732d50bd51c..5aa953d949ef6ca867b59ce7b0b22050a9ed8239 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkBlackBoxDescriptor.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/01/30 09:28:15 $
-  Version:   $Revision: 1.2 $
+  Date:      $Date: 2008/01/30 12:14:42 $
+  Version:   $Revision: 1.3 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -91,6 +91,7 @@ namespace bbtk
                     <<GetTypeName()<<"]"<<std::endl);  
     if (clear) mKeyword = s;
     else mKeyword += s;
+    std::cout<<"keyword [" << mKeyword << "]" << std::endl;
   }  
   //=========================================================================
 
@@ -142,9 +143,10 @@ namespace bbtk
     else 
     {
           bbtkMessage("Help",1,"Black Box <::"<<GetTypeName()<<">"<<std::endl);
-       }
-    bbtkMessage("Help",1," "<<GetDescription()<<std::endl);
-    bbtkMessage("Help",1," By : "<<GetAuthor()<<std::endl);
+        }
+    bbtkMessage("Help",1," "           <<GetDescription()<<std::endl);
+    bbtkMessage("Help",1," By : "      <<GetAuthor()     <<std::endl);
+    bbtkMessage("Help",1," Keywords : "<<GetKeyword()    <<std::endl);
     if (mInput.size()) 
       bbtkMessage("Help",1," * Inputs : "<<std::endl);
     else 
@@ -153,47 +155,47 @@ namespace bbtk
     unsigned int namelmax = 0;
     unsigned int typelmax = 0;
     for ( i = mInput.begin();  i != mInput.end(); ++i ) 
-      {
-       if (i->second->GetName().size()>namelmax) 
-         namelmax = i->second->GetName().size();
-       if (i->second->GetHumanTypeName().size()>typelmax) 
-         typelmax = i->second->GetHumanTypeName().size();
-      }
+    {
+          if (i->second->GetName().size()>namelmax) 
+            namelmax = i->second->GetName().size();
+          if (i->second->GetHumanTypeName().size()>typelmax) 
+            typelmax = i->second->GetHumanTypeName().size();
+    }
     OutputDescriptorMapType::const_iterator o;
     for ( o = mOutput.begin();  o != mOutput.end(); ++o ) 
-      {
-       if (o->second->GetName().size()>namelmax) 
-         namelmax = o->second->GetName().size();
-       if (o->second->GetHumanTypeName().size()>typelmax) 
-         typelmax = o->second->GetHumanTypeName().size();
-      }
+    {
+          if (o->second->GetName().size()>namelmax) 
+            namelmax = o->second->GetName().size();
+          if (o->second->GetHumanTypeName().size()>typelmax) 
+            typelmax = o->second->GetHumanTypeName().size();
+    }
     //
     for ( i = mInput.begin();  i != mInput.end(); ++i ) 
-      {
-       std::string name(i->second->GetName());
-       name += "'";
-       name.append(1+namelmax-name.size(),' ');
-       std::string type(i->second->GetHumanTypeName());
-       type += ">";
-       type.append(1+typelmax-type.size(),' ');
-       bbtkMessage("Help",1,
+    {
+          std::string name(i->second->GetName());
+          name += "'";
+          name.append(1+namelmax-name.size(),' ');
+          std::string type(i->second->GetHumanTypeName());
+          type += ">";
+          type.append(1+typelmax-type.size(),' ');
+          bbtkMessage("Help",1,
                    "    '"<<name
                    <<" <"<<type
                    <<" : "<<i->second->GetDescription()<<std::endl);
-      }
+    }
     if (mOutput.size()) 
       bbtkMessage("Help",1," * Outputs : "<<std::endl);
     else 
       bbtkMessage("Help",1," * No outputs"<<std::endl);
     for ( o = mOutput.begin();  o != mOutput.end(); ++o ) 
-      {
-       std::string name(o->second->GetName());
-       name += "'";
-       name.append(1+namelmax-name.size(),' ');
-       std::string type(o->second->GetHumanTypeName());
-       type += ">";
-       type.append(1+typelmax-type.size(),' ');
-       bbtkMessage("Help",1,
+    {
+          std::string name(o->second->GetName());
+          name += "'";
+          name.append(1+namelmax-name.size(),' ');
+          std::string type(o->second->GetHumanTypeName());
+          type += ">";
+          type.append(1+typelmax-type.size(),' ');
+          bbtkMessage("Help",1,
                    "    '"<<name
                    <<" <"<<type
                    <<" : "<<o->second->GetDescription()<<std::endl);
@@ -231,6 +233,9 @@ namespace bbtk
     //Utilities::html_format(descr);
     std::string author = GetAuthor();
     Utilities::html_format(author);
+
+    std::string keyword = GetKeyword();
+    Utilities::html_format(keyword);    
     
     (s) << "<p><TABLE cellspacing=0  cellpadding=3>\n";
     (s) << "<TR><TD style='vertical-align: top;'><b> Description </b></TD><TD style='vertical-align: top;'> : </TD><TD style='vertical-align: top;'> " 
@@ -238,7 +243,7 @@ namespace bbtk
     (s) << "<TR><TD style='vertical-align: top;'><b> Author(s) </b></TD><TD style='vertical-align: top;'> : </TD><TD style='vertical-align: top;'>  " 
       << author << "</TD></TR>\n";
     (s) << "</TABLE>\n";
-    
+
     //-------------
     // Graph
     //i->second->InsertHTMLGraph( &s , detail,level,dir);
@@ -257,23 +262,23 @@ namespace bbtk
     InputDescriptorMapType::const_iterator in;
     
     for ( in = imap.begin();  in != imap.end(); ++in ) 
-      {
-       std::string name(in->second->GetName());
-       Utilities::html_format(name);
-       
-       std::string type("<");
-       type += in->second->GetTypeName();    
-       type += ">";
-       Utilities::html_format(type);
+    {
+          std::string name(in->second->GetName());
+          Utilities::html_format(name);
        
-       std::string descr(in->second->GetDescription());
-       //Utilities::html_format(descr);
+          std::string type("<");
+          type += in->second->GetTypeName();    
+          type += ">";
+          Utilities::html_format(type);
 
-       (s) << "<TR><TD style='vertical-align: top;'><B><PRE> "<<name<<" </PRE></B></TD>"
-         << "<TD style='vertical-align: top;'><I><PRE> "<<type<<" </PRE></I></TD>"
-         << "<TD style='vertical-align: top;'>"<<descr<<"</TD></TR>\n";
+          std::string descr(in->second->GetDescription());
+          //Utilities::html_format(descr);
+
+          (s) << "<TR><TD style='vertical-align: top;'><B><PRE> "<<name<<" </PRE></B></TD>"
+              << "<TD style='vertical-align: top;'><I><PRE> "<<type<<" </PRE></I></TD>"
+              << "<TD style='vertical-align: top;'>"<<descr<<"</TD></TR>\n";
        
-      }
+    }
     // (s) << "</TABLE>\n";
     
     
@@ -290,24 +295,24 @@ namespace bbtk
     BlackBoxDescriptor::OutputDescriptorMapType::const_iterator o;
     
     for ( o = omap.begin();  o != omap.end(); ++o ) 
-      {
-       std::string name(o->second->GetName());
-       Utilities::html_format(name);
-       
-       std::string type("<");
-       type += o->second->GetTypeName();    
-       type += ">";
-       Utilities::html_format(type);
+    {
+          std::string name(o->second->GetName());
+          Utilities::html_format(name);
+
+          std::string type("<");
+          type += o->second->GetTypeName();    
+          type += ">";
+          Utilities::html_format(type);
        
-       std::string descr(o->second->GetDescription());
-       //Utilities::html_format(descr);
+          std::string descr(o->second->GetDescription());
+          //Utilities::html_format(descr);
        
        
-       (s) << "<TR><TD style='vertical-align: top;'><B><PRE> "<<name<<" </PRE></B></TD>"
-         << "<TD style='vertical-align: top;'><I><PRE> "<<type<<" </PRE></I></TD>"
-         << "<TD style='vertical-align: top;'>"<<descr<<"</TD></TR>\n";
+          (s) << "<TR><TD style='vertical-align: top;'><B><PRE> "<<name<<" </PRE></B></TD>"
+              << "<TD style='vertical-align: top;'><I><PRE> "<<type<<" </PRE></I></TD>"
+              << "<TD style='vertical-align: top;'>"<<descr<<"</TD></TR>\n";
        
-      }
+    }
     (s) << "</TABLE>\n";
 
     //------------
index 4d6b6e88533c1b74a84e978766b12cf5d6c40fe4..2631a337def4b8099797a2ae926c023f9efb22b1 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkComplexBlackBoxDescriptor.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/01/22 15:02:00 $
-  Version:   $Revision: 1.1 $
+  Date:      $Date: 2008/01/30 12:14:43 $
+  Version:   $Revision: 1.2 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -278,15 +278,23 @@ namespace bbtk
 
     std::string descr = GetDescription();
     //Utilities::html_format(descr);
+    
     std::string author = GetAuthor();
     Utilities::html_format(author);
     
+    std::string keyword = GetKeyword();
+    Utilities::html_format(keyword);
+        
     (s) << "<p><TABLE cellspacing=0  cellpadding=3>\n";
     (s) << "<TR><TD style='vertical-align: top;'><b> Description </b></TD><TD style='vertical-align: top;'> : </TD><TD style='vertical-align: top;'> " 
-      << descr << "</TD></TR>\n";
+        << descr << "</TD></TR>\n";
+
     (s) << "<TR><TD style='vertical-align: top;'><b> Author(s) </b></TD><TD style='vertical-align: top;'> : </TD><TD style='vertical-align: top;'>  " 
-      << author << "</TD></TR>\n";
-     
+        << author << "</TD></TR>\n";
+
+    (s) << "<TR><TD style='vertical-align: top;'><b> Keyword(s) </b></TD><TD style='vertical-align: top;'> : </TD><TD style='vertical-align: top;'>  " 
+        << keyword << "</TD></TR>\n";      
+
     std::string inc = GetScriptFileName();
     if (inc.size()>0) 
       {
@@ -298,38 +306,37 @@ namespace bbtk
     const ComplexBlackBox::BlackBoxMapType& B = mPrototype->bbGetBlackBoxMap();
        
     if (B.size()) 
-      {
-       (s) << "<TR><TD style='vertical-align: top;'><b> Dependencies </b></TD><TD style='vertical-align: top;'> : </TD><TD style='vertical-align: top;'>  ";
-
-
-       std::set<BlackBoxDescriptor*> pdeps;
-       ComplexBlackBox::BlackBoxMapType::const_iterator b;
-       for ( b = B.begin(); b != B.end(); ++b ) 
-         {
-           BlackBoxDescriptor* d = b->second->bbGetDescriptor();
-           if (pdeps.find(d) != pdeps.end()) continue;
-           pdeps.insert(d);
-
-           Package* p = d->GetPackage();
+    {
+          (s) << "<TR><TD style='vertical-align: top;'><b> Dependencies </b></TD><TD style='vertical-align: top;'> : </TD><TD style='vertical-align: top;'>  ";
+
+          std::set<BlackBoxDescriptor*> pdeps;
+          ComplexBlackBox::BlackBoxMapType::const_iterator b;
+          for ( b = B.begin(); b != B.end(); ++b ) 
+          {
+             BlackBoxDescriptor* d = b->second->bbGetDescriptor();
+             if (pdeps.find(d) != pdeps.end()) 
+            continue;
+             pdeps.insert(d);
+
+             Package* p = d->GetPackage();
            
-           std::string name = b->second->bbGetTypeName();
+             std::string name = b->second->bbGetTypeName();
 
-           std::string url;
-           if (relative_link) 
-             url = p->GetDocRelativeURL();
-           else 
-             url = p->GetDocURL();
+             std::string url;
+             if (relative_link) 
+                url = p->GetDocRelativeURL();
+             else 
+                url = p->GetDocURL();
 
-           s << "<a href=\"" <<url<<"#"<<name<<"\">" 
-             << p->GetName()<<"::"<<name<<"</a>\n";
-         }     
+             s << "<a href=\"" <<url<<"#"<<name<<"\">" 
+               << p->GetName()<<"::"<<name<<"</a>\n";
+           }   
        
-       (s) << "</TD></TR>\n";
+           (s) << "</TD></TR>\n";
 
-      }
+     }
 
-    (s) << "</TABLE>\n";
+     (s) << "</TABLE>\n";
 
  
    //-------------
@@ -395,7 +402,6 @@ namespace bbtk
        std::string descr(o->second->GetDescription());
        //Utilities::html_format(descr);
        
-       
        (s) << "<TR><TD style='vertical-align: top;'><B><PRE> "<<name<<" </PRE></B></TD>"
          << "<TD style='vertical-align: top;'><I><PRE> "<<type<<" </PRE></I></TD>"
          << "<TD style='vertical-align: top;'>"<<descr<<"</TD></TR>\n";
@@ -417,8 +423,9 @@ namespace bbtk
     if (full) bbtkMessage("Help",1,"Complex Black Box <"<<
                          GetPackage()->GetName()<<"::"
                          <<GetTypeName()<<">"<<std::endl);
-    bbtkMessage("Help",1," "<<GetDescription()<<std::endl);
-    bbtkMessage("Help",1," By : "<<GetAuthor()<<std::endl);
+    bbtkMessage("Help",1," "              << GetDescription() <<std::endl);
+    bbtkMessage("Help",1," By : "         << GetAuthor()      <<std::endl);
+    bbtkMessage("Help",1," Keyword(s) : " << GetKeyword()     <<std::endl);    
     if (mInput.size()) 
       bbtkMessage("Help",1," * Inputs : "<<std::endl);
     else 
@@ -427,77 +434,77 @@ namespace bbtk
     unsigned int namelmax = 0;
     unsigned int typelmax = 0;
     for ( i = mInput.begin();  i != mInput.end(); ++i ) 
-      {
-       if (i->second->GetName().size()>namelmax) 
-         namelmax = i->second->GetName().size();
-       if (i->second->GetTypeName().size()>typelmax) 
-         typelmax = i->second->GetTypeName().size();
-      }
+    {
+          if (i->second->GetName().size()>namelmax) 
+            namelmax = i->second->GetName().size();
+          if (i->second->GetTypeName().size()>typelmax) 
+            typelmax = i->second->GetTypeName().size();
+    }
     OutputDescriptorMapType::const_iterator o;
     if (full) 
-      {
-       for ( o = mOutput.begin();  o != mOutput.end(); ++o ) 
-         {
-           if (o->second->GetName().size()>namelmax) 
-             namelmax = o->second->GetName().size();
+    {
+          for ( o = mOutput.begin();  o != mOutput.end(); ++o ) 
+          {
+            if (o->second->GetName().size()>namelmax) 
+              namelmax = o->second->GetName().size();
            if (o->second->GetTypeName().size()>typelmax) 
-             typelmax = o->second->GetTypeName().size();
-         }
-      }
+              typelmax = o->second->GetTypeName().size();
+          }
+    }
     //
 
     for ( i = mInput.begin();  i != mInput.end(); ++i ) 
-      {
-       std::string name(i->second->GetName());
-       name += "'";
-       name.append(1+namelmax-name.size(),' ');
-       std::string type(i->second->GetTypeName());
-       type += ">";
-       type.append(1+typelmax-type.size(),' ');
-       bbtkMessage("Help",1,
+    {
+          std::string name(i->second->GetName());
+          name += "'";
+          name.append(1+namelmax-name.size(),' ');
+          std::string type(i->second->GetTypeName());
+          type += ">";
+          type.append(1+typelmax-type.size(),' ');
+          bbtkMessage("Help",1,
                    "    '"<<name
                    <<" <"<<type
                    <<" : "<<i->second->GetDescription()<<std::endl);
-      }
+    }
     if (full) 
-      {
-       if (mOutput.size()) 
-         bbtkMessage("Help",1," * Outputs : "<<std::endl);
-       else 
-         bbtkMessage("Help",1," * No outputs"<<std::endl);
-       for ( o = mOutput.begin();  o != mOutput.end(); ++o ) 
-         {
-           std::string name(o->second->GetName());
-           name += "'";
-           name.append(1+namelmax-name.size(),' ');
-           std::string type(o->second->GetTypeName());
-           type += ">";
-           type.append(1+typelmax-type.size(),' ');
-           bbtkMessage("Help",1,
-                       "    '"<<name
-                       <<" <"<<type
-                       <<" : "<<o->second->GetDescription()<<std::endl);
-         }
-      }
+    {
+          if (mOutput.size()) 
+            bbtkMessage("Help",1," * Outputs : "<<std::endl);
+          else 
+            bbtkMessage("Help",1," * No outputs"<<std::endl);
+          for ( o = mOutput.begin();  o != mOutput.end(); ++o ) 
+          {
+            std::string name(o->second->GetName());
+            name += "'";
+            name.append(1+namelmax-name.size(),' ');
+            std::string type(o->second->GetTypeName());
+            type += ">";
+            type.append(1+typelmax-type.size(),' ');
+            bbtkMessage("Help",1,
+                        "    '"<<name
+                        <<" <"<<type
+                        <<" : "<<o->second->GetDescription()<<std::endl);
+          }
+    }
     if (full) 
-      {
-       const ComplexBlackBox::BlackBoxMapType& B = mPrototype->bbGetBlackBoxMap();
+    {
+          const ComplexBlackBox::BlackBoxMapType& B = mPrototype->bbGetBlackBoxMap();
        
-       if (B.size()) 
-         bbtkMessage("Help",1," * Boxes : "<<std::endl);
-       else 
-         bbtkMessage("Help",1," * No boxes"<<std::endl);
+          if (B.size()) 
+            bbtkMessage("Help",1," * Boxes : "<<std::endl);
+          else 
+            bbtkMessage("Help",1," * No boxes"<<std::endl);
        
-       ComplexBlackBox::BlackBoxMapType::const_iterator b;
-       for ( b = B.begin(); b != B.end(); ++b ) 
-         {
-           bbtkMessage("Help",1,"    '"<<b->second->bbGetName()<<
-                       "' <"
-                       << b->second->bbGetDescriptor()->GetPackage()->GetName() 
-                       <<"::"
-                       <<b->second->bbGetTypeName()<<">"<<std::endl);
-         }
-      }
+          ComplexBlackBox::BlackBoxMapType::const_iterator b;
+          for ( b = B.begin(); b != B.end(); ++b ) 
+          {
+            bbtkMessage("Help",1,"    '"<<b->second->bbGetName()<<
+                        "' <"
+                        << b->second->bbGetDescriptor()->GetPackage()->GetName() 
+                        <<"::"
+                        <<b->second->bbGetTypeName()<<">"<<std::endl);
+          }
+    }
 
   }   
   //=======================================================================
index 849ebabfc3f4f84c2403206ea7303c09d8020ba6..d2d893c289472a00759da2b5dff0d0a90e1c34e2 100644 (file)
@@ -4,8 +4,8 @@ Program:   bbtk
 Module:    $RCSfile: bbtkFactory.cxx,v $
 Language:  C++
 
-Date:      $Date: 2008/01/30 09:28:15 $
-Version:   $Revision: 1.7 $
+Date:      $Date: 2008/01/30 12:14:43 $
+Version:   $Revision: 1.8 $
                                                                                 
 
 Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
@@ -237,7 +237,8 @@ namespace bbtk
            <<pack.mPackage->GetVersion()
            <<" (bbtk "
            <<pack.mPackage->GetBBTKVersion()<<") "
-           <<pack.mPackage->GetAuthor()
+           <<pack.mPackage->GetAuthor() << " Keyword(s) :"
+           <<pack.mPackage->GetKeyword()
            <<std::endl);
         bbtkMessage("Output",2,pack.mPackage->GetDescription()<<std::endl);
     //===================================================================
@@ -545,10 +546,16 @@ namespace bbtk
     if ( i != mPackageMap.end() ) 
       {
       bbtkMessage("Help",1, "Package "<<i->first<<" ");
+      
       if (i->second.mPackage->GetVersion().length()>0)
         bbtkMessageCont("Help",1,"v" <<i->second.mPackage->GetVersion());
+        
       if (i->second.mPackage->GetAuthor().length()>0)
         bbtkMessageCont("Help",1,"- "<<i->second.mPackage->GetAuthor());
+        
+      if (i->second.mPackage->GetKeyword().length()>0)
+        bbtkMessageCont("Help",1,"- "<<i->second.mPackage->GetKeyword());        
+        
       bbtkMessageCont("Help",1,std::endl);
       bbtkIncTab("Help",1);
       bbtkMessage("Help",1,i->second.mPackage->GetDescription()<<std::endl);
index 4acb0f16192f8351b1219b8f73e0e2abfba64834..7b50aefd251f3e9ef3503a424fc8c3de3623a6d4 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkPackage.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/01/22 15:02:00 $
-  Version:   $Revision: 1.1 $
+  Date:      $Date: 2008/01/30 12:14:43 $
+  Version:   $Revision: 1.2 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See doc/license.txt or
@@ -74,20 +74,20 @@ namespace bbtk
     bbtkDebugMessageInc("Core",7,"Package::~Package(\""<<mName<<"\")"<<bbtkendl);
     BlackBoxMapType::const_iterator i;
     for (i=mBlackBoxMap.begin();
-        i!=mBlackBoxMap.end();
-        ++i) 
-      {
-       delete i->second;
-      
+         i!=mBlackBoxMap.end();
+       ++i) 
+     {
+        delete i->second;
+     } 
     // Adaptors are also stored in the black box map : hence already deleted
     /*
     AdaptorMapType::const_iterator j;
     for (j=mAdaptorMap.begin();
-        j!=mAdaptorMap.end();
-        ++j) 
+         j!=mAdaptorMap.end();
+       ++j) 
       {
-       delete j->second;
-       }
+         delete j->second;
+      }
     */ 
     bbtkDebugDecTab("Core",7);
   }
@@ -104,10 +104,10 @@ namespace bbtk
     
     BlackBoxMapType::const_iterator i = mBlackBoxMap.find(type);
     if (i == mBlackBoxMap.end())  
-      {
-       bbtkDebugDecTab("Core",8);
-       return 0;
-      }
+    {
+          bbtkDebugDecTab("Core",8);
+          return 0;
+    }
     BlackBox* bb =i->second->CreateInstance(name);
     bbtkDebugDecTab("Core",8);
     return bb;   
@@ -165,7 +165,7 @@ namespace bbtk
        AdaptorMapType::const_iterator i = mAdaptorMap.find(key);
        if (i == mAdaptorMap.end())  
          {
-           bbtkDebugMessage("Core",8,"The box is an adaptor, inserting it in adaptors map ..."<<std::endl);       
+           bbtkDebugMessage("Core",8,"The box is an adaptor, inserting it in adaptors map ..."<<std::endl);   
            mAdaptorMap[key] = d;
          }
        // If already an adaptor registered : error
@@ -177,8 +177,6 @@ namespace bbtk
                      <<"> as default adaptor but there is already a default adaptor registered (<"
                      <<i->second->GetTypeName()<<">)");
          }
-       
-
       }
     
     bbtkDebugDecTab("Core",8);
@@ -196,17 +194,17 @@ namespace bbtk
     // Looking into the bb map
     BlackBoxMapType::iterator i = mBlackBoxMap.find(name);
     if (i == mBlackBoxMap.end())  
-      {
-       bbtkDebugDecTab("Core",8);
-       bbtkError("UnRegister : The package <"<<GetName()<<"> does not contains the black box <"<<name<<">");
-      }
+    {
+       bbtkDebugDecTab("Core",8);
+       bbtkError("UnRegister : The package <"<<GetName()<<"> does not contains the black box <"<<name<<">");
+     }
     mBlackBoxMap.erase(i);
     // Is it also in the adaptors map ?
     /*
     AdaptorMapType::iterator j = mAdaptorMap.find(name);
     if (j != mAdaptorMap.end())  
       {
-       mAdaptorMap.erase(j);
+         mAdaptorMap.erase(j);
       }
     */    
     bbtkDebugDecTab("Core",8);    
@@ -222,8 +220,8 @@ namespace bbtk
     BlackBoxMapType::iterator i = mBlackBoxMap.find(oldname);
     if (i == mBlackBoxMap.end())  
       {
-       bbtkDebugDecTab("Core",8);
-       bbtkError("ChangeBlackBoxName : The package <"<<GetName()<<"> does not contains the black box <"<<oldname<<">");
+         bbtkDebugDecTab("Core",8);
+         bbtkError("ChangeBlackBoxName : The package <"<<GetName()<<"> does not contains the black box <"<<oldname<<">");
       }
 
     i->second->SetTypeName(newname);
@@ -318,7 +316,7 @@ namespace bbtk
        else 
          bbtkMessage("Help",1,d << std::endl);
        //    d = d.substr(dmax,d.size());
-       //  }   
+       //  }
       }
 
   }
@@ -347,7 +345,7 @@ namespace bbtk
              {
                bbtkMessage("Help",1,
                            " : "<<i->second->GetDescription());
-               
+
              } 
            bbtkMessage("Help",1,std::endl);
          }
@@ -364,7 +362,7 @@ namespace bbtk
          {
            bbtkMessage("Help",1,
                        " : "<<i->second->GetDescription());
-         
+  
          } 
        bbtkMessage("Help",1,std::endl);
       }
@@ -402,10 +400,10 @@ namespace bbtk
     
     BlackBoxMapType::const_iterator i = mBlackBoxMap.find(name);
     if (i == mBlackBoxMap.end())  
-      {
-       bbtkDebugDecTab("Core",8);
-       return false;
-      }
+    {
+      bbtkDebugDecTab("Core",8);
+      return false;
+    }
     bbtkDebugDecTab("Core",8);
     return true;
   }
@@ -416,7 +414,7 @@ namespace bbtk
   //==========================================================================
   void Package::CreateHtmlPage(const std::string& filename,
                               const std::string& caller,
-                              const std::string& source,       
+                              const std::string& source,
                               const std::string& custom_header,
                               const std::string& custom_title,
                               int detail, 
@@ -431,9 +429,9 @@ namespace bbtk
     std::ofstream s;
     s.open(filename.c_str());
     if (!s.good()) 
-      {
-       bbtkError("Package "<<GetName()<<" : CreateHtmlPage : could not open file '"<<filename<<"'");
-      }
+    {
+       bbtkError("Package "<<GetName()<<" : CreateHtmlPage : could not open file '"<<filename<<"'");
+    }
     
     //----------------------
     // Html head
@@ -508,7 +506,9 @@ namespace bbtk
          << GetDescription() << "</TD></TR>\n";
        s << "<TR><TD style='vertical-align: top;'><b> Author(s) </b></TD><TD style='vertical-align: top;'> : </TD><TD style='vertical-align: top;'>  " 
          << GetAuthor() << "</TD></TR>\n";
-       s << "<TR><TD style='vertical-align: top;'><b> Version </b></TD><TD style='vertical-align: top;'> : </TD><TD style='vertical-align: top;'> " 
+       s << "<TR><TD style='vertical-align: top;'><b> Author(s) </b></TD><TD style='vertical-align: top;'> : </TD><TD style='vertical-align: top;'>  " 
+         << GetKeyword() << "</TD></TR>\n";
+       s << "<TR><TD style='vertical-align: top;'><b> Version </b></TD><TD style='vertical-align: top;'> : </TD><TD style='vertical-align: top;'> " 
          << GetVersion() << "</TD></TR>\n";
        s << "<TR><TD style='vertical-align: top;'><b> bbtk Version </b></TD><TD style='vertical-align: top;'> : </TD><TD style='vertical-align: top;'> " 
          << GetBBTKVersion() << "</TD></TR>\n";
@@ -533,7 +533,7 @@ namespace bbtk
        std::string name = i->second->GetTypeName();
        Utilities::html_format(name);
        std::string descr = i->second->GetDescription();
-       
+
         s << "<TR>";
        s << "<TD style='vertical-align: top;'>";
        s << "<li><a name=\"toc_"<<name
@@ -556,18 +556,18 @@ namespace bbtk
        //  s << "<div class=\"contents\">\n";
        s << "<p><b> Adaptors : </b>\n";
        s << "<ul>\n";
-       
+
        //    BlackBoxMapType::const_iterator i;
        s << "<p><TABLE cellspacing=0  cellpadding=3>\n";
        for (i=mBlackBoxMap.begin(); i!=mBlackBoxMap.end();++i) 
          {
            if ( i->second->GetCategory() == BlackBoxDescriptor::STANDARD) 
              continue;
-           
+    
            std::string name = i->second->GetTypeName();
            Utilities::html_format(name);
            std::string descr = i->second->GetDescription();
-           
+    
            s << "<TR>";
            s << "<TD style='vertical-align: top;'>";
            s << "<li><a name=\"toc_"<<name
@@ -578,7 +578,7 @@ namespace bbtk
            s << "</TR>\n";
          }    
        s << "</TABLE>\n";
-       
+
        s << "</li></ul>\n";
        s << "</div>\n";
       }
@@ -605,7 +605,7 @@ namespace bbtk
       filename.find_last_of(ConfigurationFile::GetInstance().Get_file_separator ());
     if (slash_position != std::string::npos) {
       if (slash_position == 0)
-       slash_position = 1;  
+         slash_position = 1;  
       dir = filename.substr(0,slash_position);
     }