X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fsrc%2FbbtkBlackBoxDescriptor.cxx;h=4fba9436ad38f520bd92adda727cbed642a514f2;hb=2d2fc4c6349d5040a9f13a240f079e7a1c6687dd;hp=04ede1c4a7717f3efe2bb9fecca3b88816cbe9e0;hpb=6ad84645e7e5971e3a7b166bd3099c06c343010f;p=bbtk.git diff --git a/kernel/src/bbtkBlackBoxDescriptor.cxx b/kernel/src/bbtkBlackBoxDescriptor.cxx index 04ede1c..4fba943 100644 --- a/kernel/src/bbtkBlackBoxDescriptor.cxx +++ b/kernel/src/bbtkBlackBoxDescriptor.cxx @@ -1,21 +1,34 @@ -/*========================================================================= - +/*========================================================================= Program: bbtk Module: $RCSfile: bbtkBlackBoxDescriptor.cxx,v $ Language: C++ - 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 - http://www.creatis.insa-lyon.fr/Public/bbtk/License.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. See the above copyright notices for more information. - + Date: $Date: 2008/10/17 08:18:12 $ + Version: $Revision: 1.19 $ =========================================================================*/ +/* --------------------------------------------------------------------- + +* Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale) +* Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux +* +* This software is governed by the CeCILL-B license under French law and +* abiding by the rules of distribution of free software. You can use, +* modify and/ or redistribute the software under the terms of the CeCILL-B +* license as circulated by CEA, CNRS and INRIA at the following URL +* http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +* or in the file LICENSE.txt. +* +* As a counterpart to the access to the source code and rights to copy, +* modify and redistribute granted by the license, users are provided only +* with a limited warranty and the software's author, the holder of the +* economic rights, and the successive licensors have only limited +* liability. +* +* The fact that you are presently reading this means that you have had +* knowledge of the CeCILL-B license and that you accept its terms. +* ------------------------------------------------------------------------ */ + + /** * \file * \brief Class bbtk::BlackBoxDescriptor : (abstract) describes a BlackBox (name, description, author) and is able to create an instance of it. @@ -29,7 +42,11 @@ namespace bbtk { - + + typedef Package::Pointer PackagePointer; + + + //========================================================================= /// Default ctor BlackBoxDescriptor::BlackBoxDescriptor() @@ -38,20 +55,27 @@ namespace bbtk mAuthor(""), mCategory(""), mKind(STANDARD), - mPackage(NULL) + mPackage() { - bbtkDebugMessage("Kernel",9, - "BlackBoxDescriptor::BlackBoxDescriptor()"< BlackBoxDescriptor::BlackBoxDescriptor()"< BlackBoxDescriptor::~BlackBoxDescriptor() [" + <second; - bbtkDebugDecTab("Kernel",9); + bbtkDebugMessage("object",4, + "<== BlackBoxDescriptor::~BlackBoxDescriptor() [" + < BlackBoxDescriptor::Release('" + <GetTypeName()<<"')"< No more instance alive = releasing from package"<mPackage; + Package::ReleaseBlackBoxDescriptor(pack,desc); + } + else + { + bbtkMessage("object",2," --> Still some instances alive = Keeping it alive"<GetTypeName()<<"')"< Destructing BlackBoxDescriptor ["<GetName()<<"::"<"<"<"<second->GetName().size()>namelmax) namelmax = i->second->GetName().size(); if (i->second->GetHumanTypeName().size()>typelmax) typelmax = i->second->GetHumanTypeName().size(); + if (i->second->GetNature().size()>natlmax) + natlmax = i->second->GetNature().size(); } OutputDescriptorMapType::const_iterator o; for ( o = mOutput.begin(); o != mOutput.end(); ++o ) @@ -170,6 +245,8 @@ namespace bbtk namelmax = o->second->GetName().size(); if (o->second->GetHumanTypeName().size()>typelmax) typelmax = o->second->GetHumanTypeName().size(); + if (o->second->GetNature().size()>natlmax) + natlmax = o->second->GetNature().size(); } // for ( i = mInput.begin(); i != mInput.end(); ++i ) @@ -180,10 +257,14 @@ namespace bbtk std::string type(i->second->GetHumanTypeName()); type += ">"; type.append(1+typelmax-type.size(),' '); + std::string nature(i->second->GetNature()); + nature += "]"; + nature.append(1+natlmax-nature.size(),' '); bbtkMessage("Help",1, - " '"<second->GetDescription()<second->GetDescription()<second->GetHumanTypeName()); type += ">"; type.append(1+typelmax-type.size(),' '); + std::string nature(o->second->GetNature()); + nature += "]"; + nature.append(1+natlmax-nature.size(),' '); bbtkMessage("Help",1, " '"<second->GetDescription()<second->GetDescription()<GetName() + "::" + mTypeName; + return "::" + mTypeName; + } + //========================================================================= + //========================================================================= void BlackBoxDescriptor::InsertHtmlHelp ( std::ofstream& s, int detail, int level, const std::string& output_dir, bool relative_link ) { - bbtkDebugMessageInc("Kernel",9,"BlackBoxDescriptor::InsertHtmlHelp() ["<second->GetDescription()); - Utilities::html_format(descr); + //Utilities::html_format(descr); std::string out = "second->GetDescription()); - Utilities::html_format(descr); + //Utilities::html_format(descr); std::string out = "