X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fsrc%2FbbtkBlackBoxDescriptor.cxx;h=04ede1c4a7717f3efe2bb9fecca3b88816cbe9e0;hb=3689d0c5e95d32e7d27d7321ab8afe7ce5264436;hp=15f88d85d48c73f75376635e9d07553843338b7e;hpb=aefd641287e852b80d22c3cddd8b2025f12cb1d6;p=bbtk.git diff --git a/kernel/src/bbtkBlackBoxDescriptor.cxx b/kernel/src/bbtkBlackBoxDescriptor.cxx index 15f88d8..04ede1c 100644 --- a/kernel/src/bbtkBlackBoxDescriptor.cxx +++ b/kernel/src/bbtkBlackBoxDescriptor.cxx @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkBlackBoxDescriptor.cxx,v $ Language: C++ - Date: $Date: 2008/02/06 09:27:52 $ - Version: $Revision: 1.8 $ + Date: $Date: 2008/02/08 07:39:49 $ + Version: $Revision: 1.12 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -24,6 +24,8 @@ #include "bbtkMessageManager.h" #include "bbtkPackage.h" #include "bbtkUtilities.h" +#include "bbtkAtomicBlackBoxDescriptor.h" +#include "bbtkWxBlackBox.h" namespace bbtk { @@ -230,21 +232,32 @@ namespace bbtk std::string descr = GetDescription(); - //Utilities::html_format(descr); + Utilities::html_format(descr); std::string author = GetAuthor(); Utilities::html_format(author); - std::string category = GetCategory(); - Utilities::html_format(category); + std::vector categories; + // Split the category string + std::string delimiters = ";,"; + Utilities::SplitString(GetCategory(), + delimiters,categories); + (s) << "

\n"; (s) << "\n"; (s) << "\n"; - (s) << "\n"; - (s) << "\n"; + + (s) << "\n"; (s) << "
Description : " << descr << "
Author(s) : " << author << "
Category(s) : " - << category << "
Include : " + (s) << "
Category(s) : "; + std::vector::iterator ci; + for (ci=categories.begin(); ci!=categories.end(); ++ci) + { + s << "" << *ci + << " \n"; + } + s << "
To use it : include " << GetPackage()->GetName() << "
\n"; @@ -254,43 +267,81 @@ namespace bbtk //------------- // Inputs - std::string col("#CCCCFF"); - + std::string titlecol("#BBBBFF"); + std::string usercol("#FFFFFF"); + std::string ubbcol("#DDFFFF"); + std::string wxbbcol("#EEFFFF"); + + // (s) << "

Inputs

\n"; (s) << "

\n"; - (s) << "\n"; + + std::vector user_defined; + std::vector ubb_defined; + std::vector wxbb_defined; + const BlackBoxDescriptor::InputDescriptorMapType& imap = GetInputDescriptorMap(); - 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); + // Skips system-defined inputs + std::string col(usercol); + int iotype = 0; + if (in->second->GetCreatorTypeInfo() == + typeid(AtomicBlackBoxDescriptor)) + { + col = ubbcol; + iotype = 1; + } + else if (in->second->GetCreatorTypeInfo() == + typeid(WxBlackBoxDescriptor)) + { + col = wxbbcol; + iotype = 2; + } - std::string descr(in->second->GetDescription()); - //Utilities::html_format(descr); - - (s) << "" - << "" - << "\n"; - + std::string name(in->second->GetName()); + Utilities::html_format(name); + + std::string type("<"); + type += in->second->GetTypeName(); + type += ">"; + Utilities::html_format(type); + + std::string descr(in->second->GetDescription()); + Utilities::html_format(descr); + + std::string out = + "" + + "" + + "\n"; + + if (iotype==0) user_defined.push_back(out); + else if (iotype==1) ubb_defined.push_back(out); + else if (iotype==2) wxbb_defined.push_back(out); + } - // (s) << "
Inputs
 "<
 "<
"<
 "+name+" 
 "+type+" 
"+descr+"
\n"; - - + + std::vector::iterator hi; + for (hi=user_defined.begin();hi!=user_defined.end();++hi) s << *hi; + for (hi=wxbb_defined.begin();hi!=wxbb_defined.end();++hi) s << *hi; + for (hi=ubb_defined.begin();hi!=ubb_defined.end();++hi) s << *hi; + + user_defined.clear(); + ubb_defined.clear(); + wxbb_defined.clear(); + //------------- // Outputs // (s) << "

Outputs

\n"; // (s) << "\n"; - (s) << "\n"; const BlackBoxDescriptor::OutputDescriptorMapType& omap = @@ -299,26 +350,53 @@ 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 col(usercol); + int iotype = 0; + if (o->second->GetCreatorTypeInfo() == + typeid(AtomicBlackBoxDescriptor)) + { + col = ubbcol; + iotype = 1; + } + else if (o->second->GetCreatorTypeInfo() == + typeid(WxBlackBoxDescriptor)) + { + col = wxbbcol; + iotype = 2; + } - std::string descr(o->second->GetDescription()); - //Utilities::html_format(descr); + std::string name(o->second->GetName()); + Utilities::html_format(name); + std::string type("<"); + type += o->second->GetTypeName(); + type += ">"; + Utilities::html_format(type); - (s) << "" - << "" - << "\n"; + std::string descr(o->second->GetDescription()); + Utilities::html_format(descr); - } - (s) << "
Outputs
 "<
 "<
"<
\n"; + std::string out = + "
 "+name+" 
" + + "
 "+type+" 
" + + ""+descr+"\n"; + + if (iotype==0) user_defined.push_back(out); + else if (iotype==1) ubb_defined.push_back(out); + else if (iotype==2) wxbb_defined.push_back(out); + + } + + for (hi=user_defined.begin();hi!=user_defined.end();++hi) s << *hi; + for (hi=wxbb_defined.begin();hi!=wxbb_defined.end();++hi) s << *hi; + for (hi=ubb_defined.begin();hi!=ubb_defined.end();++hi) s << *hi; + (s) << "\n"; + //------------ // End