From 7eba604321498f7ed6333b7cbe9bf2aceb4ec30e Mon Sep 17 00:00:00 2001 From: guigues Date: Wed, 6 Feb 2008 14:14:22 +0000 Subject: [PATCH] *** empty log message *** --- kernel/src/bbtkBlackBoxDescriptor.cxx | 149 +++++++++++++----- kernel/src/bbtkBlackBoxDescriptor.h | 6 +- kernel/src/bbtkBlackBoxInputDescriptor.h | 26 +-- kernel/src/bbtkBlackBoxOutputDescriptor.h | 21 ++- kernel/src/bbtkComplexBlackBoxDescriptor.cxx | 24 +-- .../bbtkComplexBlackBoxInputDescriptor.cxx | 18 ++- .../src/bbtkComplexBlackBoxInputDescriptor.h | 15 +- .../bbtkComplexBlackBoxOutputDescriptor.cxx | 18 ++- .../src/bbtkComplexBlackBoxOutputDescriptor.h | 13 +- kernel/src/bbtkUserBlackBoxDescriptor.h | 44 ++++-- .../src/bbtkUserBlackBoxInputDescriptor.cxx | 19 ++- kernel/src/bbtkUserBlackBoxInputDescriptor.h | 13 +- kernel/src/bbtkUserBlackBoxMacros.h | 21 +-- .../src/bbtkUserBlackBoxOutputDescriptor.cxx | 19 ++- kernel/src/bbtkUserBlackBoxOutputDescriptor.h | 13 +- kernel/src/bbtkWxBlackBox.h | 18 +-- kernel/src/bbtkWxBrowser.cxx | 26 ++- kernel/src/bbtkWxBrowser.h | 3 + packages/itk/doc/bbdoc/header.html.in | 4 + packages/std/doc/bbdoc/header.html.in | 4 + packages/std/src/bbstdMagicBox.h | 24 +-- packages/void-bbtk-package.tgz | Bin 11790 -> 11844 bytes packages/wx/doc/bbdoc/header.html.in | 4 + packages/wx/src/bbwxNotebook.h | 6 +- packages/wx/src/bbwxSizer.h | 6 +- packages/wx/src/bbwxSlider.h | 6 +- packages/wx/src/bbwxSplit.h | 6 +- 27 files changed, 345 insertions(+), 181 deletions(-) diff --git a/kernel/src/bbtkBlackBoxDescriptor.cxx b/kernel/src/bbtkBlackBoxDescriptor.cxx index 15f88d8..c81206d 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/06 14:14:22 $ + Version: $Revision: 1.9 $ 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 "bbtkUserBlackBoxDescriptor.h" +#include "bbtkWxBlackBox.h" namespace bbtk { @@ -244,7 +246,7 @@ namespace bbtk << author << "\n"; (s) << " Category(s) : " << category << "\n"; - (s) << " Include : " + (s) << " To use it : include " << GetPackage()->GetName() << "\n"; (s) << "\n"; @@ -254,43 +256,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(UserBlackBoxDescriptor)) + { + 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 +339,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(UserBlackBoxDescriptor)) + { + 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 diff --git a/kernel/src/bbtkBlackBoxDescriptor.h b/kernel/src/bbtkBlackBoxDescriptor.h index 1c15241..1d0ee5d 100644 --- a/kernel/src/bbtkBlackBoxDescriptor.h +++ b/kernel/src/bbtkBlackBoxDescriptor.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkBlackBoxDescriptor.h,v $ Language: C++ - Date: $Date: 2008/02/05 12:16:55 $ - Version: $Revision: 1.4 $ + Date: $Date: 2008/02/06 14:14:22 $ + Version: $Revision: 1.5 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -155,7 +155,7 @@ namespace bbtk std::string mAuthor; /// The category of the black box std::string mCategory; - /// The kind of box + /// The kind of box (standard / adaptor) Kind mKind; /// The Package to which the box belongs Package *mPackage; diff --git a/kernel/src/bbtkBlackBoxInputDescriptor.h b/kernel/src/bbtkBlackBoxInputDescriptor.h index 0462c0c..19c578f 100644 --- a/kernel/src/bbtkBlackBoxInputDescriptor.h +++ b/kernel/src/bbtkBlackBoxInputDescriptor.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkBlackBoxInputDescriptor.h,v $ Language: C++ - Date: $Date: 2008/01/22 15:02:00 $ - Version: $Revision: 1.1 $ + Date: $Date: 2008/02/06 14:14:22 $ + 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 @@ -34,8 +34,6 @@ namespace bbtk { - - class BBTK_EXPORT BlackBoxInputDescriptor { public: @@ -46,14 +44,18 @@ namespace bbtk /// Ctor with name and description - BlackBoxInputDescriptor( const std::string& name, - const std::string& description, - OptionType option = MANDATORY, - bool copy_construct = true) - : mName(name), mDescription(description), + BlackBoxInputDescriptor(TypeInfo creator_type_info, + const std::string& name, + const std::string& description, + OptionType option = MANDATORY, + bool copy_construct = true) + : mCreatorTypeInfo(creator_type_info), + mName(name), mDescription(description), mOption(option), mCopyConstruct(copy_construct) {} + /// Returns the TypeInfo of the BlackBoxDescriptor which created this descriptor + TypeInfo GetCreatorTypeInfo() { return mCreatorTypeInfo; } /// Returns the name of the input const std::string& GetName() const { return mName; } /// Returns the description of the input @@ -74,8 +76,12 @@ namespace bbtk private: /// Default ctor is private - BlackBoxInputDescriptor() : mName(""), mDescription(""), + BlackBoxInputDescriptor() : mCreatorTypeInfo(typeid(void)), + mName(""), mDescription(""), mOption(OPTIONAL) {} + + /// The TypeInfo of the BlackBoxDescriptor which created this descriptor + TypeInfo mCreatorTypeInfo; /// The name of the input std::string mName; /// The description of the input diff --git a/kernel/src/bbtkBlackBoxOutputDescriptor.h b/kernel/src/bbtkBlackBoxOutputDescriptor.h index eb1164f..c419671 100644 --- a/kernel/src/bbtkBlackBoxOutputDescriptor.h +++ b/kernel/src/bbtkBlackBoxOutputDescriptor.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkBlackBoxOutputDescriptor.h,v $ Language: C++ - Date: $Date: 2008/01/22 15:02:00 $ - Version: $Revision: 1.1 $ + Date: $Date: 2008/02/06 14:14:22 $ + 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 @@ -36,18 +36,21 @@ namespace bbtk { - class BBTK_EXPORT BlackBoxOutputDescriptor { public: /// Ctor with name and description - BlackBoxOutputDescriptor( const std::string& name, + BlackBoxOutputDescriptor( TypeInfo creator_type_info, + const std::string& name, const std::string& description, bool copy_construct = true) - : mName(name), mDescription(description), + : mCreatorTypeInfo(creator_type_info), + mName(name), mDescription(description), mCopyConstruct(copy_construct) {} - + + /// Returns the TypeInfo of the BlackBoxDescriptor which created this descriptor + TypeInfo GetCreatorTypeInfo() { return mCreatorTypeInfo; } /// Returns the name of the output const std::string& GetName() const { return mName; } /// Returns the description of the output @@ -67,7 +70,11 @@ namespace bbtk private: /// Default ctor is private - BlackBoxOutputDescriptor() : mName(""), mDescription("") {} + BlackBoxOutputDescriptor() : mCreatorTypeInfo(typeid(void)), + mName(""), mDescription("") {} + + /// The TypeInfo of the BlackBoxDescriptor which created this descriptor + TypeInfo mCreatorTypeInfo; /// The name of the output std::string mName; /// The description of the output diff --git a/kernel/src/bbtkComplexBlackBoxDescriptor.cxx b/kernel/src/bbtkComplexBlackBoxDescriptor.cxx index f6f6f4b..a6b40e6 100644 --- a/kernel/src/bbtkComplexBlackBoxDescriptor.cxx +++ b/kernel/src/bbtkComplexBlackBoxDescriptor.cxx @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkComplexBlackBoxDescriptor.cxx,v $ Language: C++ - Date: $Date: 2008/02/05 13:23:46 $ - Version: $Revision: 1.4 $ + Date: $Date: 2008/02/06 14:14:22 $ + Version: $Revision: 1.5 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -37,6 +37,7 @@ namespace bbtk { bbtkDebugMessageInc("Kernel",9,"ComplexBlackBoxDescriptor::ComplexBlackBoxDescriptor(\""<bbGetInputType(input))); - + AddInputDescriptor ( new ComplexBlackBoxInputDescriptor + ( typeid(ComplexBlackBoxDescriptor), + name, + help, + box, + input, + bb->bbGetInputType(input))); + bbtkDebugDecTab("Kernel",5); } @@ -219,7 +222,8 @@ namespace bbtk } AddOutputDescriptor ( new ComplexBlackBoxOutputDescriptor - ( name, + ( typeid(ComplexBlackBoxDescriptor), + name, help, box, output, @@ -298,7 +302,7 @@ namespace bbtk std::string inc = GetScriptFileName(); if (inc.size()>0) { - (s) << " Include : " + (s) << " Use command : include " << inc << "\n"; } diff --git a/kernel/src/bbtkComplexBlackBoxInputDescriptor.cxx b/kernel/src/bbtkComplexBlackBoxInputDescriptor.cxx index fcec38b..f32344f 100644 --- a/kernel/src/bbtkComplexBlackBoxInputDescriptor.cxx +++ b/kernel/src/bbtkComplexBlackBoxInputDescriptor.cxx @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkComplexBlackBoxInputDescriptor.cxx,v $ Language: C++ - Date: $Date: 2008/02/05 13:23:46 $ - Version: $Revision: 1.2 $ + Date: $Date: 2008/02/06 14:14:22 $ + 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 @@ -27,13 +27,15 @@ namespace bbtk { - ComplexBlackBoxInputDescriptor::ComplexBlackBoxInputDescriptor( const std::string& name, - const std::string& description, - const std::string& target, - const std::string& input, -TypeInfo type) + ComplexBlackBoxInputDescriptor:: + ComplexBlackBoxInputDescriptor( TypeInfo creator_type_info, + const std::string& name, + const std::string& description, + const std::string& target, + const std::string& input, + TypeInfo type) : - BlackBoxInputDescriptor(name,description), + BlackBoxInputDescriptor(creator_type_info,name,description), mTarget(target), mInput(input), mType(type) diff --git a/kernel/src/bbtkComplexBlackBoxInputDescriptor.h b/kernel/src/bbtkComplexBlackBoxInputDescriptor.h index 1cd39a1..99d029c 100644 --- a/kernel/src/bbtkComplexBlackBoxInputDescriptor.h +++ b/kernel/src/bbtkComplexBlackBoxInputDescriptor.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkComplexBlackBoxInputDescriptor.h,v $ Language: C++ - Date: $Date: 2008/01/22 15:02:00 $ - Version: $Revision: 1.1 $ + Date: $Date: 2008/02/06 14:14:22 $ + 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 @@ -35,11 +35,13 @@ namespace bbtk { - class BBTK_EXPORT ComplexBlackBoxInputDescriptor : public bbtk::BlackBoxInputDescriptor + class BBTK_EXPORT ComplexBlackBoxInputDescriptor : + public bbtk::BlackBoxInputDescriptor { public: - ComplexBlackBoxInputDescriptor( const std::string& name, + ComplexBlackBoxInputDescriptor( TypeInfo creator_type_info, + const std::string& name, const std::string& description, const std::string& target, const std::string& input, @@ -63,8 +65,9 @@ namespace bbtk private: /// Default ctor is private - ComplexBlackBoxInputDescriptor() : BlackBoxInputDescriptor("",""), - mType(typeid(void)) {} + ComplexBlackBoxInputDescriptor() : + BlackBoxInputDescriptor(typeid(void),"",""), + mType(typeid(void)) {} std::string mTarget; std::string mInput; TypeInfo mType; diff --git a/kernel/src/bbtkComplexBlackBoxOutputDescriptor.cxx b/kernel/src/bbtkComplexBlackBoxOutputDescriptor.cxx index 8d5c5d8..504199a 100644 --- a/kernel/src/bbtkComplexBlackBoxOutputDescriptor.cxx +++ b/kernel/src/bbtkComplexBlackBoxOutputDescriptor.cxx @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkComplexBlackBoxOutputDescriptor.cxx,v $ Language: C++ - Date: $Date: 2008/02/05 13:23:46 $ - Version: $Revision: 1.2 $ + Date: $Date: 2008/02/06 14:14:22 $ + 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 @@ -27,13 +27,15 @@ namespace bbtk { - ComplexBlackBoxOutputDescriptor::ComplexBlackBoxOutputDescriptor( const std::string& name, - const std::string& description, - const std::string& target, - const std::string& output, - TypeInfo type) + ComplexBlackBoxOutputDescriptor:: + ComplexBlackBoxOutputDescriptor( TypeInfo creator_type_info, + const std::string& name, + const std::string& description, + const std::string& target, + const std::string& output, + TypeInfo type) : - BlackBoxOutputDescriptor(name,description), + BlackBoxOutputDescriptor(creator_type_info,name,description), mTarget(target), mOutput(output), mType(type) diff --git a/kernel/src/bbtkComplexBlackBoxOutputDescriptor.h b/kernel/src/bbtkComplexBlackBoxOutputDescriptor.h index dff0204..62f2a9d 100644 --- a/kernel/src/bbtkComplexBlackBoxOutputDescriptor.h +++ b/kernel/src/bbtkComplexBlackBoxOutputDescriptor.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkComplexBlackBoxOutputDescriptor.h,v $ Language: C++ - Date: $Date: 2008/01/22 15:02:00 $ - Version: $Revision: 1.1 $ + Date: $Date: 2008/02/06 14:14:22 $ + 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 @@ -36,11 +36,13 @@ namespace bbtk { - class BBTK_EXPORT ComplexBlackBoxOutputDescriptor : public bbtk::BlackBoxOutputDescriptor + class BBTK_EXPORT ComplexBlackBoxOutputDescriptor : + public bbtk::BlackBoxOutputDescriptor { public: - ComplexBlackBoxOutputDescriptor( const std::string& name, + ComplexBlackBoxOutputDescriptor( TypeInfo creator_type_info, + const std::string& name, const std::string& description, const std::string& target, const std::string& output, @@ -66,7 +68,8 @@ namespace bbtk private: /// Default ctor is private ComplexBlackBoxOutputDescriptor() : - BlackBoxOutputDescriptor("",""), mType(typeid(void)) {} + BlackBoxOutputDescriptor(typeid(void),"",""), + mType(typeid(void)) {} std::string mTarget; std::string mOutput; TypeInfo mType; diff --git a/kernel/src/bbtkUserBlackBoxDescriptor.h b/kernel/src/bbtkUserBlackBoxDescriptor.h index 7f42a75..5346a28 100644 --- a/kernel/src/bbtkUserBlackBoxDescriptor.h +++ b/kernel/src/bbtkUserBlackBoxDescriptor.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkUserBlackBoxDescriptor.h,v $ Language: C++ - Date: $Date: 2008/01/22 15:02:00 $ - Version: $Revision: 1.1 $ + Date: $Date: 2008/02/06 14:14:22 $ + 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 @@ -41,19 +41,33 @@ namespace bbtk public: UserBlackBoxDescriptor() { - AddInputDescriptor(new bbtk::UserBlackBoxInputDescriptor("BoxProcessMode", - "Set the process mode of the box (Pipeline | Always | Reactive)", - new bbtk::UserBlackBoxTGetFunctor(&BlackBox::bbGetInputBoxProcessMode), - new bbtk::UserBlackBoxTSetFunctor(&BlackBox::bbSetInputBoxProcessMode) ) ); - AddInputDescriptor(new bbtk::UserBlackBoxInputDescriptor("BoxExecute", - "Any change signal received by this input executes the box", - new bbtk::UserBlackBoxTGetFunctor(&BlackBox::bbGetInputBoxExecute), - new bbtk::UserBlackBoxTSetFunctor(&BlackBox::bbSetInputBoxExecute) ) ); - - AddOutputDescriptor(new bbtk::UserBlackBoxOutputDescriptor("BoxChange", - "Propagates modification of the box", - new bbtk::UserBlackBoxTGetFunctor(&BlackBox::bbGetOutputBoxChange), - new bbtk::UserBlackBoxTSetFunctor(&BlackBox::bbSetOutputBoxChange) ) ); + // Creates the input 'BoxProcessMode' + AddInputDescriptor + (new + bbtk::UserBlackBoxInputDescriptor + (typeid(UserBlackBoxDescriptor), + "BoxProcessMode", + "Sets the processing mode of the box (Pipeline | Always | Reactive)", + new bbtk::UserBlackBoxTGetFunctor(&BlackBox::bbGetInputBoxProcessMode), + new bbtk::UserBlackBoxTSetFunctor(&BlackBox::bbSetInputBoxProcessMode) ) ); + // Creates the input 'BoxExecute' + AddInputDescriptor + (new + bbtk::UserBlackBoxInputDescriptor + (typeid(UserBlackBoxDescriptor), + "BoxExecute", + "Any signal received by this input executes the box", + new bbtk::UserBlackBoxTGetFunctor(&BlackBox::bbGetInputBoxExecute), + new bbtk::UserBlackBoxTSetFunctor(&BlackBox::bbSetInputBoxExecute) ) ); + // Creates the output 'BoxChange' + AddOutputDescriptor + (new + bbtk::UserBlackBoxOutputDescriptor + (typeid(UserBlackBoxDescriptor), + "BoxChange", + "Signal modifications of the box", + new bbtk::UserBlackBoxTGetFunctor(&BlackBox::bbGetOutputBoxChange), + new bbtk::UserBlackBoxTSetFunctor(&BlackBox::bbSetOutputBoxChange) ) ); } }; diff --git a/kernel/src/bbtkUserBlackBoxInputDescriptor.cxx b/kernel/src/bbtkUserBlackBoxInputDescriptor.cxx index 38a8077..91d0ed6 100644 --- a/kernel/src/bbtkUserBlackBoxInputDescriptor.cxx +++ b/kernel/src/bbtkUserBlackBoxInputDescriptor.cxx @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkUserBlackBoxInputDescriptor.cxx,v $ Language: C++ - Date: $Date: 2008/02/05 13:23:46 $ - Version: $Revision: 1.2 $ + Date: $Date: 2008/02/06 14:14:22 $ + 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 @@ -26,13 +26,16 @@ namespace bbtk { - UserBlackBoxInputDescriptor::UserBlackBoxInputDescriptor( const std::string& name, - const std::string& description, - UserBlackBoxGetFunctor* getfunctor, - UserBlackBoxSetFunctor* setfunctor, - bool copy_construct) + UserBlackBoxInputDescriptor:: + UserBlackBoxInputDescriptor( TypeInfo creator_type_info, + const std::string& name, + const std::string& description, + UserBlackBoxGetFunctor* getfunctor, + UserBlackBoxSetFunctor* setfunctor, + bool copy_construct) : - BlackBoxInputDescriptor(name,description,MANDATORY,copy_construct), + BlackBoxInputDescriptor(creator_type_info, + name,description,MANDATORY,copy_construct), mGetFunctor(getfunctor), mSetFunctor(setfunctor) { diff --git a/kernel/src/bbtkUserBlackBoxInputDescriptor.h b/kernel/src/bbtkUserBlackBoxInputDescriptor.h index a5cce85..2132e94 100644 --- a/kernel/src/bbtkUserBlackBoxInputDescriptor.h +++ b/kernel/src/bbtkUserBlackBoxInputDescriptor.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkUserBlackBoxInputDescriptor.h,v $ Language: C++ - Date: $Date: 2008/01/22 15:02:00 $ - Version: $Revision: 1.1 $ + Date: $Date: 2008/02/06 14:14:22 $ + 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 @@ -36,7 +36,8 @@ namespace bbtk { - class BBTK_EXPORT UserBlackBoxInputDescriptor : public bbtk::BlackBoxInputDescriptor + class BBTK_EXPORT UserBlackBoxInputDescriptor : + public bbtk::BlackBoxInputDescriptor { public: //typedef enum { @@ -45,7 +46,8 @@ namespace bbtk //} InputType; - UserBlackBoxInputDescriptor( const std::string& name, + UserBlackBoxInputDescriptor( TypeInfo creator_type_info, + const std::string& name, const std::string& description, UserBlackBoxGetFunctor* getfunctor, UserBlackBoxSetFunctor* setfunctor, @@ -68,7 +70,8 @@ namespace bbtk private: /// Default ctor is private - UserBlackBoxInputDescriptor() : BlackBoxInputDescriptor("","") {} + UserBlackBoxInputDescriptor() : + BlackBoxInputDescriptor(typeid(void),"","") {} /// The functor on the Get method UserBlackBoxGetFunctor* mGetFunctor; /// The functor on the Set method diff --git a/kernel/src/bbtkUserBlackBoxMacros.h b/kernel/src/bbtkUserBlackBoxMacros.h index 660d8b6..10b12ac 100644 --- a/kernel/src/bbtkUserBlackBoxMacros.h +++ b/kernel/src/bbtkUserBlackBoxMacros.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkUserBlackBoxMacros.h,v $ Language: C++ - Date: $Date: 2008/02/05 13:23:46 $ - Version: $Revision: 1.6 $ + Date: $Date: 2008/02/06 14:14:22 $ + Version: $Revision: 1.7 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -271,7 +271,8 @@ /// Describes a UserBlackBox input (to be put inside the UBB description block) #define BBTK_INPUT(CLASS,NAME,DESCR,TYPE) \ AddInputDescriptor(new bbtk::UserBlackBoxInputDescriptor \ - (#NAME,DESCR, \ + (typeid(CLASS ## Descriptor), \ + #NAME,DESCR, \ new bbtk::UserBlackBoxTGetFunctor \ (&CLASS::bbGetInput##NAME), \ new bbtk::UserBlackBoxTSetFunctor \ @@ -282,7 +283,7 @@ /// Describes a UserBlackBox output (to be put inside the UBB description block) #define BBTK_OUTPUT(CLASS,NAME,DESCR,TYPE) \ AddOutputDescriptor(new bbtk::UserBlackBoxOutputDescriptor \ - (#NAME,DESCR, \ + (typeid(CLASS ## Descriptor),#NAME,DESCR, \ new bbtk::UserBlackBoxTGetFunctor \ (&CLASS::bbGetOutput##NAME), \ new bbtk::UserBlackBoxTSetFunctor \ @@ -293,7 +294,7 @@ /// Describes a UserBlackBox input (to be put inside the UBB description block) #define BBTK_INPUT_NOCOPY(CLASS,NAME,DESCR,TYPE) \ AddInputDescriptor(new bbtk::UserBlackBoxInputDescriptor \ - (#NAME,DESCR, \ + (typeid(CLASS ## Descriptor),#NAME,DESCR, \ new bbtk::UserBlackBoxTGetFunctor \ (&CLASS::bbGetInput##NAME), \ new bbtk::UserBlackBoxTSetFunctor \ @@ -305,7 +306,7 @@ /// Describes a UserBlackBox output (to be put inside the UBB description block) #define BBTK_OUTPUT_NOCOPY(CLASS,NAME,DESCR,TYPE) \ AddOutputDescriptor(new bbtk::UserBlackBoxOutputDescriptor \ - (#NAME,DESCR, \ + (typeid(CLASS ## Descriptor),#NAME,DESCR, \ new bbtk::UserBlackBoxTGetFunctor \ (&CLASS::bbGetOutput##NAME), \ new bbtk::UserBlackBoxTSetFunctor \ @@ -363,7 +364,7 @@ /// Describes a template UserBlackBox input (to be put inside the template UBB description block) #define BBTK_TEMPLATE_INPUT(CLASS,NAME,DESCR,TYPE) \ AddInputDescriptor(new bbtk::UserBlackBoxInputDescriptor \ - (#NAME,DESCR, \ + (typeid(CLASS ## Descriptor),#NAME,DESCR, \ new bbtk::UserBlackBoxTGetFunctor,TYPE,TYPE > \ (&CLASS::bbGetInput##NAME), \ new bbtk::UserBlackBoxTSetFunctor,TYPE,TYPE > \ @@ -374,7 +375,7 @@ /// Describes a template UserBlackBox output (to be put inside the template UBB description block) #define BBTK_TEMPLATE_OUTPUT(CLASS,NAME,DESCR,TYPE) \ AddOutputDescriptor(new bbtk::UserBlackBoxOutputDescriptor \ - (#NAME,DESCR, \ + (typeid(CLASS ## Descriptor),#NAME,DESCR, \ new bbtk::UserBlackBoxTGetFunctor,TYPE,TYPE > \ (&CLASS::bbGetOutput##NAME), \ new bbtk::UserBlackBoxTSetFunctor,TYPE,TYPE > \ @@ -482,7 +483,7 @@ /// Describes a 2 template params UserBlackBox input (to be put inside the UBB description block) #define BBTK_TEMPLATE2_INPUT(CLASS,NAME,DESCR,TYPE) \ AddInputDescriptor(new bbtk::UserBlackBoxInputDescriptor \ - (#NAME,DESCR, \ + (typeid(CLASS ## Descriptor),#NAME,DESCR, \ new bbtk::UserBlackBoxTGetFunctor,TYPE,TYPE > \ (&CLASS::bbGetInput##NAME), \ new bbtk::UserBlackBoxTSetFunctor,TYPE,TYPE > \ @@ -493,7 +494,7 @@ /// Describes a 2 template params UserBlackBox output (to be put inside the UBB description block) #define BBTK_TEMPLATE2_OUTPUT(CLASS,NAME,DESCR,TYPE) \ AddOutputDescriptor(new bbtk::UserBlackBoxOutputDescriptor \ - (#NAME,DESCR, \ + (typeid(CLASS ## Descriptor),#NAME,DESCR, \ new bbtk::UserBlackBoxTGetFunctor,TYPE,TYPE > \ (&CLASS::bbGetOutput##NAME), \ new bbtk::UserBlackBoxTSetFunctor,TYPE,TYPE > \ diff --git a/kernel/src/bbtkUserBlackBoxOutputDescriptor.cxx b/kernel/src/bbtkUserBlackBoxOutputDescriptor.cxx index df4d588..484cd1e 100644 --- a/kernel/src/bbtkUserBlackBoxOutputDescriptor.cxx +++ b/kernel/src/bbtkUserBlackBoxOutputDescriptor.cxx @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkUserBlackBoxOutputDescriptor.cxx,v $ Language: C++ - Date: $Date: 2008/02/05 13:23:46 $ - Version: $Revision: 1.2 $ + Date: $Date: 2008/02/06 14:14:22 $ + 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 @@ -27,13 +27,16 @@ namespace bbtk { - UserBlackBoxOutputDescriptor::UserBlackBoxOutputDescriptor( const std::string& name, - const std::string& description, - UserBlackBoxGetFunctor* getfunctor, - UserBlackBoxSetFunctor* setfunctor, - bool copy_construct ) + UserBlackBoxOutputDescriptor:: + UserBlackBoxOutputDescriptor( TypeInfo creator_type_info, + const std::string& name, + const std::string& description, + UserBlackBoxGetFunctor* getfunctor, + UserBlackBoxSetFunctor* setfunctor, + bool copy_construct ) : - BlackBoxOutputDescriptor(name,description,copy_construct), + BlackBoxOutputDescriptor(creator_type_info, + name,description,copy_construct), mGetFunctor(getfunctor), mSetFunctor(setfunctor) { diff --git a/kernel/src/bbtkUserBlackBoxOutputDescriptor.h b/kernel/src/bbtkUserBlackBoxOutputDescriptor.h index 794587c..5dae521 100644 --- a/kernel/src/bbtkUserBlackBoxOutputDescriptor.h +++ b/kernel/src/bbtkUserBlackBoxOutputDescriptor.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkUserBlackBoxOutputDescriptor.h,v $ Language: C++ - Date: $Date: 2008/01/22 15:02:00 $ - Version: $Revision: 1.1 $ + Date: $Date: 2008/02/06 14:14:22 $ + 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 @@ -36,11 +36,13 @@ namespace bbtk { - class BBTK_EXPORT UserBlackBoxOutputDescriptor : public bbtk::BlackBoxOutputDescriptor + class BBTK_EXPORT UserBlackBoxOutputDescriptor : + public bbtk::BlackBoxOutputDescriptor { public: - UserBlackBoxOutputDescriptor( const std::string& name, + UserBlackBoxOutputDescriptor( TypeInfo creator_type_info, + const std::string& name, const std::string& description, UserBlackBoxGetFunctor* getfunctor, UserBlackBoxSetFunctor* setfunctor, @@ -62,7 +64,8 @@ namespace bbtk private: /// Default ctor is private - UserBlackBoxOutputDescriptor() : BlackBoxOutputDescriptor("","") {} + UserBlackBoxOutputDescriptor() : + BlackBoxOutputDescriptor(typeid(void),"","") {} /// The functor on the Get method UserBlackBoxGetFunctor* mGetFunctor; /// The functor on the Set method diff --git a/kernel/src/bbtkWxBlackBox.h b/kernel/src/bbtkWxBlackBox.h index fcd35be..8159ba8 100644 --- a/kernel/src/bbtkWxBlackBox.h +++ b/kernel/src/bbtkWxBlackBox.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkWxBlackBox.h,v $ Language: C++ - Date: $Date: 2008/01/28 14:32:54 $ - Version: $Revision: 1.3 $ + Date: $Date: 2008/02/06 14:14:22 $ + Version: $Revision: 1.4 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -189,19 +189,19 @@ namespace bbtk // UserBlackBox description BBTK_BEGIN_DESCRIBE_BLACK_BOX(WxBlackBox,bbtk::UserBlackBox); BBTK_NAME("WxBlackBox"); - // BBTK_INPUT_NOCOPY(WxBlackBox,WinParent,"Parent widget box", - // WxParentToChildData*); + BBTK_DESCRIPTION("Widget box. The inputs marked with (*) are only used if the widget is not inserted in another widget.\n"); + BBTK_CATEGORY("widget"); BBTK_INPUT(WxBlackBox,WinTitle, - "Title of the window (only used if the box is the top window of a Parent-Child hierarchy)", + "Title of the window (*)", std::string); BBTK_INPUT(WxBlackBox,WinWidth, - "Width of the window (only used if the box is the top window of a Parent-Child hierarchy)",int); + "Width of the window (*)",int); BBTK_INPUT(WxBlackBox,WinHeight, - "Height of the window (only used if the box is the top window of a Parent-Child hierarchy)",int); + "Height of the window (*)",int); BBTK_INPUT(WxBlackBox,WinDialog, - "Set to 'true' to have a dialog window, i.e. which is modal (steals the focus until closed) (only used if the box is the top window of a Parent-Child hierarchy)",bool); + "Set to 'true' to create a dialog window, i.e. which blocks the pipeline until it is closed (modal) (*)",bool); BBTK_INPUT(WxBlackBox,WinHide, - "Any signal received hides the window (only active if the box is the top window of a Parent-Child hierarchy)",Void); + "Any signal received hides the window (*)",Void); BBTK_OUTPUT(WxBlackBox,Widget,"Output widget",wxWindow*); BBTK_END_DESCRIBE_BLACK_BOX(WxBlackBox); //================================================================= diff --git a/kernel/src/bbtkWxBrowser.cxx b/kernel/src/bbtkWxBrowser.cxx index f0df6cf..3776e1f 100644 --- a/kernel/src/bbtkWxBrowser.cxx +++ b/kernel/src/bbtkWxBrowser.cxx @@ -31,6 +31,7 @@ namespace bbtk bwd_id, fwd_id, home_id, + reload_id, index_id, url_id, html_id @@ -41,6 +42,7 @@ namespace bbtk EVT_BUTTON(bwd_id, WxBrowser::OnBackButton ) EVT_BUTTON(fwd_id, WxBrowser::OnForwardButton ) EVT_BUTTON(home_id, WxBrowser::OnHomeButton ) + EVT_BUTTON(reload_id, WxBrowser::OnReloadButton ) EVT_BUTTON(index_id, WxBrowser::OnMakeIndexButton ) EVT_TEXT_ENTER(url_id, WxBrowser::OnURLEnter ) EVT_HTML_LINK_CLICKED(html_id, WxBrowser::OnLinkClicked) @@ -79,6 +81,11 @@ namespace bbtk bsizer->Add ( mwxHomeButton, 0, wxALIGN_CENTRE | wxLEFT | wxTOP | wxBOTTOM , 10 ); + mwxReloadButton = new wxButton( panel, reload_id,_T("."),wxDefaultPosition, + wxDefaultSize,wxBU_EXACTFIT); + bsizer->Add ( mwxReloadButton, 0, wxALIGN_CENTRE | + wxTOP | wxBOTTOM , 10 ); + mwxMakeIndexButton = new wxButton( panel, index_id, _T("*"),wxDefaultPosition, wxDefaultSize,wxBU_EXACTFIT); @@ -121,6 +128,8 @@ namespace bbtk panel -> SetAutoLayout(true); panel -> Layout(); + GoHome(); + /* Connect( mwxBackButton->GetId(), wxEVT_COMMAND_BUTTON_CLICKED , @@ -181,7 +190,7 @@ namespace bbtk //======================================================================== //======================================================================== - void WxBrowser::OnHomeButton(wxCommandEvent& ) + void WxBrowser::GoHome() { std::string url = ConfigurationFile::GetInstance().Get_url(); url += "/bbtkWebSite/menu.html"; @@ -189,6 +198,21 @@ namespace bbtk } //======================================================================== + //======================================================================== + void WxBrowser::OnHomeButton(wxCommandEvent& ) + { + GoHome(); + } + //======================================================================== + + //======================================================================== + void WxBrowser::OnReloadButton(wxCommandEvent& ) + { + std::string s = wx2std(mwxHtmlWindow->GetOpenedPage()); + GoTo(s); + } + //======================================================================== + //======================================================================== void WxBrowser::OnMakeIndexButton(wxCommandEvent& ) { diff --git a/kernel/src/bbtkWxBrowser.h b/kernel/src/bbtkWxBrowser.h index 2554a17..131b77e 100644 --- a/kernel/src/bbtkWxBrowser.h +++ b/kernel/src/bbtkWxBrowser.h @@ -41,10 +41,12 @@ namespace bbtk WxBrowser ( wxWindow *parent, wxSize size ); bool GoTo(std::string&); + void GoHome(); void OnBackButton(wxCommandEvent& ); void OnForwardButton(wxCommandEvent& ); void OnHomeButton(wxCommandEvent& ); + void OnReloadButton(wxCommandEvent& ); void OnMakeIndexButton(wxCommandEvent& ); void OnLinkClicked(wxHtmlLinkEvent& ); void OnURLEnter( wxCommandEvent&); @@ -59,6 +61,7 @@ namespace bbtk wxButton* mwxBackButton; wxButton* mwxForwardButton; wxButton* mwxHomeButton; + wxButton* mwxReloadButton; wxButton* mwxMakeIndexButton; // any class wishing to process wxWidgets events must use this macro diff --git a/packages/itk/doc/bbdoc/header.html.in b/packages/itk/doc/bbdoc/header.html.in index b0e7b0a..28c72c2 100644 --- a/packages/itk/doc/bbdoc/header.html.in +++ b/packages/itk/doc/bbdoc/header.html.in @@ -4,5 +4,9 @@

Version @BBTK_PACKAGE_MAJOR_VERSION@.@BBTK_PACKAGE_MINOR_VERSION@.@BBTK_PACKAGE_BUILD_VERSION@ - by @BBTK_PACKAGE_AUTHOR@ +

@BBTK_PACKAGE_DESCRIPTION@ + +

+ Doxygen documentation of the source code diff --git a/packages/std/doc/bbdoc/header.html.in b/packages/std/doc/bbdoc/header.html.in index b0e7b0a..28c72c2 100644 --- a/packages/std/doc/bbdoc/header.html.in +++ b/packages/std/doc/bbdoc/header.html.in @@ -4,5 +4,9 @@

Version @BBTK_PACKAGE_MAJOR_VERSION@.@BBTK_PACKAGE_MINOR_VERSION@.@BBTK_PACKAGE_BUILD_VERSION@ - by @BBTK_PACKAGE_AUTHOR@ +

@BBTK_PACKAGE_DESCRIPTION@ + +

+ Doxygen documentation of the source code diff --git a/packages/std/src/bbstdMagicBox.h b/packages/std/src/bbstdMagicBox.h index c4226c9..3b084b3 100644 --- a/packages/std/src/bbstdMagicBox.h +++ b/packages/std/src/bbstdMagicBox.h @@ -67,16 +67,20 @@ namespace bbstd BBTK_AUTHOR("laurent.guigues@creatis.insa-lyon.fr"); BBTK_CATEGORY("adaptor"); BBTK_DESCRIPTION("MagicBox"); - AddInputDescriptor(new bbtk::UserBlackBoxInputDescriptor - ("In","Input data", - new bbtk::UserBlackBoxTGetFunctor - (&MagicBox::bbGetInputIn), - new MagicBoxSetFunctor (&MagicBox::bbSetInputIn) ) ); - AddOutputDescriptor(new bbtk::UserBlackBoxOutputDescriptor - ("Out","Output data", - new bbtk::UserBlackBoxTGetFunctor - (&MagicBox::bbGetOutputOut), - new MagicBoxSetFunctor (&MagicBox::bbSetOutputOut) ) ); + AddInputDescriptor + (new bbtk::UserBlackBoxInputDescriptor + (typeid(MagicBoxDescriptor), + "In","Input data", + new bbtk::UserBlackBoxTGetFunctor + (&MagicBox::bbGetInputIn), + new MagicBoxSetFunctor (&MagicBox::bbSetInputIn) ) ); + AddOutputDescriptor + (new bbtk::UserBlackBoxOutputDescriptor + (typeid(MagicBoxDescriptor), + "Out","Output data", + new bbtk::UserBlackBoxTGetFunctor + (&MagicBox::bbGetOutputOut), + new MagicBoxSetFunctor (&MagicBox::bbSetOutputOut) ) ); BBTK_END_DESCRIBE_BLACK_BOX(MagicBox); } // namespace bbstd diff --git a/packages/void-bbtk-package.tgz b/packages/void-bbtk-package.tgz index 098e1cf51fb7e73e6e674755fcfeb6b5cbf810b2..204999418092f313ef2227ed921f7080dc1ac50c 100644 GIT binary patch delta 11757 zcmVT*O>|ABzY8+o7pP00ZniX>Z#`+WE|1F?9;m?mDvN^F@#prX|{8BTHT# zId-!UC~0JIBatc(A6@jnzt1tlL!@k{k=+FKAc!S$_{?)(Gt{N;j<%jX?AV5Jc(@OL zcXsy=5BU4R9{pA0S#|qxe|vv_|8TeZY`a=L+^;?p`wxtN7mYZKoIr?Y7qNR0%W&zu zyY7Fd;}YdR7=#b0179ZpU6B9I{?3#9A7v!+ubnxcWy1}luo7KID_sKxd_eMEB7e{g zE&qeVZIJ)|&cW_8vAt3(mW;o-{0+NVYxL^Y`j7uRKJLEl*UrqhR=;ky|JcIsHQyTp z-GMxJhM%2(3)u%%sSIbJDjSAj{ME=mjjtYw{X6sd)P0yJa8LigcX$A|58--s_h4`P z$^SpbNaR28ujK<}0e?pR`@2u_e~dx$PrN+4_EoQONBplI9;W%<{`L;YfA0X)_!^^3BG#bN{WediPy#0^+sadf&b!AZZIUnK3Q+Jx`H#8R@>^Io3*#*skLDU@%+WA z1_Bc&xV~DRa6O&^9pc!(7G1`grgfwf3@3yUd_S?9b&bPS;r}GDW8`0I#&P0ZdiZt-Hz4eClu^{!#?f^x+R2qBzx6`U;X0vA188#$=c-v~$3;3;&w+w!X6j!R9tAz$qWc5w-d8oXo6S=-8$dih2 z7`XFDj01nhA|JWI7pB}g-Civ(wEeUHf4JIz56A8Pzq(W1+g0&@Z*Q04|K9%2&XfOt zjIm;y0LRp|o2MOd(rOEnOj;;w{^}2n3 zp7Tw!(moM(SJ)kpf2V6U>t+L(A?X&OkQlgfhm`#P=WG+jUTXY&Ch6tXVaqwV|3lu#z@h_~C~iM6)H3{iZM* zjn;dsju(s8#gB-!^T5A!A(}gJH1UJ=a6`x!Gsm3@XB5aVl%ZI^a^Y4SiKC6R?}Q(9 zt5a*+=UuziEK;7inUa6w$3c?Oj3nnTkk5QC6u-0D9VDpPJ3F@8qDb|b`D?3x-PhBq zCI0rzZf0g|m&`cs*^PR3#y8Cxj9DCJIy!_UAz4@uSAb7TyfQ{Ih-zp-qB6X`*3XB* zFb#j=WsyVb!9G0LuYLHS+)brY5nyW#yVE5w7%@B9b(Hfc&C#^=^LZ<`cJ5Yt|+4RqBVe?}KRoHbUW3jpVCeIRsiQ3krt zngI0t{WO8y|BJeH0`jekLshh_8}NjNk~EfY*AVr8IBCf7ai^~^ zxm{26npr(5W;_YFf|?+j1z;KN(3jS@GY-`|DhfQM6eWAPL}4HSxl?Bd1=1OqZan|~ zRK`3%Z`d^xQ-}x99NLolGR+}`R;M`x?$2uu@2N#HjJkQ<$=~=JXpfeY7N%`=)~OYm za+WGT&AQAyLG!E+HS3&zdxSqhW!YqZo|z89cw=_Odjtit{eQ?^zqRv!dpl2m`~QzI68Zmy=l^!$ zTC)F-dQ#ort?oVT|2)Q6-A?X{7ny*F)$sED&@Vl72+)$)xk`MWLKEBn$p7a2|IX9- zzegE~{0D;v(}MfTzq-G-iyQyj)!qGrr}KZ0G8W|jAX&g&@xQuVP36CT2=YJJ-FZ6y z|0v@NBQfYmpEM>eF{qOAVY#&zl z$o|14JlX#v4CB?L`b+Lu?yJEsM}-q1N3XU9zr5OlxrXs-{)_QW1|eqkg~_??^`pws z@}2d?o4HMOT2H(X#^9#71|Qj=DU8k0vU3ebd|$kB#3Yb^w6JQzfOnMPjGOxCrUxd%+oI^hjhS>fa$?wz=Ciedq*8h9knfm{r zO7H(c8t`QQk1!tiOf+cL3i|+=yyK}wy_%8OzxIg_u*MhEe+TFbwyS&9!>9W1QAR=j z81v2?*E`35R}UZ(tRM}%Z~qtNU){$3?;*Yh{^b83VQl^Uvmt&KpJpKPIeP3|E?ANv z8OA3}j(l%=BPhGlsi5(f=Yn^of}f-}(zqKy_153m@9R-&|6_N$D%;0#tNnw)@9pm` zy#ISx-G8e89%VciTHvBu*{M|b3_R&IaYI4Z_yqWWK!#lI$S88XixA((97ucmIHBZHB zap_EHV=4Yke>U-m*neQc3E(ot(nq*}HZ10N!kLCdq%)s`+mQI)Cy<^8_m3s;-r+Z7 z8K3}&N8npU2tF0Ag%dxXju7yC3K#HGbR~g9zr}upFBz40CWUN7q%yQJ z(ivLy9UVS3nXO*;yw~lg=P8v~G?C$44mC^H133k(E+t~+3_^bzM{9g`K>`$BS9_K#2UG@JIILd5 z1*UQwiGRV=@jlaoL(nF46(ctQ!TG^WvIMiSz?6c@@Qg(+Hq7Q}50AOt!bCvgBBs~i z0nLd!oPblA3i66sE~VT9W!Gc@$g9AOB5;>Nx1k7ge*GM7qpo=D=MW04tpU+8=rAJ( zDEH$C_>VX!TbY9@Yt)q5qN5)>@ifZd9107J)qf2qo5F`D12D|_+($kqlfa|{`4T}K z2hQ*A)OEZ~QJc7)48a-J0v}MLOTWt@fT=qkfvd+6em!wL{(b@y!VBc6fF5|_G?4Q1 zrg#&37fwJh?8ssGzdCb=7kCQ}AFnk1;7VT5&2yhI#y5fh*BC=K%xwDrl_s>~Fr*Ki zsegazeCEHvH~26o^eCuwuH*r|8y6fxOBqr_%{Hln(secSf!LoFnx9xXk*CHVLTBmDv?HZCxs*oYr z$g(5ni}7ZWYZ`iybI7H+B1a?aqa$J3&>`p)ApJdwVop*q7MHpMqm;H1gcKKZ_z+9K z938dJUFbAgHM7yLHOx*2a42F$+`t5ag&f4gC?tmsmJJ3uA{RP^q78EqZd)V5;eS2R zRqk6Y*lYi3%UR;_<#VQ?!UcQfx4C-mkf zJ6A{@5|haaD05Yzy{WK-5a&5F$r)Oa()B3ykC=skM=4m&BJ%*oB{(iW2IvsUFI{;B z%MHK}7i>3#xP*U!z9bT)*#zfkn12f6lX5)9^aET#*1RZ&qU8gROPI%6)ohisc&SF+ zm&IBKC_O`gdl-{Y(=b5-tTa#9UMDV)2>H;>{TR&;En~ChF+fV#T={CoC7M}e+;Q8s zP84UUyHH|@c`|ZLq?pYe@mGRQ8`lN`|-e z!$`*SJXh1yFJ+E)EIMn5C~rp7K-cXk`Y1xATr|p%E82nG#22{wcJqzZw!1J5*;(d8 za(NFFZ&&0)Tn}(@BQEhuf_hm9;yqWasA&q=HPPf}y)hDqz91O6o_`bE)X)90$qzV{U&XR)gPkN0;AK&Yu z8ni5ulYmQYhAcj2KSI@$vI!1j7{fH@$S=WX_44-p=w{Kq<z!AVhZ#ngid1BoUcI zL8v$Bk(P?+;Iui`;9NVA5sZ9Kq8i~Jy`@hDoGU4bqGlHqSi_0p0alkUu&_^7P};$Z z*b((Prc?ilk;7^&SMVmf?F1L3+a#rmu}EveJzaO&&92pMLVw-_?u@wxh7Q#d7F$R{ z-c|@JYJiF8W{yoW)l>WAVzup2FK9L+DN=IX59F2JX7(G)e0~ zo{ka=s+k=N+;X#Hm6{Nn@`48;ZBK#(BCCy=6cY6{0K*DV!=s3tWty5H6Cuhi%%I>z zT~Yw2R9@v?+z$ayg^GFO$NVFH+IRZ8I=CX|%}B60x_^+SaTmVLg|GrnOI6zMZ9+*O}!#xN8g|j9$mUa@O;mMs`MwbuDkohxwJ>N@;4USQvE8<9^5f zmsPfJ87d#gdz84Y+J<&n*$0(uCn4rG9&nI%wE+MWp14hoQ$tja^l{31)0Edp(8!P1 z;{PSP()rk7>b~h7$J>ocr1n6%dbDp!5en4h_vWJ`0|strb|93kf;`lNFOnGqNcbC z)}K-^bTZ;7{k~C(^QOuZbsPv}h@OTFd$ASbTm;U1!YMcApM-Y~PbTjppoct0Qmt_K;fZ3cU&nZFg-T;a?E2FoqWzEffNs zYj+mUGD=6Z>rRmC0nUIiGmTt5Zc`9Nz7`9gXX4bEQV5Dzxp-QlrGF}MP%F5_m(a3HmeUQv5VW#1ooETta9d&kR5ihs|<+pq3 zj$+~kGk^;`X2H_BPHTfY`7+gKufRs2fXpoth);-X_FC$0%5#W7UO2&sYHmWC^96KQ z6{B1QKu31B4ZUrGM}I)hp~iv<>S##+q}A@%vK=SgvCzkbvO=n2()mq!xDEDw*mk>b=6zvR++53HK;_>d9_Hvp27j0{X`0C!t}F%^<0`Ejnrvbl<$ z?a%Nu3LZj;h83fn1=;RgT50w=V0LMlSyH>oq>SVeGHtP;^M7Vg13!wOQc!diQa9aP z%ItoZ^#=eREk#rz0BZc?YggJu(5@(vL`mFQq;4T@t@2de^YWv6+*@W$ubjZ+ns9`Q zcY&KyKw=o;L7fLV=ZIxybQ5*n@-j+WetD=FiNEIitav+YeDU4hS^xkYY>F4S1fwbml5qSVsc4q5Kk;nbY4E_mjOYnz> zaZ2Al;XTbBHi)hI-33pg!ipmDJm@>hPD&7x3wz|ny%{_nJOz{O6&FIg-D-aYO)>~D z$UYujDbnTYhOY6X5R3o4#c>C@3=v{82oV?6G-+N*{^U2aOTdkLb=e#gCW_ zY?Au@NRvhuGY*XqeMxw}WE|IW%xknxlZO^30V9*I78-w>5c6-7Ng7c>1Y2m3>iDg@ zcq~4X{G~f;YKI!jk(qO&PG4tstf)h}HskkHhV%JaQmUq_@SLqU4Cv?0W;ZGsTf+`I z)#Fj+hG~+1K-Agj+D9rNf`h zJ~z9#3z~l3L$p#rWya1Yq5CnRK&)j0mthT1(wcuerWyFMz+(JGQgjfhh$mPLtiBEZ z;U70Q42t^myYJMW|A?+4^;eR>ANbn@f1BWMlX(iz!hiS&-f%%HQU62tOyHhulGa=# zS^Gk-ppO?fH$u3l-Mx3G1DK&(WdI0ziszT=IDmeJtjAq>VXn|*nl zf`8_1c9lrb24H?WJIm5!4EpgBN^a}#=E;8zJxBTJX&fnXiko;#~f$}L_%i112pp0kqj869OPtY86HFR_BQ1t9=3 z47bi1GaZ8x(Tugouy^Ioh>9w9Rho{?`*R3W~J$1BW4G_Dc_ zK(>hIjb_scy#JM+{9FC6_!(r8zqPo@O#hNn!C`4^EuMTW`%Ur~#-k~Cj%%%05i*2` z2Rrx|SR?o*teC(xQC|kxKo7CWDxg)!F#4^WL03@;(sEr2fS{33V2#4E@IHU*V@;Q55#s)$-b3imbNop(Y{n-?(s6li165wtGOtT9P;@NOeIs)F3RL0 z2svrUijFhuni9~nY;wzyXQ_Yo&rP*LEJ~DmmjZEE?^7kPbkD+1-P10dZ#&xkIHJ=u zj*srFx~TD4#9AC#{;FRG8;eZFbv_NtqCNVJnJ}1SF<^{KI>Sd)F24H@;kR{mCk??mUYgx_x1?S$5zbNTZ=c_VkCI1fU*f)@X!oE zWvU5HBsgs_!3Hrf=i9D9ai0veA$K1P5BqHFJQPFgx)l7@r#653=@f+psa5NO{~C_w zz^^#5S~Xt4%wE9vC;{#e*xl0>TwAs@1;KK{czA&F_2(#4lEU|S{tiQxzIDw$E~AkG zIBbup*$WFtaI8DtIOxDgpFSdMli0Je{tM^};37>3ZGjFnnLETB&b(?&O48 zwHFtQRy)cUOMPPe@l8d0ir5k)9) zf#g~iSTtl8a!}Gds-LZtZCbdBpQ0`SFhjPCBZv>W{ga@vHqixWqz!2awVkqY#sL^> zBcVf;++BYt7S6IXH>LgR4TlN%T$$Q2X5VxH6Ob;Ic3!yCT+k+@9%JiXlyQyr_+r-7 zEflfOG*y+BdeNbP^G2v~ZrnTQQR1Af&?PJuYNgd9oNH5nCKeK%aR;W}R7{klu&op? zd^L-55EZa=#=_BY(^?!rWApasEpE4W)H(e)8XkY|m6s+714W0_Xk1Wv-xP1bm~(i2 zC{k%aLf{!JvE@bT)wOFDB=x|;Kx_@63gN>EoQsISG9B9Cf()n`w9zu+F=s%RT!n5L z0@%FLFp1OwRfcpID9NWsFrfn@7}_-poGOU-djlxQtabtXdK{<*Rf-hJ0H`S9-qZzv z=*xf9p|);Ht!d=0495=d^iu87Vs zx#|q}2h89()pqKJgtd&`J$iRI`lZu6ijWoZ6L=huLpxK~bxI6c?T=V*@D=XadB-b+T^Gu*cT# z@RPJ6n)lM)YI<803}@=zTX`BdhxMq~4S%FL_${?E0R&YgEC=|y40t+emq&*Jhq6S^&iGaxULN4*eC{x!Ng#p%juo_Z6F4uu*ZFpN3rR9jvb3(}0*;mmKoO2|n72s7$3mb@ct_6T7D z?F``!4=oig(7Qo*r0%Q`V1F%mBaxFMHLV2zZ=|?vysc!B!cj7m+#Zx?Y_KzOu6~1* zbCH~bEA`J+lqSV3?5uChI`CFHc0@M2o#EcW;qiW;+Qb{m0p1XnJp6hF1Ab=NgzPFQ z3}A(BRz=k06u>#NWSH8r`ehtrJRk+TO zrb3L0p1Dv~*bWAIfl*Q-BXYwH-r1@v z`GPpJfwD$Y7C0nHmv)PKEg}ZY5pJN&z*0A%%0;xw{yr(hC=0^P2O%uu4$B*;pm$7k@>apkUZU zCs@mJ1*v-8Ub>qA_S)%8zE|X^GVydm&9&tWZW;m!7i#7!CCQ*@H2yZ%BUIZjnl<

=VhSU_4=jx?)Sp#7rOfJhqcj@PCXuK@97*ZoPIYDS3(c5m<2} zCtoIaUa0e0D6zPfu=FfVum<~v>&j=E(8Ov6g(ZISimR2N0+jm#$Jr7}`K&0tg?^a6 zXYl7y!q>7}KYY0|lMlfvlS;v%untd9_ah}A7ZBHFI@XbQGo%#TA}D%+zGLc7-Lyj6 za>fJ)i+>TQ0zimwlnIjHGbvA(mFW=DtFIoLWvEDM&f>nxe#)q(&Z@}X!ZbKb%YLDa zg+Xgj-LfB?QMYb`LqKEb9XgYt=RBXb=W)^0hY#FA2o+RND~(q42w^=H)OIQep+p5X zCLV|i_BP>ai2W=xW##6II_mX@q5v8?12uCer+>$L-NB%D^!Af2g&35v9P6_8*a4j? zqm>p1I$xQYCo*G%w?+D3D0oo|f>qA@9Cr3jk13Bk2-h1spemBUG1@R$BN{JJ>*@)! z1}LOIZ?c?=06JR29sUE9m89OWLh%v;A5a*3h#y1e2C0|05s;*%TKD`pCtBmS6rU9i=w_E&><~4|NyCPwLcN3)Z*J634!U(veWR zqvd&;+{Q}^CNOcM5fcrY=c24&WWFF^6QwoLTa${F83CL7WY$!rO zb{41Ewdon5mM^Lu*|7$oB6YWGJ}~}v41fJ^Y*-^(>ZG!qXo12TZwgMR-Od80k#)Ko zu_#r1vHG<+w_S6OVfi&*ITics`uQnrlewT3eW0V(xlV`{tW(>T9IGB~0ik6da+mpGcG; z(cd+=&%u$sV}_GRt>`mxWOpr;h=02m)PPR%5MJ?)S;`|T&PrXwk!b}D?vKoftkOrd z^z6V{85W+MG}Yi|80!D-2uIG15ThH8d9CeOu@;9&dD`DByCRD~I&!G&hKWr}sVD`; zK*tWzJ*UAg97K!f6KP(^<5@D!Qn397P>rG+efW(y;^B6|qj0361B~mlOn(WA<>N() z2aaVEo;V|M%c;n)MYMzr2cBP6@Crbrhj8>zjYE!c`1-Z-fJ^2fgc0yS0xLuJ02U%p z^04#PG+k~W*VJun!RaS`HyK|2o;m}~c^%GZ1v&}BlAZI?1FQMgtYVf;R-|-G>u8yU$eEU$won4XelO`( zS%wc_$Y6q~Ihi3w>cV&A+)s)S%4mLltV+C0>oirIR=`8mu|F6B<9`%B!l|U{k-t;i zAD;TQsnnDHrboayvF9wAKY=^Hj&nH43arPI&V)qhj*)l>JWiYHP$mu zk_bD)p_~p1c3YSkf{nx6G>xq`tON%LL3bO~ljJKr;e&qLc6xcOv5hO7338#o1$NCe z6gM(yYkcuIo|yS!2Y;Pky2|_*%1!74n6pFpe5$EpowI0sDaYzy-h@Wsb66J(Ia7*4 zftFDl*Mc*K$2jTq7LrQb0te@tK+X>b;VSv$;XmZofi)l{P#R#XjkzcdrQ>5g9TFnA z_1TS;5lT_%MO_n3w15=mf_x(yoNqw z*-<(dsmpxjd`BgVh)~NXOG2K#j2#b&<#`omTXB>?mMR9!Sn!h=uui2>kDz$r{nw|m z7x4`3+Fbmu#FUSN8P+{K>0=QGx4f5ojXoc+3r-gMPk*d(O4JLiiTIsMsHuXKpmzud zdA4A5^Z9ztX_q$WrLa~YP}uS#LMwn6ti&%);gxf zE7GwCBangZEUB7rKMg@R;lV6D!_@U)->%#iW&=IRcw>bV4? zU>zRkbpY6KADY!`x}(vYH+2HqRx#Zg6m9i`e1B9A%n_#GqZEN*&yZ648X(_F_@fnw zqFdhl(b^FV2k!SyH+GKKg>WZ&s^6!~#9{^it9lw4$xOv^;Pc&YDpvS_%R=(w?vyoD zB}WR#$&u6*quv#0jA0c~CbiyFONBGAlVJ!d=mcz(GVwShM9I@YhVs$L-hXG=4I5t=!-pjrjxDSW63@hI?-zJK)t{`?Amrc242 zN6((V`u^GXFJHWR@#4|bXFt4p{_;`%>AigYj%x)Ozk2=A`AYFboLAm=*YE#LFSh0z zfBN6u-Qmxpy~EDWXx9AS6Zly~MH75Nt#BhnDI+=VVhnZR&HqTQ*puKbAriH{w%7Lh P_r3lfr#KX20Pp|+Vbh~h delta 11774 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 diff --git a/packages/wx/doc/bbdoc/header.html.in b/packages/wx/doc/bbdoc/header.html.in index b0e7b0a..28c72c2 100644 --- a/packages/wx/doc/bbdoc/header.html.in +++ b/packages/wx/doc/bbdoc/header.html.in @@ -4,5 +4,9 @@

Version @BBTK_PACKAGE_MAJOR_VERSION@.@BBTK_PACKAGE_MINOR_VERSION@.@BBTK_PACKAGE_BUILD_VERSION@ - by @BBTK_PACKAGE_AUTHOR@ +

@BBTK_PACKAGE_DESCRIPTION@ + +

+ Doxygen documentation of the source code diff --git a/packages/wx/src/bbwxNotebook.h b/packages/wx/src/bbwxNotebook.h index c4875ac..bc0ab8a 100644 --- a/packages/wx/src/bbwxNotebook.h +++ b/packages/wx/src/bbwxNotebook.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbwxNotebook.h,v $ Language: C++ - Date: $Date: 2008/02/06 07:30:09 $ - Version: $Revision: 1.2 $ + Date: $Date: 2008/02/06 14:14:24 $ + 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 @@ -80,7 +80,7 @@ namespace bbwx BBTK_NAME("Notebook"); BBTK_AUTHOR("eduardo.davila@creatis.insa-lyon.fr"); BBTK_DESCRIPTION("Notebook widget (wxNotebook)"); - BBTK_CATEGORY("widget"); + // Already inserted for any WxBlackBox BBTK_CATEGORY("widget"); BBTK_INPUT(Notebook,Widget1,"widget 1",wxWindow*); BBTK_INPUT(Notebook,Widget2,"widget 2",wxWindow*); BBTK_INPUT(Notebook,Widget3,"widget 3",wxWindow*); diff --git a/packages/wx/src/bbwxSizer.h b/packages/wx/src/bbwxSizer.h index a2e756d..efb9b0d 100644 --- a/packages/wx/src/bbwxSizer.h +++ b/packages/wx/src/bbwxSizer.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbwxSizer.h,v $ Language: C++ - Date: $Date: 2008/02/06 07:30:09 $ - Version: $Revision: 1.2 $ + Date: $Date: 2008/02/06 14:14:24 $ + 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 @@ -80,7 +80,7 @@ namespace bbwx BBTK_NAME("Sizer"); BBTK_AUTHOR("eduardo.davila@creatis.insa-lyon.fr"); BBTK_DESCRIPTION("Sizer widget (wxSizer)"); - BBTK_CATEGORY("widget"); + // Already inserted for any WxBlackBox BBTK_CATEGORY("widget"); BBTK_INPUT(Sizer,Widget1,"widget 1",wxWindow*); BBTK_INPUT(Sizer,Widget2,"widget 2",wxWindow*); diff --git a/packages/wx/src/bbwxSlider.h b/packages/wx/src/bbwxSlider.h index 3a17e3d..b61f5b9 100644 --- a/packages/wx/src/bbwxSlider.h +++ b/packages/wx/src/bbwxSlider.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbwxSlider.h,v $ Language: C++ - Date: $Date: 2008/02/05 12:16:56 $ - Version: $Revision: 1.5 $ + Date: $Date: 2008/02/06 14:14:24 $ + Version: $Revision: 1.6 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -147,7 +147,7 @@ namespace bbwx BBTK_BEGIN_DESCRIBE_BLACK_BOX(Slider,bbtk::WxBlackBox); BBTK_NAME("Slider"); BBTK_AUTHOR("eduardo.davila@creatis.insa-lyon.fr"); - BBTK_CATEGORY("widget"); + // Already inserted for any WxBlackBox BBTK_CATEGORY("widget"); BBTK_DESCRIPTION("Slider widget (wxSlider)"); BBTK_INPUT(Slider,In,"Initial position of the slider (default 0)",int); BBTK_INPUT(Slider,Min,"Minimum value of the slider (default 0)",int); diff --git a/packages/wx/src/bbwxSplit.h b/packages/wx/src/bbwxSplit.h index d402182..56a87f8 100644 --- a/packages/wx/src/bbwxSplit.h +++ b/packages/wx/src/bbwxSplit.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbwxSplit.h,v $ Language: C++ - Date: $Date: 2008/02/05 12:16:56 $ - Version: $Revision: 1.5 $ + Date: $Date: 2008/02/06 14:14:24 $ + Version: $Revision: 1.6 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -99,7 +99,7 @@ namespace bbwx BBTK_NAME("Split"); BBTK_AUTHOR("laurent.guigues@creatis.insa-lyon.fr"); BBTK_DESCRIPTION("Widget which splits a window in two fixed size parts (wxSplitterWindow)"); - BBTK_CATEGORY("widget"); + // Already inserted for any WxBlackBox BBTK_CATEGORY("widget"); BBTK_INPUT(Split,Widget1,"Upper or left widget",wxWindow*); BBTK_INPUT(Split,Widget2,"Lower or right widget",wxWindow*); BBTK_INPUT(Split,Orientation,"Orientation (default 0), 0=Horizontal , 1=Vertical",int); -- 2.45.1