]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkPackage.cxx
*** empty log message ***
[bbtk.git] / kernel / src / bbtkPackage.cxx
index c37a2a1c71020086974e0d7fb6d9aee96dafffe1..cdc19203d9e2408d0b46f81e0b7785a10e0741ec 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkPackage.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/02/05 11:07:42 $
-  Version:   $Revision: 1.3 $
+  Date:      $Date: 2008/03/07 08:40:14 $
+  Version:   $Revision: 1.10 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See doc/license.txt or
@@ -35,17 +35,18 @@ namespace bbtk
                   const std::string& description,
                   const std::string& version,
                   const std::string& BBTKVersion) 
-    : mName(name),
-      mAuthor(author),
-      mDescription(description),
-      mVersion(version),
-      mBBTKVersion(BBTKVersion)
+    :
+    mName(name),
+    mAuthor(author),
+    mDescription(description),
+    mVersion(version),
+    mBBTKVersion(BBTKVersion)
   {
-    std::string default_doc_dir = ConfigurationFile::GetInstance().Get_default_doc_tmp();
+    std::string default_doc_dir = ConfigurationFile::GetInstance().Get_default_temp_dir();
     char c = default_doc_dir.c_str()[strlen(default_doc_dir.c_str())-1];
     std::string url = default_doc_dir; 
     if (c != '/' && c !='\\') url = url + "/";
-    url = url +  "doc_tmp/" + name + "/index.html";    
+    url = url +  "temp_dir/" + name + "/index.html";    
     
     SetDocURL(url);
     SetDocRelativeURL("Relative url not set");
@@ -61,7 +62,7 @@ namespace bbtk
 
     //    std::cout  << "   url=["<<url<<"]"<<std::endl;
     //    std::cout  << "relurl=["<<relurl<<"]"<<std::endl;
-    bbtkDebugMessage("Core",7,"Package::Package(\""<<name<<"\")"<<bbtkendl);
+    bbtkDebugMessage("Kernel",7,"Package::Package(\""<<name<<"\")"<<bbtkendl);
   }
   //==========================================================================
 
@@ -71,7 +72,7 @@ namespace bbtk
   /// Dtor
   Package::~Package()
   {
-    bbtkDebugMessageInc("Core",7,"Package::~Package(\""<<mName<<"\")"<<bbtkendl);
+    bbtkDebugMessageInc("Kernel",7,"Package::~Package(\""<<mName<<"\")"<<bbtkendl);
     BlackBoxMapType::const_iterator i;
     for (i=mBlackBoxMap.begin();
          i!=mBlackBoxMap.end();
@@ -89,7 +90,7 @@ namespace bbtk
          delete j->second;
       }
     */ 
-    bbtkDebugDecTab("Core",7);
+    bbtkDebugDecTab("Kernel",7);
   }
   //==========================================================================
 
@@ -100,16 +101,16 @@ namespace bbtk
   BlackBox* Package::NewBlackBox(const std::string& type, 
                                    const std::string& name) const
   {
-    bbtkDebugMessageInc("Core",8,"Package<"<<GetName()<<">::NewBlackBox(\""<<type<<"\",\""<<name<<"\")"<<bbtkendl);
+    bbtkDebugMessageInc("Kernel",8,"Package<"<<GetName()<<">::NewBlackBox(\""<<type<<"\",\""<<name<<"\")"<<bbtkendl);
     
     BlackBoxMapType::const_iterator i = mBlackBoxMap.find(type);
     if (i == mBlackBoxMap.end())  
     {
-          bbtkDebugDecTab("Core",8);
+          bbtkDebugDecTab("Kernel",8);
           return 0;
     }
     BlackBox* bb =i->second->CreateInstance(name);
-    bbtkDebugDecTab("Core",8);
+    bbtkDebugDecTab("Kernel",8);
     return bb;   
 
   }
@@ -124,7 +125,7 @@ namespace bbtk
                                   TypeInfo typeout,
                                   const std::string& name) const
   {
-    bbtkDebugMessageInc("Core",8,"Package<"<<GetName()<<
+    bbtkDebugMessageInc("Kernel",8,"Package<"<<GetName()<<
                        ">::NewAdaptor(<"
                        <<TypeName(typein)<<">,<"
                        <<TypeName(typeout)<<">,\""
@@ -134,11 +135,11 @@ namespace bbtk
     AdaptorMapType::const_iterator i = mAdaptorMap.find(key);
     if (i == mAdaptorMap.end())  
       {
-       bbtkDebugDecTab("Core",8);
+       bbtkDebugDecTab("Kernel",8);
        return 0;
       }
     BlackBox* bb =i->second->CreateInstance(name);
-    bbtkDebugDecTab("Core",8);
+    bbtkDebugDecTab("Kernel",8);
     return bb;   
 
   }
@@ -151,7 +152,7 @@ namespace bbtk
   /// Registers a black box descriptor in the package
   bool Package::RegisterBlackBox(BlackBoxDescriptor* d) 
   {
-    bbtkDebugMessageInc("Core",8,"Package<"<<GetName()<<">::RegisterBlackBox(\""<<d->GetTypeName()<<"\")"<<std::endl);
+    bbtkDebugMessageInc("Kernel",8,"Package<"<<GetName()<<">::RegisterBlackBox(\""<<d->GetTypeName()<<"\")"<<std::endl);
     
     mBlackBoxMap[d->GetTypeName()] = d;
     d->SetPackage(this);
@@ -165,7 +166,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("Kernel",8,"The box is an adaptor, inserting it in adaptors map ..."<<std::endl);   
            mAdaptorMap[key] = d;
          }
        // If already an adaptor registered : error
@@ -179,7 +180,7 @@ namespace bbtk
          }
       }
     
-    bbtkDebugDecTab("Core",8);
+    bbtkDebugDecTab("Kernel",8);
    
     return true;
   }
@@ -190,12 +191,12 @@ namespace bbtk
   /// UnRegisters a black box descriptor from the package
   void Package::UnRegisterBlackBox(const std::string& name) 
   {
-    bbtkDebugMessageInc("Core",8,"Package<"<<GetName()<<">::UnRegisterBlackBox(\""<<name<<"\")"<<std::endl);
+    bbtkDebugMessageInc("Kernel",8,"Package<"<<GetName()<<">::UnRegisterBlackBox(\""<<name<<"\")"<<std::endl);
     // Looking into the bb map
     BlackBoxMapType::iterator i = mBlackBoxMap.find(name);
     if (i == mBlackBoxMap.end())  
     {
-       bbtkDebugDecTab("Core",8);
+       bbtkDebugDecTab("Kernel",8);
        bbtkError("UnRegister : The package <"<<GetName()<<"> does not contains the black box <"<<name<<">");
      }
     mBlackBoxMap.erase(i);
@@ -207,7 +208,7 @@ namespace bbtk
          mAdaptorMap.erase(j);
       }
     */    
-    bbtkDebugDecTab("Core",8);    
+    bbtkDebugDecTab("Kernel",8);    
   }
   //==========================================================================
 
@@ -215,12 +216,12 @@ namespace bbtk
   /// Changes the name of a black box type
   void Package::ChangeBlackBoxName( const std::string& oldname, const std::string& newname )
   { 
-    bbtkDebugMessageInc("Core",8,"Package<"<<GetName()<<">::ChangeBlackBoxName(\""<<oldname<<"\",\""<<newname<<"\")"<<std::endl);
+    bbtkDebugMessageInc("Kernel",8,"Package<"<<GetName()<<">::ChangeBlackBoxName(\""<<oldname<<"\",\""<<newname<<"\")"<<std::endl);
     // Looking into the bb map
     BlackBoxMapType::iterator i = mBlackBoxMap.find(oldname);
     if (i == mBlackBoxMap.end())  
       {
-         bbtkDebugDecTab("Core",8);
+         bbtkDebugDecTab("Kernel",8);
          bbtkError("ChangeBlackBoxName : The package <"<<GetName()<<"> does not contains the black box <"<<oldname<<">");
       }
 
@@ -228,7 +229,7 @@ namespace bbtk
     mBlackBoxMap[newname] = i->second;
     mBlackBoxMap.erase(i);
 
-    bbtkDebugDecTab("Core",8);    
+    bbtkDebugDecTab("Kernel",8);    
   }
   //==========================================================================
 
@@ -238,7 +239,7 @@ namespace bbtk
   /// Registers an adaptor descriptor in the package
   bool Package::RegisterAdaptor(BlackBoxDescriptor* d) 
   {
-    bbtkDebugMessage("Core",8,"Package<"<<GetName()<<">::RegisterAdaptor(\""<<d->GetTypeName()<<"\")"<<std::endl);
+    bbtkDebugMessage("Kernel",8,"Package<"<<GetName()<<">::RegisterAdaptor(\""<<d->GetTypeName()<<"\")"<<std::endl);
     
     TypeInfo typein = d->GetInputDescriptor("In")->GetTypeInfo();
     TypeInfo typeout = d->GetOutputDescriptor("Out")->GetTypeInfo();
@@ -374,18 +375,18 @@ namespace bbtk
   /// Prints help on a black box
   void Package::HelpBlackBox(const std::string& name, bool full) const
   {
-    bbtkDebugMessageInc("Core",8,"Package<"<<GetName()<<">::HelpBlackBox(\""
+    bbtkDebugMessageInc("Kernel",8,"Package<"<<GetName()<<">::HelpBlackBox(\""
                        <<name<<"\")"<<bbtkendl);
 
     BlackBoxMapType::const_iterator i = mBlackBoxMap.find(name);
     if (i == mBlackBoxMap.end())  
       {
-       bbtkDebugDecTab("Core",8);
+       bbtkDebugDecTab("Kernel",8);
        bbtkError("The package <"<<GetName()<<"> does not contains the black box <"<<name<<">");
       }
     //    bbtkMessage("Help",1,"["<<GetName()<<"] ");
     i->second->GetHelp(full);
-    bbtkDebugDecTab("Core",8);
+    bbtkDebugDecTab("Kernel",8);
 
   }
   //==========================================================================
@@ -395,16 +396,16 @@ namespace bbtk
   /// Returns true iff the package contains the box of name boxname
   bool Package::ContainsBlackBox(const std::string& name) const 
   {
-    bbtkDebugMessageInc("Core",8,"Package<"<<GetName()<<">::HelpBlackBox(\""
+    bbtkDebugMessageInc("Kernel",8,"Package<"<<GetName()<<">::HelpBlackBox(\""
                        <<name<<"\")"<<bbtkendl);
     
     BlackBoxMapType::const_iterator i = mBlackBoxMap.find(name);
     if (i == mBlackBoxMap.end())  
     {
-      bbtkDebugDecTab("Core",8);
+      bbtkDebugDecTab("Kernel",8);
       return false;
     }
-    bbtkDebugDecTab("Core",8);
+    bbtkDebugDecTab("Kernel",8);
     return true;
   }
   //==========================================================================
@@ -421,7 +422,7 @@ namespace bbtk
                               int level,
                               bool relative_link ) const
   {
-    bbtkDebugMessageInc("Core",9,"Package<"<<GetName()<<">::CreateHtmlPage(\""
+    bbtkDebugMessageInc("Kernel",9,"Package<"<<GetName()<<">::CreateHtmlPage(\""
                        <<filename<<"\")"<<bbtkendl);
 
     //---------------------
@@ -507,7 +508,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;'>  " 
          << GetAuthor() << "</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;'>  " 
-         << GetKeyword() << "</TD></TR>\n";
+         << GetCategory() << "</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;'> " 
@@ -533,10 +534,11 @@ namespace bbtk
        std::string name = i->second->GetTypeName();
        Utilities::html_format(name);
        std::string descr = i->second->GetDescription();
+       Utilities::html_format(descr);
 
         s << "<TR>";
        s << "<TD style='vertical-align: top;'>";
-       s << "<li><a name=\"toc_"<<name
+       s << "&nbsp;&nbsp;&nbsp;<a name=\"toc_"<<name
          <<"\" href=\"#"<<name<<"\">"
          <<name<<"</a>";
        s << "</TD> ";
@@ -546,7 +548,7 @@ namespace bbtk
     s << "</TABLE>\n";
     
     
-    s << "</li></ul>\n";
+    s << "</ul>\n";
     s << "</div>\n";
     
     //-------------------
@@ -570,7 +572,7 @@ namespace bbtk
     
            s << "<TR>";
            s << "<TD style='vertical-align: top;'>";
-           s << "<li><a name=\"toc_"<<name
+           s << "&nbsp;&nbsp;&nbsp;<a name=\"toc_"<<name
              <<"\" href=\"#"<<name<<"\">"
              <<name<<"</a>";
            s << "</TD> ";
@@ -579,7 +581,7 @@ namespace bbtk
          }    
        s << "</TABLE>\n";
 
-       s << "</li></ul>\n";
+       s << "</ul>\n";
        s << "</div>\n";
       }
     
@@ -601,9 +603,11 @@ namespace bbtk
     // Computes output directory from filename to pass it to 
     // BlackBoxDescriptor::InsertHtmlHelp
     std::string dir;
-    std::string::size_type slash_position = 
-      filename.find_last_of(ConfigurationFile::GetInstance().Get_file_separator ());
-    if (slash_position != std::string::npos) {
+
+    std::string::size_type slash_position = filename.find_last_of("/\\");
+
+
+       if (slash_position != std::string::npos) {
       if (slash_position == 0)
          slash_position = 1;  
       dir = filename.substr(0,slash_position);
@@ -624,8 +628,9 @@ namespace bbtk
     ptm = gmtime ( &rawtime );
 
     s << "<p><hr>\n";
-    s << "Automatically generated by <b>"<<caller<<"</b> from <b>"
-      <<source<<"</b> on "
+    s << "Automatically generated by <b>"<<caller<<"</b> "//from <b>"
+      //      <<source<<"</b>
+      <<"on "
       << ptm->tm_mday << "/" << ptm->tm_mon << "/" << ptm->tm_year+1900 
       << " - " << ptm->tm_hour << ":" << ptm->tm_min << " GMT\n";
     s << "</body></html>\n"; 
@@ -633,7 +638,7 @@ namespace bbtk
     //----------------------
 
     // End
-    bbtkDebugDecTab("Core",9);
+    bbtkDebugDecTab("Kernel",9);
   }
   //==========================================================================
 }