]> Creatis software - bbtk.git/commitdiff
Fixed Window deletion mechanism
authorguigues <guigues>
Thu, 28 May 2009 08:12:03 +0000 (08:12 +0000)
committerguigues <guigues>
Thu, 28 May 2009 08:12:03 +0000 (08:12 +0000)
48 files changed:
kernel/appli/bbi/bbi.cxx
kernel/cmake/BBTKDefineOptions.cmake
kernel/src/bbtkAtomicBlackBox.cxx
kernel/src/bbtkAtomicBlackBoxDescriptor.cxx
kernel/src/bbtkAtomicBlackBoxInputDescriptor.cxx
kernel/src/bbtkAtomicBlackBoxMacros.h
kernel/src/bbtkAtomicBlackBoxOutputDescriptor.cxx
kernel/src/bbtkBlackBox.cxx
kernel/src/bbtkBlackBox.h
kernel/src/bbtkBlackBoxDescriptor.cxx
kernel/src/bbtkBlackBoxInputConnector.cxx
kernel/src/bbtkBlackBoxOutputConnector.cxx
kernel/src/bbtkBlackBoxOutputConnector.h
kernel/src/bbtkComplexBlackBox.cxx
kernel/src/bbtkComplexBlackBoxDescriptor.cxx
kernel/src/bbtkComplexBlackBoxInputDescriptor.cxx
kernel/src/bbtkComplexBlackBoxOutputDescriptor.cxx
kernel/src/bbtkConnection.cxx
kernel/src/bbtkExecuter.cxx
kernel/src/bbtkFactory.cxx
kernel/src/bbtkInterpreter.cxx
kernel/src/bbtkItkBlackBoxMacros.h
kernel/src/bbtkMessageManager.cxx
kernel/src/bbtkMessageManager.h
kernel/src/bbtkPackage.cxx
kernel/src/bbtkRTTI.cxx
kernel/src/bbtkTranscriptor.cxx
kernel/src/bbtkVtkBlackBoxMacros.h
kernel/src/bbtkWidgetBlackBox.h
kernel/src/bbtkWidgetBlackBox.txx
kernel/src/bbtkWidgetBlackBoxWindow.txx
kernel/src/bbtkWx.cxx
kernel/src/bbtkWx.h
kernel/src/bbtkWxBlackBox.cxx
kernel/src/bbtkWxBlackBox.h
kernel/src/bbtkWxGUIConsole.cxx
kernel/src/bbtkWxGUIConsole.h
kernel/src/bbtkWxGUIScriptingInterface.cxx
kernel/src/bbtkWxGUIScriptingInterface.h
kernel/src/bbtkWxGUITextEditor.cxx
packages/qt/bbs/appli/exampleQLayoutSplit.bbs [new file with mode: 0644]
packages/vtk/src/bbvtkImagePlanes.cxx
packages/wx/src/bbwxLayoutLine.cxx
packages/wx/src/bbwxLayoutSplit.cxx
packages/wx/src/bbwxLayoutTab.cxx
packages/wxvtk/src/bbwxvtkViewer2D.cxx
packages/wxvtk/src/bbwxvtkViewer3D.cxx
packages/wxvtk/src/bbwxvtkViewer3D.h

index 8d0aecd1938d06376290c56d51eb1d6005d07263..76aaef3e6667d6c9ea8ebe984438f24029da464c 100644 (file)
@@ -202,7 +202,7 @@ bool wxBBIApp::OnInit( )
   std::cout << "con="<<console<<std::endl;
   std::cout << "iws="<<bbtk::Wx::IsSomeWindowShown()<<std::endl;
   */
-  if (!(show_on_error || cmd.console || bbtk::Wx::IsSomeWindowShown() ))
+  if (!(show_on_error || cmd.console || bbtk::Wx::IsSomeWindowAlive() ))
     {
       I->Close();
       //      std::cout << "I->Close"<<std::endl;
index ab9ab1ce148149efd4a235b5b74dbaa688aef755..e9c27e4cf3d19921e2f561edb021d353b40641d7 100644 (file)
@@ -68,13 +68,14 @@ ENDIF(BBTK_USE_WXWIDGETS)
 #-----------------------------------------------------------------------------
 
 #-----------------------------------------------------------------------------
-OPTION(BBTK_USE_KWWIDGETS "Build bbtk with KWWidgets ?" OFF)
+# LG 25/05/09 : KW NOT SUPPORTED ANYMORE
+#OPTION(BBTK_USE_KWWIDGETS "Build bbtk with KWWidgets ?" OFF)
 IF (BBTK_USE_KWWIDGETS)
   SET(USE_KWWIDGETS ON CACHE BOOL "Use KWWidgets" FORCE)
 ELSE (BBTK_USE_KWWIDGETS)
   SET(USE_KWWIDGETS OFF CACHE BOOL "Use KWWidgets" FORCE)
 ENDIF (BBTK_USE_KWWIDGETS)
-SWITCH_ON_IF_BUILD_ALL(BBTK_USE_KWWIDGETS)
+#SWITCH_ON_IF_BUILD_ALL(BBTK_USE_KWWIDGETS)
 #-----------------------------------------------------------------------------
 
 #-----------------------------------------------------------------------------
index bf354ab3e909da3bdeb9d43e37a8a52e2b7029d8..49dbcac191bea0843a08671c5a5cd8b25cf4ef4e 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkAtomicBlackBox.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/12/11 09:50:34 $
-  Version:   $Revision: 1.12 $
+  Date:      $Date: 2009/05/28 08:12:05 $
+  Version:   $Revision: 1.13 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -42,11 +42,8 @@ namespace bbtk
   AtomicBlackBox::AtomicBlackBox(const std::string &name, bool alloc)
     : BlackBox(name)
   {
-    bbtkDebugMessage("object",3,
-                    "==> AtomicBlackBox::AtomicBlackBox(\""
-                    <<name<<"\")"<<std::endl);
-    bbtkDebugMessage("object",3,
-                    "<== AtomicBlackBox::AtomicBlackBox(\""
+    bbtkBlackBoxDebugMessage("object",3,
+                    "==> AtomicBlackBox(\""
                     <<name<<"\")"<<std::endl);
   }
   //========================================================================= 
@@ -58,15 +55,10 @@ namespace bbtk
                 bool alloc)
     : BlackBox(from,name)
   {
-    bbtkDebugMessage("object",3,
-                    "==>AtomicBlackBox::AtomicBlackBox("
-                    <<from.bbGetFullName()<<",\""
-                    <<name<<"\")"<<std::endl);
-    bbtkDebugMessage("object",3,
-                    "<==AtomicBlackBox::AtomicBlackBox("
-                    <<from.bbGetFullName()<<",\""
-                    <<name<<"\")"<<std::endl);
-    
+    bbtkBlackBoxDebugMessage("object",3,
+                            "==> AtomicBlackBox("
+                            <<from.bbGetFullName()<<",\""
+                            <<name<<"\")"<<std::endl);
   }
   //=========================================================================
   
@@ -75,9 +67,9 @@ namespace bbtk
   ///  Destructor
   AtomicBlackBox::~AtomicBlackBox()
   {
-    bbtkDebugMessage("object",3,"==> AtomicBlackBox::~AtomicBlackBox()"
+    bbtkBlackBoxDebugMessage("object",3,"==> ~AtomicBlackBox()"
                     <<std::endl);
-    bbtkDebugMessage("object",3,"<== AtomicBlackBox::~AtomicBlackBox()"
+    bbtkBlackBoxDebugMessage("object",3,"<== ~AtomicBlackBox()"
                     <<std::endl);
   } 
   //=========================================================================
@@ -88,15 +80,13 @@ namespace bbtk
   //=========================================================================
   Data AtomicBlackBox::bbGetOutput( const std::string &name )
   {
-    bbtkDebugMessageInc("Data",7,
-            "AtomicBlackBox::bbGetOutput(\""<<name<<"\") ["
-            <<bbGetFullName()<<"]"
-            <<std::endl);
+    bbtkBlackBoxDebugMessage("data",7,
+                            "AtomicBlackBox::bbGetOutput(\""<<name<<"\")"
+                            <<std::endl);
     
     Data p = ((AtomicBlackBoxOutputDescriptor*)bbGetDescriptor()
-                ->GetOutputDescriptor(name))->GetGetFunctor()->Get(this);
+             ->GetOutputDescriptor(name))->GetGetFunctor()->Get(this);
     
-    bbtkDebugDecTab("Data",7);
     return p;
   }
   //=========================================================================
@@ -106,15 +96,13 @@ namespace bbtk
   ///  Gets the input Data of a given name
   Data AtomicBlackBox::bbGetInput( const std::string &name ) 
   {
-    bbtkDebugMessageInc("Data",7,
-            "AtomicBlackBox::bbGetInput(\""<<name<<"\") ["
-            <<bbGetFullName()<<"]"
-            <<std::endl);  
+    bbtkBlackBoxDebugMessage("data",7,
+                            "AtomicBlackBox::bbGetInput(\""<<name<<"\")"
+                            <<std::endl);  
     
     Data p = ((AtomicBlackBoxInputDescriptor*)bbGetDescriptor()
-                ->GetInputDescriptor(name))->GetGetFunctor()->Get(this);
+             ->GetInputDescriptor(name))->GetGetFunctor()->Get(this);
     
-    bbtkDebugDecTab("Data",7);
     return p;
   }
   //=========================================================================
@@ -124,9 +112,8 @@ namespace bbtk
   ///  Sets the data of the output called <name>
   void AtomicBlackBox::bbSetOutput( const std::string &name, Data data)
   {
-    bbtkDebugMessageInc("Data",7,
-            "AtomicBlackBox::bbSetOutput(\""<<name<<"\",data) ["
-            <<bbGetFullName()<<"]"
+    bbtkBlackBoxDebugMessage("data",7,
+            "AtomicBlackBox::bbSetOutput(\""<<name<<"\",data)"
             <<std::endl); 
     
     ((AtomicBlackBoxOutputDescriptor*)bbGetDescriptor()
@@ -143,9 +130,8 @@ namespace bbtk
                                  Data data, 
                                  bool setModified )
   {
-    bbtkDebugMessageInc("data",7,
-            "AtomicBlackBox::bbSetInput(\""<<name<<"\",data) ["
-            <<bbGetFullName()<<"]"
+    bbtkBlackBoxDebugMessage("data",7,
+            "AtomicBlackBox::bbSetInput(\""<<name<<"\",data)"
             <<std::endl);  
     ((AtomicBlackBoxInputDescriptor*)bbGetDescriptor()->GetInputDescriptor(name))->GetSetFunctor()->Set(this,data);
     
@@ -155,7 +141,6 @@ namespace bbtk
                                MODIFIED);
       }
     
-    bbtkDebugDecTab("data",7);
   }
   //=========================================================================
   
@@ -166,10 +151,9 @@ namespace bbtk
                                                   bool setModified
                                                   )
   {
-    bbtkDebugMessageInc("data",7,
+    bbtkBlackBoxDebugMessage("data",7,
             "AtomicBlackBox::bbBruteForceSetInputPointer(\""
-            <<name<<"\",data) ["
-            <<bbGetFullName()<<"]"
+            <<name<<"\",data)"
             <<std::endl);  
     ((AtomicBlackBoxInputDescriptor*)bbGetDescriptor()
         ->GetInputDescriptor(name))->GetSetFunctor()
@@ -181,7 +165,6 @@ namespace bbtk
                                MODIFIED);
       }
     
-    bbtkDebugDecTab("data",7);
   }
   //=========================================================================
  
index 20a0a5cad72245c54faf87686dae905ee81234f9..d1bb205664728413a8194e3bad98981e0ab6acb4 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkAtomicBlackBoxDescriptor.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/10/17 08:18:12 $
-  Version:   $Revision: 1.3 $
+  Date:      $Date: 2009/05/28 08:12:05 $
+  Version:   $Revision: 1.4 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
 #include "bbtkAtomicBlackBoxDescriptor.h"
 #include "bbtkBlackBox.h"
 #include "bbtkPackage.h"
+#define bbtkDMessage(key,level,mess) \
+  bbtkMessage(key,level,"["<<GetFullTypeName()<<"] "<<mess)
+#define bbtkDDebugMessage(key,level,mess)      \
+  bbtkDebugMessage(key,level,"["<<GetFullTypeName()<<"] "<<mess)
 
 namespace bbtk
 {
   AtomicBlackBoxDescriptor::AtomicBlackBoxDescriptor() 
   {  
-    bbtkDebugMessage("object",3,"==> AtomicBlackBoxDescriptor::AtomicBlackBoxDescriptor()"<<std::endl);
+    bbtkDDebugMessage("object",3,"==> AtomicBlackBoxDescriptor()"<<std::endl);
     // Creates the input 'BoxProcessMode'
     AddInputDescriptor
       (new 
@@ -69,13 +73,12 @@ namespace bbtk
        new bbtk::AtomicBlackBoxTSetFunctor<BlackBox,Void,Void>(&BlackBox::bbSetOutputBoxChange) ) );
     //
     AddToCategory("atomic box");
-    bbtkDebugMessage("object",3,"<== AtomicBlackBoxDescriptor::AtomicBlackBoxDescriptor()"<<std::endl);
+    bbtkDDebugMessage("object",3,"<== AtomicBlackBoxDescriptor()"<<std::endl);
   }
   //===================================================================
 
   AtomicBlackBoxDescriptor::~AtomicBlackBoxDescriptor() 
   {  
-    bbtkDebugMessage("object",3,"==> AtomicBlackBoxDescriptor::AtomicBlackBoxDescriptor()"<<std::endl);
-    bbtkDebugMessage("object",3,"<== AtomicBlackBoxDescriptor::AtomicBlackBoxDescriptor()"<<std::endl);
+    bbtkDDebugMessage("object",3,"==> ~AtomicBlackBoxDescriptor()"<<std::endl);
   }
 }// namespace bbtk
index 82764b354bfdddbe34a75e1504fdd43904b4610e..439856c4f2e77efed1d748ec2d9e1c9b30b9765d 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkAtomicBlackBoxInputDescriptor.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/10/17 08:18:12 $
-  Version:   $Revision: 1.3 $
+  Date:      $Date: 2009/05/28 08:12:05 $
+  Version:   $Revision: 1.4 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -55,9 +55,8 @@ namespace bbtk
     mGetFunctor(getfunctor),
     mSetFunctor(setfunctor)
   {  
-    bbtkDebugMessage("Kernel",9,
-                    "AtomicBlackBoxInputDescriptor::"
-                    <<"AtomicBlackBoxInputDescriptor(\""
+    bbtkDebugMessage("kernel",9,
+                    "AtomicBlackBoxInputDescriptor(\""
                     <<name<<"\",\""<<description<<"\",\""
                     <<nature<<"\","
                     <<getfunctor<<","<<setfunctor<<","
@@ -68,10 +67,8 @@ namespace bbtk
 
   AtomicBlackBoxInputDescriptor::~AtomicBlackBoxInputDescriptor()
   {
-    bbtkDebugMessage("Kernel",9,
-                    "AtomicBlackBoxInputDescriptor::"
-                    <<"~AtomicBlackBoxInputDescriptor(\""
-                    <<GetName()<<"\",\""<<GetDescription()<<"\","
-                    <<mGetFunctor<<","<<mSetFunctor<<")"<<std::endl);
+    bbtkDebugMessage("kernel",9,
+                    "~AtomicBlackBoxInputDescriptor(\""
+                    <<GetName()<<"\")"<<std::endl);
   } 
 }
index a53e48551304d5d8a303ef5875d54b451651fd06..b9c099fa6d093f436fac6a80b9d89eb7de5f1413 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkAtomicBlackBoxMacros.h,v $
   Language:  C++
-  Date:      $Date: 2009/05/18 10:45:40 $
-  Version:   $Revision: 1.17 $
+  Date:      $Date: 2009/05/28 08:12:05 $
+  Version:   $Revision: 1.18 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
   }                                                                    \
   inline bbtk::BlackBox::Pointer bbClone(const std::string& name)      \
   {                                                                    \
-    bbtkDebugMessage("object",1,"##> "<<#CLASS                         \
-                    <<"::bbClone(\""<<name<<"\")"<<std::endl);         \
+    bbtkBlackBoxDebugMessage("object",1,"##> "<<#CLASS                 \
+                            <<"::bbClone(\""<<name<<"\")"<<std::endl); \
     Pointer p = MakeBlackBoxPointer(new Self(*this,name));             \
-    bbtkDebugMessage("object",1,"<## "<<#CLASS                         \
+    bbtkBlackBoxDebugMessage("object",1,"<## "<<#CLASS                 \
                     <<"::bbClone(\""<<name<<"\")"<<std::endl);         \
     return p;                                                          \
   }                                                                    \
   public:                                                              \
   inline void bbUserProcess()                                          \
   {                                                                    \
-    bbtkDebugMessage("process",1,"**> Processing ["<<bbGetFullName()   \
-                    <<"]"<<std::endl);                                 \
+    bbtkBlackBoxDebugMessage("process",1,"**> Processing..."           \
+                            <<std::endl);                              \
     CALLBACK();                                                                \
-    bbtkDebugMessage("process",1,"<** Processing ["<<bbGetFullName()   \
-                    <<"]"<<std::endl);                                 \
+    bbtkBlackBoxDebugMessage("process",1,"<** Processing"              \
+                            <<std::endl);                              \
   }
 //============================================================================
 
 
 //============================================================================
 #define BBTK_BEGIN_BLACK_BOX_CONSTRUCTOR(CLASS,ALLOC)                  \
-  bbtkDebugMessage("object",2,"==> "<<#CLASS<<"::"<<#CLASS             \
-                  <<"(\""<<bbGetName()<<"\")"<<std::endl);             \
+  bbtkBlackBoxDebugMessage("object",2,"==> "<<#CLASS<<"::"<<#CLASS     \
+                          <<"()"<<std::endl);                          \
   if (ALLOC)                                                           \
     {                                                                  \
       bbLockDescriptor();                                              \
 
 //============================================================================
 #define BBTK_END_BLACK_BOX_CONSTRUCTOR(CLASS)                          \
-  bbtkDebugMessage("object",2,"<== "<<#CLASS<<"::"<<#CLASS             \
-                  <<"(\""<<bbGetName()<<"\")"<<std::endl);             
+  bbtkBlackBoxDebugMessage("object",2,"<== "<<#CLASS<<"::"<<#CLASS     \
+                          <<"()"<<std::endl);          
 //============================================================================
 
 //============================================================================
 #define BBTK_BEGIN_BLACK_BOX_COPY_CONSTRUCTOR(CLASS,FROM,ALLOC)                \
-  bbtkDebugMessageInc("object",2,"==> "<<#CLASS<<"::"<<#CLASS          \
-                     <<"("<<FROM.bbGetFullName()<<",\""                \
-                     <<bbGetName()<<"\")"<<std::endl);                 \
+  bbtkBlackBoxDebugMessage("object",2,"==> "<<#CLASS<<"::"<<#CLASS     \
+                          <<"("<<FROM.bbGetFullName()                  \
+                          <<")"<<std::endl);                           \
   if (ALLOC)                                                           \
     {                                                                  \
       bbLockDescriptor();                                              \
 
 //============================================================================
 #define BBTK_END_BLACK_BOX_COPY_CONSTRUCTOR(CLASS,FROM,ALLOC)          \
-  bbtkDebugMessage("object",2,"<== "<<#CLASS<<"::"<<#CLASS             \
-                  <<"("<<FROM.bbGetFullName()<<",\""                   \
-                  <<bbGetName()<<"\")"<<std::endl);                    \
+  bbtkBlackBoxDebugMessage("object",2,"<== "<<#CLASS<<"::"<<#CLASS     \
+                          <<"("<<FROM.bbGetFullName()                  \
+                          <<")"<<std::endl);                           \
   if (ALLOC)                                                           \
     {                                                                  \
       bbCopyIOValues(FROM);                                            \
 
 //============================================================================
 #define BBTK_BEGIN_BLACK_BOX_DESTRUCTOR(CLASS)                         \
-  bbtkDebugMessage("object",2,"==> "<<#CLASS <<"::~"<< #CLASS          \
-                  <<"() ["<<this->bbGetFullName()<<"]"<<std::endl);    \
+  bbtkBlackBoxDebugMessage("object",2,"==> "<<#CLASS <<"::~"<< #CLASS  \
+                          <<"()"<<std::endl); \
   bbFinalizeProcessing();                                              
 
 
 
 //============================================================================
 #define BBTK_END_BLACK_BOX_DESTRUCTOR(CLASS)                           \
-  bbtkDebugMessage("object",2,"<== "<<#CLASS <<"::~"<< #CLASS          \
-                  <<"() ["<<this->bbGetFullName()<<"]"<<std::endl);
+  bbtkBlackBoxDebugMessage("object",2,"<== "<<#CLASS <<"::~"<< #CLASS  \
+                          <<"()"<<std::endl);
 
 //============================================================================
 
index fd8857ed392bdd7695c9c6201330f5f00d8af090..39fe8879e6f253158ecc4438fdd3389c27ac4cb5 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkAtomicBlackBoxOutputDescriptor.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/10/17 08:18:12 $
-  Version:   $Revision: 1.3 $
+  Date:      $Date: 2009/05/28 08:12:05 $
+  Version:   $Revision: 1.4 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -56,8 +56,8 @@ namespace bbtk
     mSetFunctor(setfunctor)
   {    
     
-    bbtkDebugMessage("Kernel",9,
-                    "AtomicBlackBoxOutputDescriptor::AtomicBlackBoxOutputDescriptor(\""
+    bbtkDebugMessage("kernel",9,
+                    "AtomicBlackBoxOutputDescriptor(\""
                     <<name<<"\",\""<<description
                     <<"\",\""<<nature<<"\","
                     <<getfunctor<<","<<setfunctor
@@ -67,7 +67,7 @@ namespace bbtk
 
   AtomicBlackBoxOutputDescriptor::~AtomicBlackBoxOutputDescriptor() 
   {
-    bbtkDebugMessage("Kernel",9,"AtomicBlackBoxOutputDescriptor::~AtomicBlackBoxOutputDescriptor(\""<<GetName()<<"\",\""<<GetDescription()<<"\""<<mGetFunctor<<","<<mSetFunctor<<")"<<std::endl);
+    bbtkDebugMessage("kernel",9,"~AtomicBlackBoxOutputDescriptor(\""<<GetName()<<"\")"<<std::endl);
   }
   
 }
index fbf94a0f6e694b477c591038a85eeb197ac8b6d3..795d8d490e6ac45e6425f081e6308d37108782ec 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkBlackBox.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/05/18 10:45:40 $
-  Version:   $Revision: 1.45 $
+  Date:      $Date: 2009/05/28 08:12:05 $
+  Version:   $Revision: 1.46 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -114,9 +114,9 @@ namespace bbtk
     bbmParent()
     
   {
-    bbtkDebugMessage("object",4,"==> BlackBox::BlackBox(\""
+    bbtkBlackBoxDebugMessage("object",4,"==> BlackBox::BlackBox(\""
                     <<name<<"\")"<<std::endl);
-    bbtkDebugMessage("object",4,"<== BlackBox::BlackBox(\""
+    bbtkBlackBoxDebugMessage("object",4,"<== BlackBox::BlackBox(\""
                     <<name<<"\")"<<std::endl);
   }
   //=========================================================================
@@ -136,10 +136,10 @@ namespace bbtk
     bbmParent()
     
   {
-    bbtkDebugMessage("object",4,"==> BlackBox::BlackBox("
+    bbtkBlackBoxDebugMessage("object",4,"==> BlackBox::BlackBox("
                     <<from.bbGetFullName()<<",\""
                     <<name<<"\")"<<std::endl);
-    bbtkDebugMessage("object",4,"<== BlackBox::BlackBox("
+    bbtkBlackBoxDebugMessage("object",4,"<== BlackBox::BlackBox("
                     <<from.bbGetFullName()<<",\""
                     <<name<<"\")"<<std::endl);
   }
@@ -149,10 +149,10 @@ namespace bbtk
   //=========================================================================
   BlackBox::~BlackBox()
   {
-    bbtkDebugMessage("object",4,"==> BlackBox::~BlackBox() ["<<bbmName
+    bbtkBlackBoxDebugMessage("object",4,"==> BlackBox::~BlackBox() ["<<bbmName
                     <<"]"<<std::endl);
     this->bbDesallocateConnectors();
-    bbtkDebugMessage("object",4,"<== BlackBox::~BlackBox() ["<<bbmName
+    bbtkBlackBoxDebugMessage("object",4,"<== BlackBox::~BlackBox() ["<<bbmName
                     <<"]"<<std::endl);
   }
   //=========================================================================
@@ -196,13 +196,13 @@ namespace bbtk
   /// Returns true if the UserBlackBox has an input of name name
   bool BlackBox::bbHasInput(const std::string& name) const
   {
-    bbtkDebugMessageInc("Kernel",8,
+    bbtkBlackBoxDebugMessage("kernel",8,
                        "BlackBox::bbHasInput(\""
-                       <<name<<"\") ["<<bbGetFullName()<<"]"
+                       <<name<<"\")"
                        <<std::endl);
     bool r = ( bbGetDescriptor()->GetInputDescriptorMap().find(name)
               != bbGetDescriptor()->GetInputDescriptorMap().end());
-    bbtkDebugDecTab("Kernel",8);
+    bbtkDebugDecTab("kernel",8);
     return r;
   }
   //=========================================================================
@@ -212,11 +212,12 @@ namespace bbtk
   /// Returns true if the UserBlackBox has an output of name name
   bool BlackBox::bbHasOutput(const std::string& name) const
   {
-    bbtkDebugMessageInc("Kernel",8,"BlackBox::bbHasOutput(\""
-                       <<name<<"\") ["<<bbGetFullName()<<"]"<<std::endl);
+    bbtkBlackBoxDebugMessage("kernel",8,"BlackBox::bbHasOutput(\""
+                            <<name<<"\")"
+                            <<std::endl);
     bool r = ( bbGetDescriptor()->GetOutputDescriptorMap().find(name)
               != bbGetDescriptor()->GetOutputDescriptorMap().end());
-    bbtkDebugDecTab("Kernel",8);
+    bbtkDebugDecTab("kernel",8);
     return r;
   }
   //=========================================================================
@@ -226,11 +227,12 @@ namespace bbtk
   ///  Gets the output type of a given name
   TypeInfo BlackBox::bbGetOutputType( const std::string &name ) const 
   {
-    bbtkDebugMessageInc("Kernel",8,
-                       "BlackBox::bbGetOutputType(\""
-                       <<name<<"\") ["<<bbGetFullName()<<"]"<<std::endl);
+    bbtkBlackBoxDebugMessage("kernel",8,
+                            "BlackBox::bbGetOutputType(\""
+                            <<name<<"\")"
+                            <<std::endl);
     TypeInfo r = bbGetDescriptor()->GetOutputDescriptor(name)->GetTypeInfo();
-    bbtkDebugDecTab("Kernel",8); 
+    bbtkDebugDecTab("kernel",8); 
     return r;
   }
   //=========================================================================
@@ -239,11 +241,12 @@ namespace bbtk
   ///  Gets the input type of a given name
   TypeInfo BlackBox::bbGetInputType( const std::string &name ) const
   {
-    bbtkDebugMessageInc("Kernel",8,
-                       "BlackBox::bbGetInputType(\""
-                       <<name<<"\") ["<<bbGetFullName()<<"]"<<std::endl);
+    bbtkBlackBoxDebugMessage("kernel",8,
+                            "BlackBox::bbGetInputType(\""
+                            <<name<<"\")"
+                            <<std::endl);
     TypeInfo r = bbGetDescriptor()->GetInputDescriptor(name)->GetTypeInfo();
-    bbtkDebugDecTab("Kernel",8);
+    bbtkDebugDecTab("kernel",8);
     return r;
   }
   //=========================================================================
@@ -253,16 +256,18 @@ namespace bbtk
   /// Allocates the i/o connectors of the black box
   void BlackBox::bbAllocateConnectors()
   {  
-    bbtkDebugMessageInc("Kernel",8,
-                       "BlackBox::bbAllocateConnectors() ["
-                       <<bbGetFullName()<<"]"
+    bbtkBlackBoxDebugMessage("kernel",8,
+                       "BlackBox::bbAllocateConnectors()"
                        <<std::endl);                                   
+
+    MakeBlackBoxPointer(this,true);
+
     const BlackBoxDescriptor::InputDescriptorMapType& imap 
       = bbGetDescriptor()->GetInputDescriptorMap(); 
     BlackBoxDescriptor::InputDescriptorMapType::const_iterator i;      
     for ( i = imap.begin(); i != imap.end(); ++i )                     
       {                                                                        
-       bbtkDebugMessage("Kernel",8,"* Allocate \""<<i->first<<"\""<<std::endl);
+       bbtkBlackBoxDebugMessage("kernel",8,"* Allocate \""<<i->first<<"\""<<std::endl);
        bbGetInputConnectorMap()[i->second->GetName()] 
          = new BlackBoxInputConnector(GetThisPointer<BlackBox>());
       }                                                                        
@@ -271,11 +276,11 @@ namespace bbtk
     BlackBoxDescriptor::OutputDescriptorMapType::const_iterator o; 
     for ( o = omap.begin(); o != omap.end(); ++o )
       {                                                        
-       bbtkDebugMessage("Kernel",8,"* Allocate \""<<o->first<<"\""<<std::endl);
+       bbtkBlackBoxDebugMessage("kernel",8,"* Allocate \""<<o->first<<"\""<<std::endl);
        bbGetOutputConnectorMap()[o->second->GetName()] 
-         = new BlackBoxOutputConnector();
+         = new BlackBoxOutputConnector(GetThisPointer<BlackBox>());
       }
-    bbtkDebugDecTab("Kernel",8);  
+
   }
   //=========================================================================
 
@@ -284,7 +289,7 @@ namespace bbtk
   /// Desallocates the i/o connectors of the black box
   void BlackBox::bbDesallocateConnectors()
   {
-    bbtkDebugMessageInc("Kernel",8,
+    bbtkBlackBoxDebugMessage("kernel",8,
                        "BlackBox::bbDesallocateConnectors()"
                        <<std::endl);                                   
 
@@ -292,18 +297,18 @@ namespace bbtk
     for ( i = bbGetInputConnectorMap().begin();
          i != bbGetInputConnectorMap().end(); ++i )                   
       {                                                                        
-       bbtkDebugMessage("Kernel",8,"* Delete \""<<i->first<<"\""<<std::endl);
+       bbtkBlackBoxDebugMessage("kernel",8,"* Delete \""<<i->first<<"\""<<std::endl);
        delete (i->second);
       }                                                                        
     OutputConnectorMapType::const_iterator o;  
     for ( o = bbGetOutputConnectorMap().begin(); 
          o != bbGetOutputConnectorMap().end(); ++o )                   
       {                                                                        
-       bbtkDebugMessage("Kernel",8,"* Delete \""<<o->first<<"\""<<std::endl);         
+       bbtkBlackBoxDebugMessage("kernel",8,"* Delete \""<<o->first<<"\""<<std::endl);         
        delete (o->second);
       }                                                                        
    
-    bbtkDebugDecTab("Kernel",8);  
+    bbtkDebugDecTab("kernel",8);  
 
   }
   //=========================================================================
@@ -313,10 +318,10 @@ namespace bbtk
   /// Copies the input / output values from another box
   void BlackBox::bbCopyIOValues(BlackBox& from)
   {
-    bbtkDebugMessageInc("Kernel",1,
-                       "BlackBox::bbCopyIOValues("
-                       <<from.bbGetFullName()<<") ["
-                       <<bbGetFullName()<<"]"<<std::endl);
+    bbtkBlackBoxDebugMessage("kernel",1,
+                            "BlackBox::bbCopyIOValues("
+                            <<from.bbGetFullName()<<")"
+                            <<std::endl);
     // copies the input values
     const BlackBoxDescriptor::InputDescriptorMapType& imap 
       = bbGetDescriptor()->GetInputDescriptorMap(); 
@@ -325,7 +330,7 @@ namespace bbtk
       {                
        if (! i->second->GetCopyConstruct() ) continue;
        std::string input = i->second->GetName();
-       bbtkDebugMessage("Kernel",2,"* Copying input "<<input<<std::endl);
+       bbtkBlackBoxDebugMessage("kernel",2,"* Copying input "<<input<<std::endl);
        this->bbSetInput(input, from.bbGetInput(input) );
       }                                                                        
     // copies the output values
@@ -336,11 +341,11 @@ namespace bbtk
       {                                                        
        if (! o->second->GetCopyConstruct() ) continue;
        std::string output = o->second->GetName();
-       bbtkDebugMessage("Kernel",2,"* Copying output "<<output<<std::endl);
+       bbtkBlackBoxDebugMessage("kernel",2,"* Copying output "<<output<<std::endl);
        this->bbSetOutput(output, from.bbGetOutput(output) );
       }
 
-    bbtkDebugDecTab("Kernel",9);
+    bbtkDebugDecTab("kernel",9);
 
   }
   //=========================================================================
@@ -364,11 +369,10 @@ namespace bbtk
   /// User overloadable destruction method of a black box
   void BlackBox::bbUserDelete() 
   {   
-    bbtkDebugMessage("process",5,
-                    "=> BlackBox::bbUserDelete() ["
-                    <<bbGetFullName()<<"]"
-                    <<" : not overloaded; using standard deletion"
-                    <<std::endl);
+    bbtkBlackBoxDebugMessage("process",5,
+                            "=> BlackBox::bbUserDelete()"
+                            <<" : not overloaded; using standard deletion"
+                            <<std::endl);
     delete this;
   }
   //=========================================================================
@@ -442,7 +446,7 @@ namespace bbtk
   void BlackBox::bbSetInputChangeTime(BlackBoxInputConnector* c, 
                                      const ChangeTime& t)
   {
-    bbtkDebugMessage("change",1,
+    bbtkBlackBoxDebugMessage("change",1,
                     "==> BlackBox::bbSetInputChangeTime("<<c<<","<<t<<") ["
                     <<bbGetFullName()<<"]"<<std::endl);
     
@@ -461,7 +465,7 @@ namespace bbtk
                       (c==bbGetInputConnectorMap().find("BoxExecute")->second))
                     && (bbCanReact() ) )
                  {
-                   bbtkDebugMessage("change",2,
+                   bbtkBlackBoxDebugMessage("change",2,
                                     "an input of "
                                     <<bbGetFullName()
                                     <<" changed and box is in Reactive mode or BoxExecute input changed : adding it to the global execution list"
@@ -489,7 +493,7 @@ namespace bbtk
   void BlackBox::bbSetOutputChangeTime(BlackBoxOutputConnector* c, 
                                       const ChangeTime& t)
   {
-    bbtkDebugMessage("change",1,
+    bbtkBlackBoxDebugMessage("change",1,
                     "==> BlackBox::bbSetOutputChangeTime("<<c<<","<<t<<") ["
                     <<bbGetFullName()<<"]"<<std::endl);
     
@@ -550,10 +554,10 @@ namespace bbtk
   void BlackBox::bbSetStatusAndPropagate(BlackBoxInputConnector* c,
                                         IOStatus s)
   {
-    bbtkDebugMessageInc("change",5,
-                       "=> BlackBox::bbSetStatusAndPropagate(input,"
-                       <<GetIOStatusString(s)<<") ["
-                       <<bbGetFullName()<<"]"<<std::endl);
+    bbtkBlackBoxDebugMessage("change",5,
+                            "=> BlackBox::bbSetStatusAndPropagate(input,"
+                            <<GetIOStatusString(s)<<")"
+                            <<std::endl);
 
     if (s==UPTODATE) bbtkError("bbSetStatusAndPropagate with status UPTODATE!");
     c->SetStatus(s);
@@ -581,13 +585,13 @@ namespace bbtk
           (c==bbGetInputConnectorMap().find("BoxExecute")->second))
         && (bbCanReact() ) )
       {
-       bbtkDebugMessage("change",2,
+       bbtkBlackBoxDebugMessage("change",2,
                         "-> Execution triggered by Reactive mode or BoxExecute input change"<<std::endl);
         bbGlobalAddToExecutionList( GetThisPointer<BlackBox>() );
       }    
-    bbtkDebugMessageInc("change",5,
-                       "<= BlackBox::bbSetStatusAndPropagate(input) ["
-                       <<bbGetFullName()<<"]"<<std::endl);
+    bbtkBlackBoxDebugMessage("change",5,
+                            "<= BlackBox::bbSetStatusAndPropagate(input)"
+                            <<std::endl);
   }
   //=========================================================================
 
@@ -595,10 +599,10 @@ namespace bbtk
   //=========================================================================  
   void BlackBox::bbSignalOutputModification(bool reaction)
   {
-    bbtkDebugMessageInc("change",5,
-                       "=> BlackBox::bbSignalOutputModification("
-                       <<reaction<<") ["
-                       <<bbGetFullName()<<"]"<<std::endl);
+    bbtkBlackBoxDebugMessage("change",5,
+                            "=> BlackBox::bbSignalOutputModification("
+                            <<reaction<<")"
+                            <<"]"<<std::endl);
     
     OutputConnectorMapType::iterator i;
     for ( i  = bbGetOutputConnectorMap().begin(); 
@@ -617,9 +621,9 @@ namespace bbtk
 
     if (reaction) bbGlobalProcessExecutionList();
 
-    bbtkDebugMessageDec("change",5,
-                       "<= BlackBox::bbSignalOutputModification() ["
-                       <<bbGetFullName()<<"]"<<std::endl);
+    bbtkBlackBoxDebugMessage("change",5,
+                            "<= BlackBox::bbSignalOutputModification()"
+                            <<std::endl);
     
   }  
   //=========================================================================   
@@ -627,10 +631,10 @@ namespace bbtk
   void BlackBox::bbSignalOutputModification(const std::string& output,
                                            bool reaction)
   {
-    bbtkDebugMessageInc("change",5,
-                       "=> BlackBox::bbSignalOutputModification("
-                       <<output<<","<<reaction<<") ["
-                       <<bbGetFullName()<<"]"<<std::endl);
+    bbtkBlackBoxDebugMessage("change",5,
+                            "=> BlackBox::bbSignalOutputModification("
+                            <<output<<","<<reaction<<")"
+                            <<std::endl);
     
     OutputConnectorMapType::iterator i = 
       bbGetOutputConnectorMap().find(output);
@@ -656,10 +660,10 @@ namespace bbtk
        if (reaction) bbGlobalProcessExecutionList();
        //      }
 
-    bbtkDebugMessageDec("change",5,
-                       "<= BlackBox::bbSignalOutputModification("
-                       <<output<<") ["
-                       <<bbGetFullName()<<"]"<<std::endl);
+       bbtkBlackBoxDebugMessage("change",5,
+                            "<= BlackBox::bbSignalOutputModification("
+                            <<output<<")"
+                            <<std::endl);
     
   }  
   //=========================================================================   
@@ -667,9 +671,9 @@ namespace bbtk
   void BlackBox::bbSignalOutputModification(const std::vector<std::string>& output,
        bool reaction)
   {
-    bbtkDebugMessageInc("change",5,
-                       "=> BlackBox::bbSignalOutputModification(vector of outputs) ["
-                       <<bbGetFullName()<<"]"<<std::endl);
+    bbtkBlackBoxDebugMessage("change",5,
+                       "=> BlackBox::bbSignalOutputModification(vector of outputs)"
+<<std::endl);
     OutputConnectorMapType::iterator i;
     std::vector<std::string>::const_iterator o;
     bool changed = false;
@@ -701,9 +705,9 @@ namespace bbtk
            //  }
       }
 
-    bbtkDebugMessageDec("change",5,
-                       "<= BlackBox::bbSignalOutputModification(vector of outputs) ["
-                       <<bbGetFullName()<<"]"<<std::endl);
+    bbtkBlackBoxDebugMessage("change",5,
+                            "<= BlackBox::bbSignalOutputModification(vector of outputs)"
+                            <<std::endl);
 
   }  
   //=========================================================================   
@@ -718,15 +722,15 @@ namespace bbtk
   /// Main processing method of the box.
   void BlackBox::bbExecute(bool force)
   {
-    bbtkDebugMessageInc("process",2,
-                       "=> BlackBox::bbExecute("<<(int)force<<") ["
-                       <<bbGetFullName()<<"]"<<std::endl);
+    bbtkBlackBoxDebugMessage("process",2,
+                            "=> BlackBox::bbExecute("<<(int)force<<")"
+                            <<std::endl);
  
     // If already executing : return
     /*
     if (bbGetExecuting()) 
       {
-       bbtkDebugMessage("process",2,
+       bbtkBlackBoxDebugMessage("process",2,
                         " -> already executing : abort"<<std::endl);
        return;
       }
@@ -735,7 +739,7 @@ namespace bbtk
     // If execution frozen : return
     if (bbGlobalGetFreezeExecution()) 
       {
-       bbtkDebugMessage("process",2,
+       bbtkBlackBoxDebugMessage("process",2,
                         " -> FreezeExecution global flag is 'true' : abort execution"<<std::endl);
       }
 
@@ -747,19 +751,19 @@ namespace bbtk
     // Calls the main recursive execution method 
     bbRecursiveExecute(Connection::Pointer());
 
-    bbtkDebugMessageDec("process",2,
-                       "<= BlackBox::bbExecute() ["
-                       <<bbGetFullName()<<"]"<<std::endl);
+    bbtkBlackBoxDebugMessage("process",2,
+                            "<= BlackBox::bbExecute()"
+                            <<std::endl);
   }
   //=========================================================================
 
   //=========================================================================
   void BlackBox::bbInitializeProcessing()
   {
-    std::cout << "INIT BEFORE TEST"<<bbGetFullName()<<std::endl;
     if (!bbmInitialized) 
       {
-       std::cout << "INIT "<<bbGetFullName()<<std::endl;
+       bbtkBlackBoxDebugMessage("process",2,"** Initialize processing"
+                                <<std::endl);
        this->bbRecursiveInitializeProcessing();
        bbmInitialized = true;
       }
@@ -771,7 +775,8 @@ namespace bbtk
   {
     if (bbmInitialized) 
       {
-       std::cout << "FINI "<<bbGetFullName()<<std::endl;
+       bbtkBlackBoxDebugMessage("process",2,"** Finalize processing"
+                                <<std::endl);
        this->bbRecursiveFinalizeProcessing();
        bbmInitialized = false;
       }
@@ -783,15 +788,15 @@ namespace bbtk
   /// Main recursive processing method of the box.
   void BlackBox::bbRecursiveExecute( Connection::Pointer caller )
   {
-    bbtkDebugMessageInc("process",3,
+    bbtkBlackBoxDebugMessage("process",3,
                        "=> BlackBox::bbRecursiveExecute("
-                       <<(caller?caller->GetFullName():"0")<<") ["
-                       <<bbGetFullName()<<"]"<<std::endl);
+                       <<(caller?caller->GetFullName():"0")<<")"
+                       <<std::endl);
 
     // If already executing : return
     if (bbGetExecuting()) 
       {
-       bbtkDebugMessage("process",3,
+       bbtkBlackBoxDebugMessage("process",3,
                         " -> already executing : abort"<<std::endl);
        return; 
       }
@@ -831,14 +836,13 @@ namespace bbtk
          {
            if (o->second->GetStatus() != UPTODATE)
              {
-               bbtkWarning("BlackBox::bbRecursiveExecute ["
-                           <<bbGetFullName()
-                           <<"] : all inputs are Up-to-date but output '"
+               bbtkWarning("BlackBox::bbRecursiveExecute: "
+                           <<"all inputs are Up-to-date but output '"
                            <<o->first<<"' is Out-of-date ???");
              }
          }
        
-        bbtkDebugMessage("process",3," -> Up-to-date : nothing to do"
+        bbtkBlackBoxDebugMessage("process",3," -> Up-to-date : nothing to do"
                         <<std::endl);
       }
 
@@ -846,9 +850,9 @@ namespace bbtk
     this->bbShowWindow(); 
 
          
-    bbtkDebugMessage("process",3,
-            "<= BlackBox::bbRecursiveExecute() ["
-            <<bbGetFullName()<<"]"<<std::endl);
+    bbtkBlackBoxDebugMessage("process",3,
+            "<= BlackBox::bbRecursiveExecute()"
+            <<std::endl);
 
     bbSetExecuting(false);
     bbGlobalSetSomeBoxExecuting(wasExecuting);
@@ -868,9 +872,8 @@ namespace bbtk
   /// \returns The maximum of final IOStatus after each input update
   IOStatus BlackBox::bbUpdateInputs()
   {
-    bbtkDebugMessageInc("process",4,
-                       "=> BlackBox::bbUpdateInputs() ["
-                       <<bbGetFullName()<<"]"
+    bbtkBlackBoxDebugMessage("process",4,
+                       "=> BlackBox::bbUpdateInputs()"
                        <<std::endl);   
 
     IOStatus s = UPTODATE;
@@ -884,26 +887,23 @@ namespace bbtk
        //if (  bbGetDescriptor()->GetInputDescriptor(i->first)->GetTypeInfo() 
        //      == typeid(Void) ) 
        //  continue;
-       bbtkDebugMessageDec("change",2,
-                           bbGetName()<<"."<<i->first
-                           <<" ["<<i->second<<"] "
-                           <<" status before update = '"
+       bbtkBlackBoxDebugMessage("change",2,
+                           "Input '"<<i->first
+                           <<"': status before update = '"
                            <<GetIOStatusString(i->second->GetStatus())
                            <<"'"<<std::endl);
        i->second->RecursiveExecute();
        IOStatus t = i->second->GetStatus();
        if (t > s) s = t;
-       bbtkDebugMessageDec("change",2,
-                           bbGetName()<<"."<<i->first
-                           <<" ["<<i->second<<"] "
-                           <<" status before process = '"
-                           <<GetIOStatusString(i->second->GetStatus())
-                           <<"'"<<std::endl);
+       bbtkBlackBoxDebugMessage("change",2,
+                                "Input '"<<i->first
+                                <<"': status before process = '"
+                                <<GetIOStatusString(i->second->GetStatus())
+                                <<"'"<<std::endl);
       }
     
-    bbtkDebugMessageDec("process",4,
-                       "<= BlackBox::bbUpdateInputs() ["
-                       <<bbGetFullName()<<"]"
+    bbtkBlackBoxDebugMessage("process",4,
+                       "<= BlackBox::bbUpdateInputs()"
                        <<std::endl);   
     
     
@@ -915,9 +915,8 @@ namespace bbtk
   /// Computes the final IOStatus of inputs and outputs after processing
   void BlackBox::bbComputePostProcessStatus()
   {
-    bbtkDebugMessageInc("process",4,
-                       "=> BlackBox::bbComputePostProcessStatus() ["
-                       <<bbGetFullName()<<"]"
+    bbtkBlackBoxDebugMessage("process",4,
+                       "=> BlackBox::bbComputePostProcessStatus()"
                        <<std::endl);   
 
     IOStatus new_output_status = UPTODATE;
@@ -932,16 +931,16 @@ namespace bbtk
        if (t == OUTOFDATE) new_output_status = OUTOFDATE;
        // A previously MODIFIED status turns to UPTODATE
        if (t==MODIFIED) i->second->SetStatus(UPTODATE);
-       bbtkDebugMessage("change",2,
-                        bbGetName()<<"."<<i->first<<" : "
+       bbtkBlackBoxDebugMessage("change",2,
+                        "Input '"<<i->first<<"' : "
                         << GetIOStatusString(t) << " -> "
                         << GetIOStatusString(i->second->GetStatus())
                         << std::endl);
       }
-       bbtkDebugMessage("change",2,
-                        bbGetName()<<" new output status : "
-                        << GetIOStatusString(new_output_status)
-                        <<std::endl);
+    bbtkBlackBoxDebugMessage("change",2,
+                            "New output status : "
+                            << GetIOStatusString(new_output_status)
+                            <<std::endl);
     // Update the output statuses
     OutputConnectorMapType::iterator o;
     for ( o = bbGetOutputConnectorMap().begin(); 
@@ -950,9 +949,8 @@ namespace bbtk
        o->second->SetStatus(new_output_status);
       }
 
-    bbtkDebugMessageInc("process",4,
-                       "<= BlackBox::bbComputePostProcessStatus() ["
-                       <<bbGetFullName()<<"]"
+    bbtkBlackBoxDebugMessage("process",4,
+                       "<= BlackBox::bbComputePostProcessStatus()"
                        <<std::endl);   
 
   }
@@ -962,10 +960,9 @@ namespace bbtk
   /// Connects the input <name> to the connection c
   void BlackBox::bbConnectInput( const std::string& name, Connection* c)
   {
-    bbtkDebugMessage("connection",2,
+    bbtkBlackBoxDebugMessage("connection",2,
                        "==> BlackBox::bbConnectInput(\""
-                       <<name<<"\","<<c->GetFullName()<<") ["
-                       <<bbGetFullName()<<"]"
+                       <<name<<"\","<<c->GetFullName()<<")"
                        <<std::endl);       
 
 
@@ -978,10 +975,9 @@ namespace bbtk
     // The input *MUST* be set OUTOFDATE to update its input on next execution
     bbSetStatusAndPropagate(i->second,OUTOFDATE);
     
-    bbtkDebugMessage("connection",2,
+    bbtkBlackBoxDebugMessage("connection",2,
                        "<== BlackBox::bbConnectInput(\""
-                       <<name<<"\","<<c->GetFullName()<<") ["
-                       <<bbGetFullName()<<"]"
+                       <<name<<"\","<<c->GetFullName()<<")"
                        <<std::endl);       
 
   }
@@ -992,10 +988,10 @@ namespace bbtk
   /// Connects the output <name> to the connection c
   void BlackBox::bbConnectOutput( const std::string& name, Connection* c)
   {
-    bbtkDebugMessage("connection",2,
-                    "==> BlackBox::bbConnectOutput(\""<<name<<"\","
-                    <<c->GetFullName()<<") ["
-                    <<bbGetFullName()<<"]"<<std::endl);       
+    bbtkBlackBoxDebugMessage("connection",2,
+                            "==> BlackBox::bbConnectOutput(\""<<name<<"\","
+                            <<c->GetFullName()<<")"
+                            <<std::endl);       
     
     OutputConnectorMapType::iterator i = bbGetOutputConnectorMap().find(name);
     if (i==bbGetOutputConnectorMap().end())
@@ -1004,10 +1000,10 @@ namespace bbtk
       }
     i->second->SetConnection(c);
 
-    bbtkDebugMessage("connection",2,
-                    "<== BlackBox::bbConnectOutput(\""<<name<<"\","
-                    <<c->GetFullName()<<") ["
-                    <<bbGetFullName()<<"]"<<std::endl);       
+    bbtkBlackBoxDebugMessage("connection",2,
+                            "<== BlackBox::bbConnectOutput(\""<<name<<"\","
+                            <<c->GetFullName()<<")"
+                            <<std::endl);       
 
   }
   //=========================================================================
@@ -1018,16 +1014,15 @@ namespace bbtk
   void BlackBox::bbDisconnectInput( const std::string& name, Connection* c)
   {
 
-    bbtkDebugMessage("connection",2,
+    bbtkBlackBoxDebugMessage("connection",2,
                     "==> BlackBox::bbDisconnectInput(\""<<name
-                    <<"\","<<c->GetFullName()<<") ["
-                    <<bbGetFullName()<<"]"
+                    <<"\","<<c->GetFullName()<<")"
                     <<std::endl);      
 
     if (!c) 
       {
 
-       bbtkDebugMessage("connection",2,"c==0"<<std::endl);     
+       bbtkBlackBoxDebugMessage("connection",2,"c==0"<<std::endl);     
        return;
       }
 
@@ -1038,10 +1033,9 @@ namespace bbtk
       }
     i->second->UnsetConnection(c);
 
-    bbtkDebugMessage("connection",2,
+    bbtkBlackBoxDebugMessage("connection",2,
                     "<== BlackBox::bbDisconnectInput(\""<<name
-                    <<"\","<<c->GetFullName()<<") ["
-                    <<bbGetFullName()<<"]"
+                    <<"\","<<c->GetFullName()<<")"
                     <<std::endl);      
 
   }
@@ -1052,15 +1046,14 @@ namespace bbtk
   /// Disconnects the output <name> from the connection c
   void BlackBox::bbDisconnectOutput( const std::string& name, Connection* c)
   {
-    bbtkDebugMessage("connection",2,
+    bbtkBlackBoxDebugMessage("connection",2,
                     "==> BlackBox::bbDisconnectOutput(\""<<name
-                    <<"\","<<c->GetFullName()<<") ["
-                    <<bbGetFullName()<<"]"
+                    <<"\","<<c->GetFullName()<<")"
                     <<std::endl);       
     if (!c) 
       {
 
-       bbtkDebugMessage("connection",2,"c==0"<<std::endl);     
+       bbtkBlackBoxDebugMessage("connection",2,"c==0"<<std::endl);     
        return;
       }
 
@@ -1071,10 +1064,9 @@ namespace bbtk
       }
     i->second->UnsetConnection(c);
 
-    bbtkDebugMessage("connection",2,
+    bbtkBlackBoxDebugMessage("connection",2,
                     "<== BlackBox::bbDisconnectOutput(\""<<name
-                    <<"\","<<c->GetFullName()<<") ["
-                    <<bbGetFullName()<<"]"
+                    <<"\","<<c->GetFullName()<<")"
                     <<std::endl);       
   } 
   //=========================================================================
@@ -1345,28 +1337,28 @@ namespace bbtk
      
     if (this->bbGetDescriptor()->GetPackage()) 
       {
-       bbtkMessage("Help",1,"Black Box '"<<bbGetName()<<"' <"<<
+       bbtkBlackBoxMessage("Help",1,"Black Box '"<<bbGetName()<<"' <"<<
                    this->bbGetDescriptor()->GetPackage()->GetName()
                    <<"::"<<this->bbGetDescriptor()->GetTypeName()<<">"<<std::endl);
       }
     else 
       {
-       bbtkMessage("Help",1,"Black Box <::"<<this->bbGetDescriptor()->GetTypeName()<<">"<<std::endl);
+       bbtkBlackBoxMessage("Help",1,"Black Box <::"<<this->bbGetDescriptor()->GetTypeName()<<">"<<std::endl);
       }
     /*
     if (bbIsUpToDate())
       {
-       bbtkMessage("Help",1,"Up-to-date ["<<mMaxInputChangeTime<<","
+       bbtkBlackBoxMessage("Help",1,"Up-to-date ["<<mMaxInputChangeTime<<","
                    <<mMinOutputChangeTime<<"]"<<std::endl);
       }
     else 
       {
-       bbtkMessage("Help",1,"Out-of-date ["<<mMaxInputChangeTime<<","
+       bbtkBlackBoxMessage("Help",1,"Out-of-date ["<<mMaxInputChangeTime<<","
                    <<mMinOutputChangeTime<<"]"<<std::endl);
       }
     */
-    //    bbtkMessage("Help",1," "<<GetDescription()<<std::endl);
-    //    bbtkMessage("Help",1," By : "<<GetAuthor()<<std::endl);
+    //    bbtkBlackBoxMessage("Help",1," "<<GetDescription()<<std::endl);
+    //    bbtkBlackBoxMessage("Help",1," By : "<<GetAuthor()<<std::endl);
 
     std::vector<std::string> iname;
     std::vector<std::string> ivalue;
@@ -1421,9 +1413,9 @@ namespace bbtk
       }
 
     if (iname.size()) 
-      bbtkMessage("Help",1," * Inputs : "<<std::endl);
+      bbtkBlackBoxMessage("Help",1," * Inputs : "<<std::endl);
     else 
-      bbtkMessage("Help",1," * No inputs"<<std::endl);
+      bbtkBlackBoxMessage("Help",1," * No inputs"<<std::endl);
 
     std::vector<std::string>::iterator i1,i2,i3,i4;
     for (i1=iname.begin(),i2=ivalue.begin(),i3=iconn.begin(),i4=istatus.begin();
@@ -1437,17 +1429,17 @@ namespace bbtk
        value += "'";
        value.append(1+valuelmax-value.size(),' ');
        if (i3->size()) 
-         bbtkMessage("Help",1,"    '"<<name<<" = '"<<value<<" <-- '"
+         bbtkBlackBoxMessage("Help",1,"    '"<<name<<" = '"<<value<<" <-- '"
                      <<*i3<<"'");
        else 
-         bbtkMessage("Help",1,"    '"<<name<<" = '"<<value);
-       bbtkMessage("Help",1," ["<<*i4<<"]"<<std::endl);
+         bbtkBlackBoxMessage("Help",1,"    '"<<name<<" = '"<<value);
+       bbtkBlackBoxMessage("Help",1," ["<<*i4<<"]"<<std::endl);
       }
 
     if (oname.size()) 
-      bbtkMessage("Help",1," * Outputs : "<<std::endl);
+      bbtkBlackBoxMessage("Help",1," * Outputs : "<<std::endl);
     else 
-      bbtkMessage("Help",1," * No outputs"<<std::endl);
+      bbtkBlackBoxMessage("Help",1," * No outputs"<<std::endl);
 
     std::vector<std::vector<std::string> >::iterator i5;
 
@@ -1462,17 +1454,17 @@ namespace bbtk
        value += "'";
        value.append(1+valuelmax-value.size(),' ');
        if (!(*i5).size())
-         bbtkMessage("Help",1,"    '"<<name<<" = '"<<value);
+         bbtkBlackBoxMessage("Help",1,"    '"<<name<<" = '"<<value);
        else 
          {
            std::string pref = "    '"+name+" = '"+value;
            for (i3=i5->begin();i3!=i5->end();++i3)
              {
-               bbtkMessage("Help",1,pref<<" --> '"<<*i3<<"'");
+               bbtkBlackBoxMessage("Help",1,pref<<" --> '"<<*i3<<"'");
                pref.replace(0,pref.size(),pref.size(),' ');
              }
          }
-       bbtkMessage("Help",1," ["<<*i4<<"]"<<std::endl);
+       bbtkBlackBoxMessage("Help",1," ["<<*i4<<"]"<<std::endl);
       }
 
    }
@@ -1483,9 +1475,9 @@ namespace bbtk
   //=========================================================================
    void BlackBox::bbGlobalProcessExecutionList()
    {   
-     bbtkDebugMessageInc("process",3,
-                        "=> BlackBox::bbGlobalProcessExecutionList()"
-                        <<std::endl);    
+     bbtkDebugMessage("process",3,
+                     "=> BlackBox::bbGlobalProcessExecutionList()"
+                     <<std::endl);    
      if (bbmgGlobalProcessingExecutionList) 
        {
         bbtkDebugMessage("process",3,"BlackBox::bbGlobalProcessExecutionList() reentered !");
@@ -1502,8 +1494,8 @@ namespace bbtk
         if (p.lock())
           {
             bbtkDebugMessage("process",4,
-                             " -> Executing "<<
-                             p.lock()->bbGetFullName()<<std::endl);
+                             " -> Executing '"<<
+                             p.lock()->bbGetName()<<"'"<<std::endl);
             p.lock()->bbExecute(true);
           }
         else 
@@ -1513,7 +1505,7 @@ namespace bbtk
        }
      
      bbmgExecutionList.clear();
-     bbtkDebugMessageDec("process",3,
+     bbtkDebugMessage("process",3,
                         "<= BlackBox::bbGlobalProcessExecutionList()"
                         <<std::endl);     
      
@@ -1544,7 +1536,7 @@ namespace bbtk
 
   void BlackBox::bbGlobalAddToExecutionList( BlackBox::Pointer b )
   {  
-    bbtkDebugMessage("process",3,"* bbGlobalAddToExecutionList("<<b->bbGetFullName()<<")"<<std::endl);
+    bbtkDebugMessage("process",3,"* bbGlobalAddToExecutionList("<<b->bbGetName()<<")"<<std::endl);
     if (bbmgGlobalProcessingExecutionList) 
       {
        bbtkDebugMessage("process",3,"bbGlobalAddToExecutionList called inside bbGlobalProcessExecutionList !");
@@ -1558,20 +1550,11 @@ namespace bbtk
   //=========================================================================
   void BlackBox::Check(bool recursive)
   {
-    bbtkMessage("debug",1,"*** Checking Black Box "<<(void*)this<<" ["<<bbGetFullName()
-               <<"] ... OK"<<std::endl);
+    bbtkBlackBoxMessage("debug",1,"*** Checking"
+                       <<" ... OK"<<std::endl);
   }
   //=========================================================================
 
-  void BlackBox::bbUserOnShowWidget(std::string nameInput)
-  {
-         bbtk::BlackBoxInputConnector *cc;
-         cc = this->bbGetInputConnectorMap().find( nameInput.c_str() )->second;
-         if (cc->GetConnection()!=NULL) 
-         {
-                 cc->GetConnection()->GetBlackBoxFrom()->bbUserOnShow();
-         }
-  }
 
 
 
index ce1117fed4214d3f691a80f384436b7545ecba28..21bf67be52e52b9043ce8b299f37c70e74159df8 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkBlackBox.h,v $
   Language:  C++
-  Date:      $Date: 2009/05/14 14:43:33 $
-  Version:   $Revision: 1.25 $
+  Date:      $Date: 2009/05/28 08:12:05 $
+  Version:   $Revision: 1.26 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -44,6 +44,7 @@
 #define __bbtkBlackBox_h__
 
 #include "bbtkSystem.h"
+#include "bbtkMessageManager.h"
 #include "bbtkBlackBoxDescriptor.h"
 #include "bbtkBlackBoxInputConnector.h"
 //#include "bbtkBlackBoxOutputConnector.h"
 #include <boost/signal.hpp>
 #include <boost/bind.hpp>
 
+
+#define bbtkBlackBoxMessage(key,level,mess) \
+  bbtkMessage(key,level,"["<<bbGetName()<<"] "<<mess)
+#define bbtkBlackBoxDebugMessage(key,level,mess)       \
+  bbtkDebugMessage(key,level,"["<<bbGetName()<<"] "<<mess)
+
 namespace bbtk
 {
 
@@ -369,8 +376,9 @@ namespace bbtk
 
     virtual void Check(bool recursive = true);
 
-       virtual void bbUserOnShow() { }
-       void bbUserOnShowWidget(std::string nameInput);
+    virtual void bbSetShown(bool) {}
+    virtual bool bbIsShown() { return false; }
+    virtual void bbUserOnShow() {}
 
   protected:
     //==================================================================
@@ -469,20 +477,6 @@ namespace bbtk
     void bbComputePostProcessStatus();
     //==================================================================
 
-    //==================================================================
-    /// Specific methods for window creation during pipeline execution
-    /// Creates the window associated to the box (called after bbUpdateInputs)
-    /// Does nothing here. Overloaded in WxBlackBox.
-    // virtual void bbCreateWindow() { }
-    /// Shows the window associated to the box 
-    /// (called after bbProcess during bbExecute)
-    /// Does nothing here but overloaded in WxBlackBox and WxContainerBlackBox
-    //    virtual void bbShowWindow(Connection::Pointer caller) { }
-    //    virtual void bbHideWindow() {}
-    //    virtual void bbCloseWindow() { }
-    //==================================================================
-
     //@}
   public: 
 
index 00127c1f2a99d432fcccfe4218cb9b816004a7f1..ab6b1225ef40f6faa650d64637724d115d1468e0 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkBlackBoxDescriptor.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/04/08 07:56:11 $
-  Version:   $Revision: 1.20 $
+  Date:      $Date: 2009/05/28 08:12:05 $
+  Version:   $Revision: 1.21 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -45,6 +45,10 @@ namespace bbtk
 
   typedef Package::Pointer PackagePointer;
 
+#define bbtkDMessage(key,level,mess) \
+  bbtkMessage(key,level,"["<<GetFullTypeName()<<"] "<<mess)
+#define bbtkDDebugMessage(key,level,mess)      \
+  bbtkDebugMessage(key,level,"["<<GetFullTypeName()<<"] "<<mess)
 
 
   //=========================================================================
@@ -57,10 +61,10 @@ namespace bbtk
       mKind(STANDARD),
       mPackage()
   {
-    bbtkDebugMessage("object",4,
-                    "==> BlackBoxDescriptor::BlackBoxDescriptor()"<<std::endl);
-   bbtkDebugMessage("object",4,
-                    "<== BlackBoxDescriptor::BlackBoxDescriptor()"<<std::endl);
+    bbtkDDebugMessage("object",4,
+                    "==> BlackBoxDescriptor()"<<std::endl);
+    bbtkDDebugMessage("object",4,
+                    "<== BlackBoxDescriptor()"<<std::endl);
   }
   //=========================================================================
 
@@ -73,9 +77,9 @@ namespace bbtk
   /// Dtor
   BlackBoxDescriptor::~BlackBoxDescriptor()
   {
-    bbtkDebugMessage("object",4,
-                    "==> BlackBoxDescriptor::~BlackBoxDescriptor() ["
-                    <<mTypeName<<"]"<<std::endl);
+    bbtkDDebugMessage("object",4,
+                    "==> ~BlackBoxDescriptor()"
+                    <<std::endl);
 
     // deletes all I/O descriptors
     InputDescriptorMapType::iterator i;
@@ -83,9 +87,9 @@ namespace bbtk
     OutputDescriptorMapType::iterator o;
     for (o=mOutput.begin(); o!=mOutput.end(); ++o) delete o->second;
 
-    bbtkDebugMessage("object",4,
-                    "<== BlackBoxDescriptor::~BlackBoxDescriptor() ["
-                    <<mTypeName<<"]"<<std::endl);
+    bbtkDDebugMessage("object",4,
+                     "<== ~BlackBoxDescriptor()"
+                     <<std::endl);
   }
   //=========================================================================
 
@@ -122,13 +126,13 @@ namespace bbtk
   /// Dtor
   void BlackBoxDescriptor::UnReference()
   {
-    bbtkDebugMessageInc("Kernel",1,
+    bbtkDDebugMessageInc("kernel",1,
                        "BlackBoxDescriptor::UnReference() ["
                        <<mTypeName<<"] #"<<mRefCount-1<<std::endl);
     mRefCount--;
     if (mRefCount<=0) 
       {
-       bbtkDebugMessage("Kernel",1,"--> Destructing BlackBoxDescriptor ["<<mTypeName<<"]"<<std::endl);
+       bbtkDDebugMessage("kernel",1,"--> Destructing BlackBoxDescriptor ["<<mTypeName<<"]"<<std::endl);
        delete this;
       }
   }
@@ -146,8 +150,8 @@ namespace bbtk
   /// Adds the string to the BlackBox description
   void BlackBoxDescriptor::AddToDescription( const std::string& s, bool clear)
   {
-    bbtkDebugMessage("Kernel",9,"BlackBoxDescriptor::AddToDescription(\""<<s<<
-                    "\") ["<<GetFullTypeName()<<"]"<<std::endl);
+    bbtkDDebugMessage("kernel",9,"BlackBoxDescriptor::AddToDescription(\""
+                     <<s<<"\")"<<std::endl);
     if (clear) mDescription = s; 
     else mDescription += s;
    }
@@ -157,8 +161,9 @@ namespace bbtk
   /// Adds the string to the BlackBox author list
   void BlackBoxDescriptor::AddToAuthor( const std::string& s, bool clear)
   {
-    bbtkDebugMessage("Kernel",9,"BlackBoxDescriptor::AddToAuthor(\""<<s<<"\") ["
-                    <<GetFullTypeName()<<"]"<<std::endl);
+    bbtkDDebugMessage("kernel",9,"BlackBoxDescriptor::AddToAuthor(\""
+                     <<s<<"\")"
+                     <<std::endl);
     if (clear) mAuthor = s;
     else mAuthor += s;
   }
@@ -168,8 +173,9 @@ namespace bbtk
   /// Adds the string to the BlackBox category list
   void BlackBoxDescriptor::AddToCategory( const std::string& s, bool clear)
   {
-    bbtkDebugMessage("Kernel",9,"BlackBoxDescriptor::AddToCategory(\""<<s<<"\") ["
-                    <<GetFullTypeName()<<"]"<<std::endl);  
+    bbtkDDebugMessage("kernel",9,"BlackBoxDescriptor::AddToCategory(\""
+                     <<s<<"\")"
+                     <<std::endl);  
     if (clear) mCategory = s;
     else mCategory += s;
     mCategory += ";";
@@ -180,8 +186,8 @@ namespace bbtk
   const BlackBoxDescriptor::InputDescriptor* 
   BlackBoxDescriptor::GetInputDescriptor(const std::string & name) const
   {
-    bbtkDebugMessageInc("Kernel",9,"BlackBoxDescriptor::GetInputDescriptor('"
-                       <<name<<"') ["<<GetFullTypeName()<<"]"<<std::endl);
+    bbtkDDebugMessage("kernel",9,"BlackBoxDescriptor::GetInputDescriptor('"
+                     <<name<<"')"<<std::endl);
 
     InputDescriptorMapType::const_iterator i;
     i = mInput.find(name);
@@ -189,7 +195,7 @@ namespace bbtk
     {
            bbtkError("input '"<<name<<"' does not exist");
     }
-    bbtkDebugDecTab("Kernel",9);
+
     return i->second;
   }
   //=========================================================================
@@ -198,16 +204,16 @@ namespace bbtk
   const BlackBoxDescriptor::OutputDescriptor* 
   BlackBoxDescriptor::GetOutputDescriptor(const std::string & name) const
   {
-    bbtkDebugMessageInc("Kernel",9,"BlackBoxDescriptor::GetOutputDescriptor('"
-                       <<name<<"') ["<<GetFullTypeName()<<"]"<<std::endl);
+    bbtkDDebugMessage("kernel",9,"BlackBoxDescriptor::GetOutputDescriptor('"
+                     <<name<<"')"<<std::endl);
 
     OutputDescriptorMapType::const_iterator i;
     i = mOutput.find(name);
     if ( i == mOutput.end() ) 
     {
-           bbtkError("output '"<<name<<"' does not exist");
+      bbtkError("output '"<<name<<"' does not exist");
     }
-    bbtkDebugDecTab("Kernel",9);
+
     return i->second;
   }
   //=========================================================================
@@ -215,16 +221,17 @@ namespace bbtk
   //=========================================================================
   void BlackBoxDescriptor::GetHelp(bool full) const
   {
-    bbtkDebugMessageInc("Kernel",9,"BlackBoxDescriptor::GetHelp() ["<<GetFullTypeName()<<"]"<<std::endl);
-
-    bbtkMessage("Help",1,"Black Box <"<<GetFullTypeName()<<">"<<std::endl);
-    bbtkMessage("Help",1," "              <<GetDescription()<<std::endl);
-    bbtkMessage("Help",1," By : "         <<GetAuthor()     <<std::endl);
-    bbtkMessage("Help",1," Categories : " <<GetCategory()    <<std::endl);
+    bbtkDDebugMessage("kernel",9,"BlackBoxDescriptor::GetHelp()"
+                     <<std::endl);
+    
+    bbtkMessage("help",1,"Black Box <"<<GetFullTypeName()<<">"<<std::endl);
+    bbtkMessage("help",1," "              <<GetDescription()<<std::endl);
+    bbtkMessage("help",1," By : "         <<GetAuthor()     <<std::endl);
+    bbtkMessage("help",1," Categories : " <<GetCategory()    <<std::endl);
     if (mInput.size()) 
-      bbtkMessage("Help",1," * Inputs : "<<std::endl);
+      bbtkMessage("help",1," * Inputs : "<<std::endl);
     else 
-      bbtkMessage("Help",1," * No inputs"<<std::endl);
+      bbtkMessage("help",1," * No inputs"<<std::endl);
     InputDescriptorMapType::const_iterator i;
     unsigned int namelmax = 0;
     unsigned int typelmax = 0;
@@ -260,16 +267,16 @@ namespace bbtk
           std::string nature(i->second->GetNature());
           nature += "]";
           nature.append(1+natlmax-nature.size(),' ');
-          bbtkMessage("Help",1,
+          bbtkMessage("help",1,
                       "    '"<<name
                       <<" <"<<type
                       <<" ["<<nature
                       <<" : "<<i->second->GetDescription()<<std::endl);
     }
     if (mOutput.size()) 
-      bbtkMessage("Help",1," * Outputs : "<<std::endl);
+      bbtkMessage("help",1," * Outputs : "<<std::endl);
     else 
-      bbtkMessage("Help",1," * No outputs"<<std::endl);
+      bbtkMessage("help",1," * No outputs"<<std::endl);
     for ( o = mOutput.begin();  o != mOutput.end(); ++o ) 
     {
           std::string name(o->second->GetName());
@@ -281,16 +288,14 @@ namespace bbtk
           std::string nature(o->second->GetNature());
           nature += "]";
           nature.append(1+natlmax-nature.size(),' ');
-          bbtkMessage("Help",1,
+          bbtkMessage("help",1,
                    "    '"<<name
                       <<" <"<<type
                       <<" ["<<nature
                       <<" : "<<o->second->GetDescription()<<std::endl);
       }
    
-     bbtkDebugDecTab("Kernel",9);
   
-
   }
   //=========================================================================
    
@@ -309,7 +314,8 @@ namespace bbtk
                                            const std::string& output_dir,
                                            bool relative_link )
   {
-    bbtkDebugMessageInc("Kernel",9,"BlackBoxDescriptor::InsertHtmlHelp() ["<<GetFullTypeName()<<"]"<<std::endl);
+    bbtkDDebugMessage("kernel",9,"BlackBoxDescriptor::InsertHtmlHelp()"
+                     <<std::endl);
     
     //-------------
     // General info 
@@ -498,7 +504,7 @@ namespace bbtk
     //------------
     // End
 
-    bbtkDebugDecTab("Kernel",9);
+
    }
   //=========================================================================
  
index 0acb2460b36cac9750bc9f288940753d5cd0fccb..5180428d18368d55b9574a932366decdca485bca 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkBlackBoxInputConnector.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/12/11 09:50:35 $
-  Version:   $Revision: 1.9 $
+  Date:      $Date: 2009/05/28 08:12:05 $
+  Version:   $Revision: 1.10 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -43,22 +43,28 @@ namespace bbtk
   BlackBoxInputConnector::BlackBoxInputConnector(BlackBox::Pointer b)  
     : mBox(b), mConnection(0), mStatus(MODIFIED)
   {
-    bbtkDebugMessage("Kernel",9,"BlackBoxInputConnector::BlackBoxInputConnector()"<<std::endl);
+    bbtkDebugMessage("kernel",9,
+                    "["<<b->bbGetName()
+                    <<"] BlackBoxInputConnector()"<<std::endl);
   }
   //========================================================================
 
   //========================================================================
   BlackBoxInputConnector::~BlackBoxInputConnector() 
   {
-    bbtkDebugMessageInc("Kernel",9,"BlackBoxInputConnector::~BlackBoxInputConnector()"<<std::endl);
-    bbtkDebugDecTab("Kernel",9);
+    bbtkDebugMessage("kernel",9,
+                    "[NULL"//<<mBox.lock()->bbGetName()
+                    <<"] ~BlackBoxInputConnector()"
+                    <<std::endl);
   }
   //========================================================================
 
   //========================================================================
   void BlackBoxInputConnector::SetConnection(Connection* c) 
   { 
-    bbtkDebugMessage("Kernel",9,"BlackBoxInputConnector::SetConnection("<<c<<")"<<std::endl);
+    bbtkDebugMessage("kernel",9,
+                    "["<<mBox.lock()->bbGetName()
+                    <<"] BlackBoxInputConnector::SetConnection("<<c<<")"<<std::endl);
     mConnection = c; 
   }
   //========================================================================
@@ -66,7 +72,9 @@ namespace bbtk
   //========================================================================
   void BlackBoxInputConnector::UnsetConnection(Connection* c) 
   { 
-    bbtkDebugMessage("Kernel",9,"BlackBoxInputConnector::UnsetConnection("
+    bbtkDebugMessage("kernel",9,
+                    "["<<mBox.lock()->bbGetName()
+                    <<"] BlackBoxInputConnector::UnsetConnection("
                     <<c<<")"<<std::endl);
     mConnection = 0; 
   }
@@ -84,11 +92,17 @@ namespace bbtk
       }
     else
       {
-       bbtkDebugMessage("process",5,
-                        "--> BlackBoxInputConnector::RecursiveExecute() : "
-                        <<"No connection or input not Out-of-date : nothing to do"
-                        <<std::endl);
-
+       if (!mBox.expired())
+         bbtkDebugMessage("process",5,"["<<mBox.lock()->bbGetName()
+                          <<"] --> BlackBoxInputConnector::RecursiveExecute() : "
+                          <<"No connection or input not Out-of-date : nothing to do"
+                          <<std::endl);
+       else
+         bbtkDebugMessage("process",5,"[UNKNOWN"
+                          <<"] --> BlackBoxInputConnector::RecursiveExecute() : "
+                          <<"No connection or input not Out-of-date : nothing to do"
+                          <<std::endl);
+         
       }
   }
   //========================================================================
index 789cda41ffe91f058e491db6f424ccfc8351f9e6..6631657a3c3a76f374545f3061b77aa1c566cc13 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkBlackBoxOutputConnector.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/12/10 09:33:18 $
-  Version:   $Revision: 1.11 $
+  Date:      $Date: 2009/05/28 08:12:05 $
+  Version:   $Revision: 1.12 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -43,10 +43,13 @@ namespace bbtk
 {
 
   //======================================================================
-  BlackBoxOutputConnector::BlackBoxOutputConnector() 
-    : mStatus(OUTOFDATE)
+  BlackBoxOutputConnector::BlackBoxOutputConnector(BlackBox::Pointer b) 
+    : mBox(b),
+      mStatus(OUTOFDATE)
   {
-    bbtkDebugMessage("Kernel",9,"BlackBoxOutputConnector::BlackBoxOutputConnector()"<<std::endl);
+    bbtkDebugMessage("kernel",9,
+                    "["<<b->bbGetName()
+                    <<"] BlackBoxOutputConnector()"<<std::endl);
   }
   //======================================================================
 
@@ -54,8 +57,9 @@ namespace bbtk
   //======================================================================
   BlackBoxOutputConnector::~BlackBoxOutputConnector() 
   {
-    bbtkDebugMessage("Kernel",9,
-                    "==> BlackBoxOutputConnector::~BlackBoxOutputConnector()"
+    bbtkDebugMessage("kernel",9,
+                    "[NULL"//<<mBox.lock()->bbGetName()
+                    <<"] ==> ~BlackBoxOutputConnector()"
                     <<std::endl);
     /*
     ConnectionVector::iterator i;
@@ -65,8 +69,9 @@ namespace bbtk
       (*i) = Connection::WeakPointer();
     */
     mConnection.clear();
-    bbtkDebugMessage("Kernel",9,
-                    "<== BlackBoxOutputConnector::~BlackBoxOutputConnector()"
+    bbtkDebugMessage("kernel",9,
+                    "[NULL"//<<mBox.lock()->bbGetName()
+                    <<"] <== ~BlackBoxOutputConnector()"
                     <<std::endl);
   }
   //======================================================================
@@ -75,7 +80,9 @@ namespace bbtk
   ///
   void BlackBoxOutputConnector::SetConnection(Connection* c)
   {
-    bbtkDebugMessage("Kernel",9,"BlackBoxOutputConnector::SetConnection("
+    bbtkDebugMessage("kernel",9,
+                    "["<<mBox.lock()->bbGetName()
+                    <<"] BlackBoxOutputConnector::SetConnection("
                     <<c<<")"<<std::endl);
     mConnection.push_back(c);
     //    AddChangeObserver(boost::bind(&Connection::SignalChange,c));
@@ -86,12 +93,15 @@ namespace bbtk
   //======================================================================
   void BlackBoxOutputConnector::UnsetConnection(Connection* c)
   {
-    bbtkDebugMessageInc("Kernel",9,"BlackBoxOutputConnector::UnsetConnection("
+    bbtkDebugMessage("kernel",9,"["<<mBox.lock()->bbGetName()
+                    <<"] BlackBoxOutputConnector::UnsetConnection("
                     <<c<<")"<<std::endl);
 
     if (!c) 
       {
-       bbtkInternalError("BlackBoxOutputConnector::UnsetConnection("<<c<<") : invalid connection");
+       bbtkInternalError(mBox.lock()->bbGetFullName()
+                         <<": BlackBoxOutputConnector::UnsetConnection("
+                         <<c<<") : invalid connection");
 
       }
     //    c->Check();
@@ -106,12 +116,15 @@ namespace bbtk
       }
     if (i==mConnection.end())
       {
-       bbtkInternalError("BlackBoxOutputConnector::UnsetConnection("<<c<<") : connection is absent from connections list");
+       bbtkInternalError(mBox.lock()->bbGetFullName()
+                         <<": BlackBoxOutputConnector::UnsetConnection("
+                         <<c
+                         <<") : connection is absent from connections list");
       }
     mConnection.erase(i);
     //    RemoveChangeObserver(boost::bind(&Connection::SignalChange,c));
 
-    bbtkDebugDecTab("Kernel",9);
+
   }
   //======================================================================
 
@@ -124,20 +137,20 @@ namespace bbtk
     //if (s==UPTODATE) s=MODIFIED;
     
     bbtkDebugMessage("change",2,
-                    "==> BlackBoxOutputConnector::SignalChange("
-                    <<box->bbGetFullName()<<",'"
+                    "["<<box->bbGetName()
+                    <<"] ==> BlackBoxOutputConnector::SignalChange('"
                     <<output<<"','"<<GetIOStatusString(s)<<"') ["
                     <<this<<"]"
                     <<std::endl);
     
     //    std::cout<<"BlackBoxOutputConnector::SignalChange("
-    //      <<box->bbGetFullName()<<",'"
+    //      <<box->bbGetName()<<",'"
     //      <<output<<"')"<<std::endl;
     mChangeSignal(box,output,s);
     
     bbtkDebugMessage("change",2,
-                    "<== BlackBoxOutputConnector::SignalChange("
-                    <<box->bbGetFullName()<<",'"
+                    "["<<box->bbGetName()
+                    <<"] <== BlackBoxOutputConnector::SignalChange('"
                     <<output<<"','"<<GetIOStatusString(s)<<"') ["
                     <<this<<"]"
                     <<std::endl);
index 80559c20101c9570fbdea8a04e565b9049ac24f3..d40703db7638a868d67c523ee79a23155df53b9b 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkBlackBoxOutputConnector.h,v $
   Language:  C++
-  Date:      $Date: 2008/12/15 09:04:46 $
-  Version:   $Revision: 1.8 $
+  Date:      $Date: 2009/05/28 08:12:05 $
+  Version:   $Revision: 1.9 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -83,7 +83,7 @@ namespace bbtk
 
     typedef BlackBox::OutputChangeCallbackType OutputChangeCallbackType;
 
-    BlackBoxOutputConnector();
+    BlackBoxOutputConnector(BlackBoxPointer b);
     ~BlackBoxOutputConnector();
 
     void SetConnection(Connection* c);
@@ -123,6 +123,8 @@ namespace bbtk
 
 
   private:
+    /// 
+    BlackBoxWeakPointer mBox;
     /// The vector of output connections
     ConnectionVector mConnection;
     /// The status of the output 
index eaff909b7237fb2830472026aa434125d257d93c..c5465ca142c722cd3b29eb96c87a29e16e069368 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkComplexBlackBox.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/05/25 12:48:57 $
-  Version:   $Revision: 1.26 $
+  Date:      $Date: 2009/05/28 08:12:05 $
+  Version:   $Revision: 1.27 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -66,12 +66,12 @@ namespace bbtk
     mLockedDescriptor(desc),
     mDescriptor(desc)
   {
-    bbtkDebugMessage("object",3,
-                    "##> ComplexBlackBox::ComplexBlackBox(\""
+    bbtkBlackBoxDebugMessage("object",3,
+                    "##> ComplexBlackBox(\""
                     <<name<<"\")"<<std::endl);
     bbAllocateConnectors();
-    bbtkDebugMessage("object",3,
-                    "<## ComplexBlackBox::ComplexBlackBox(\""
+    bbtkBlackBoxDebugMessage("object",3,
+                    "<## ComplexBlackBox(\""
                     <<name<<"\")"<<std::endl);
   }
   //=======================================================================
@@ -87,11 +87,11 @@ namespace bbtk
       mDescriptor(from.mDescriptor),
      mExecutionList(from.mExecutionList)    
   {
-    bbtkDebugMessage("object",3,
-                       "##> ComplexBlackBox::ComplexBlackBox(\""
+    bbtkBlackBoxDebugMessage("object",3,
+                       "##> ComplexBlackBox(\""
                        <<from.bbGetName()<<"\",\""
                        <<name<<"\")"<<std::endl);
-    bbtkDebugMessage("object",4,"  * Cloning Black Boxes"<<std::endl);
+    bbtkBlackBoxDebugMessage("object",4,"  * Cloning Black Boxes"<<std::endl);
 
     // We have to make the shared_ptr on this because it is used 
     // in bbUnsafeAddBlackBox !
@@ -100,16 +100,16 @@ namespace bbtk
     BlackBoxMapType::const_iterator i;
     for ( i = from.mBlackBoxMap.begin(); i != from.mBlackBoxMap.end(); ++i ) 
       {
-       bbtkDebugMessageInc("object",5,"    * Cloning \""<<i->first<<"\""<<std::endl);
+       bbtkBlackBoxDebugMessage("object",5,"    * Cloning \""<<i->first<<"\""<<std::endl);
        BlackBox::Pointer B = i->second->bbClone(i->second->bbGetName());
        bbUnsafeAddBlackBox(B);
       }
    
-    bbtkDebugMessage("object",4,"  * Cloning Connections"<<std::endl);
+    bbtkBlackBoxDebugMessage("object",4,"  * Cloning Connections"<<std::endl);
     ConnectionListType::const_iterator j;
     for ( j = from.mConnectionList.begin(); j != from.mConnectionList.end(); ++j ) 
       {
-       bbtkDebugMessage("object",5,"    * Cloning \""<<
+       bbtkBlackBoxDebugMessage("object",5,"    * Cloning \""<<
                         (*j)->GetFullName()<<"\""<<std::endl);
 
        BlackBox::Pointer bbfrom = bbGetBlackBox( (*j)->GetOriginalBlackBoxFrom()->bbGetName() );
@@ -127,8 +127,8 @@ namespace bbtk
       }
 
     bbAllocateConnectors();
-    bbtkDebugMessage("object",3,
-                       "<## ComplexBlackBox::ComplexBlackBox(\""
+    bbtkBlackBoxDebugMessage("object",3,
+                       "<## ComplexBlackBox(\""
                        <<from.bbGetName()<<"\",\""
                        <<name<<"\")"<<std::endl);
   }
@@ -138,16 +138,16 @@ namespace bbtk
   ///  Destructor
   ComplexBlackBox::~ComplexBlackBox()
   {
-    bbtkDebugMessage("object",3,
-                    "==> ComplexBlackBox::~ComplexBlackBox() ["
-                    <<bbGetName()<<"]"<<std::endl);
+    bbtkBlackBoxDebugMessage("object",3,
+                            "==> ~ComplexBlackBox()"
+                            <<std::endl);
     
     Clear();
     this->bbDesallocateConnectors();
 
-    bbtkDebugMessage("object",3,
-                    "<== ComplexBlackBox::~ComplexBlackBox() ["
-                    <<bbGetName()<<"]"<<std::endl);
+    bbtkBlackBoxDebugMessage("object",3,
+                            "<== ~ComplexBlackBox()"
+                            <<std::endl);
   } 
   //=======================================================================
  
@@ -156,20 +156,20 @@ namespace bbtk
   ///  Clear
   void ComplexBlackBox::Clear()
   {
-    bbtkDebugMessage("object",3,
-                    "==> ComplexBlackBox::Clear() ["
-                    <<bbGetName()<<"]"<<std::endl);
+    bbtkBlackBoxDebugMessage("object",3,
+                    "==> ComplexBlackBox::Clear()"
+                    <<std::endl);
 
-    bbtkDebugMessage("object",4,
+    bbtkBlackBoxDebugMessage("object",4,
                     " -> Releasing connections"<<std::endl);
     mConnectionList.clear();
-    bbtkDebugMessage("object",4,
+    bbtkBlackBoxDebugMessage("object",4,
                     " -> Releasing boxes"<<std::endl);
     mBlackBoxMap.clear();
 
-    bbtkDebugMessage("object",3,
-                    "<== ComplexBlackBox::Clear() ["
-                    <<bbGetName()<<"]"<<std::endl);
+    bbtkBlackBoxDebugMessage("object",3,
+                    "<== ComplexBlackBox::Clear()"
+                            <<std::endl);
   } 
   //=======================================================================
 
@@ -177,9 +177,8 @@ namespace bbtk
   /// Allocates the i/o connectors of the black box
   void ComplexBlackBox::bbAllocateConnectors()
   {  
-    bbtkDebugMessageInc("Kernel",8,
-                       "ComplexBlackBox::bbAllocateConnectors() ["
-                       <<bbGetFullName()<<"]"
+    bbtkBlackBoxDebugMessage("kernel",8,
+                       "==> ComplexBlackBox::bbAllocateConnectors()"
                        <<std::endl);   
     
     // Input connectors
@@ -188,7 +187,7 @@ namespace bbtk
     BlackBoxDescriptor::InputDescriptorMapType::const_iterator i;      
     for ( i = imap.begin(); i != imap.end(); ++i )                     
       {                                                                        
-       bbtkDebugMessage("Kernel",8,"* Allocate \""<<i->first<<"\""<<std::endl);
+       bbtkBlackBoxDebugMessage("kernel",8,"* Allocate \""<<i->first<<"\""<<std::endl);
        // Redirect the connector to the internal box connector
        // Cast the BBInputDescriptor into a ComplexBBInputDescriptor
        ComplexBlackBoxInputDescriptor* d = 
@@ -207,7 +206,7 @@ namespace bbtk
     BlackBoxDescriptor::OutputDescriptorMapType::const_iterator o; 
     for ( o = omap.begin(); o != omap.end(); ++o )
       {                                                        
-       bbtkDebugMessage("Kernel",8,"* Allocate \""<<o->first<<"\""<<std::endl);
+       bbtkBlackBoxDebugMessage("kernel",8,"* Allocate \""<<o->first<<"\""<<std::endl);
        // Redirect the connector to the internal box connector
        // Cast the BBOutputDescriptor into a ComplexBBOutputDescriptor
        ComplexBlackBoxOutputDescriptor* d = 
@@ -219,9 +218,10 @@ namespace bbtk
 
        bbGetOutputConnectorMap()[o->second->GetName()] = c;
       }
-    
-    bbtkDebugDecTab("Kernel",8);  
-  }
+   bbtkBlackBoxDebugMessage("kernel",8,
+                       "<== ComplexBlackBox::bbAllocateConnectors()"
+                       <<std::endl);   
+   }
   //=========================================================================
 
 
@@ -229,8 +229,8 @@ namespace bbtk
   /// Desallocates the i/o connectors of the black box
   void ComplexBlackBox::bbDesallocateConnectors()
   {
-    bbtkDebugMessageInc("Kernel",8,
-                       "ComplexBlackBox::DesallocateConnectors()"
+    bbtkBlackBoxDebugMessage("kernel",8,
+                       "==> ComplexBlackBox::DesallocateConnectors()"
                        <<std::endl);                                   
 
     // The connectors have not been allocated by the complex box 
@@ -239,8 +239,11 @@ namespace bbtk
     // BlackBox::bbDesallocateConnectors delete the connectors
     bbGetInputConnectorMap().clear();
     bbGetOutputConnectorMap().clear();
-
-    bbtkDebugDecTab("Kernel",8);  
+    
+    bbtkBlackBoxDebugMessage("kernel",8,
+                            "<== ComplexBlackBox::DesallocateConnectors()"
+                            <<std::endl);                                      
+    
 
   }
   //=========================================================================
@@ -248,12 +251,15 @@ namespace bbtk
   //=======================================================================
   BlackBox::Pointer ComplexBlackBox::bbClone(const std::string& name)
   {
-    bbtkDebugMessageInc("Kernel",9,
-                       "ComplexBlackBox::bbClone(\""<<name<<"\") ["
-                       <<bbGetFullName()<<"]"<<std::endl);
+    bbtkBlackBoxDebugMessage("kernel",9,
+                       "==> ComplexBlackBox::bbClone(\""<<name<<"\")"
+                            <<std::endl);
     
     ComplexBlackBox* CBB = new ComplexBlackBox(*this,name);
-    return MakeBlackBoxPointer(CBB);
+    bbtkBlackBoxDebugMessage("kernel",9,
+                            "<== ComplexBlackBox::bbClone(\""<<name<<"\")"
+                            <<std::endl);
+     return MakeBlackBoxPointer(CBB);
   }
   //=======================================================================
 
@@ -262,11 +268,11 @@ namespace bbtk
   /// Executes the box so that its outputs are up-to-date on exit
   void ComplexBlackBox::bbExecute(bool force)
   {
-    bbtkDebugMessageInc("process",2,
-                       "=> ComplexBlackBox::bbExecute() ["
-                       <<bbGetFullName()<<"]"<<std::endl);
-
-
+    bbtkBlackBoxDebugMessage("process",2,
+                            "**> ComplexBlackBox::bbExecute()"
+                            <<std::endl);
+    
+    
     Wx::BusyCursor wait;
     
     if (mExecutionList.size() != 0) 
@@ -277,7 +283,7 @@ namespace bbtk
             i!=mExecutionList.end();
             ++i) 
          {
-           bbtkDebugMessage("process",3," -> Executing '"<<*i<<"'"<<std::endl);
+           bbtkBlackBoxDebugMessage("process",3," -> Executing '"<<*i<<"'"<<std::endl);
            mBlackBoxMap[*i]->bbExecute(force);
          }
       }
@@ -289,21 +295,23 @@ namespace bbtk
            i->second->bbExecute(force);
          }
       } 
-
+    bbtkBlackBoxDebugMessage("process",2,
+                            "<** ComplexBlackBox::bbExecute()"
+                            <<std::endl);
+    
   }
   //==================================================================
 
   //==================================================================
   void ComplexBlackBox::bbAddToExecutionList( const std::string& name )
   {
-    bbtkDebugMessageInc("Kernel",9,
+    bbtkBlackBoxDebugMessage("kernel",9,
                        "ComplexBlackBox::bbAddToExecutionList(\""
-                       <<name<<"\") ["
-                       <<bbGetFullName()<<"]"<<std::endl);
+                       <<name<<"\")"
+                            <<std::endl);
     
     mExecutionList.push_back( name );
     
-    bbtkDebugDecTab("Kernel",9);   
     
   }
   //==================================================================
@@ -312,9 +320,9 @@ namespace bbtk
   //==================================================================
   Data ComplexBlackBox::bbGetOutput( const std::string &name )
   {
-    bbtkDebugMessageInc("Data",7,
-                       "ComplexBlackBox::bbGetOutput(\""<<name<<"\") ["
-                       <<bbGetFullName()<<"]"<<std::endl);
+    bbtkBlackBoxDebugMessage("data",7,
+                       "ComplexBlackBox::bbGetOutput(\""<<name<<"\")"
+                       <<std::endl);
 
     ComplexBlackBoxOutputDescriptor* d = 
       (ComplexBlackBoxOutputDescriptor*)
@@ -322,8 +330,6 @@ namespace bbtk
     
     Data p = bbGetBlackBox(d->GetTarget())->bbGetOutput(d->GetOutput());
 
-
-    bbtkDebugDecTab("Data",7);
     return p;
   }
   //==================================================================
@@ -332,9 +338,9 @@ namespace bbtk
   ///  Gets the input Data of a given name
   Data ComplexBlackBox::bbGetInput( const std::string &name ) 
   {
-    bbtkDebugMessageInc("Data",7,
-                       "ComplexBlackBox::bbGetInput(\""<<name<<"\") ["
-                       <<bbGetFullName()<<"]"<<std::endl);  
+    bbtkBlackBoxDebugMessage("data",7,
+                       "ComplexBlackBox::bbGetInput(\""<<name<<"\")"
+                            <<std::endl);  
 
     ComplexBlackBoxInputDescriptor* d = 
       (ComplexBlackBoxInputDescriptor*)
@@ -342,7 +348,6 @@ namespace bbtk
 
     Data p = bbGetBlackBox(d->GetTarget())->bbGetInput(d->GetInput());
 
-    bbtkDebugDecTab("Data",7);
     return p;
   }
   //==================================================================
@@ -351,9 +356,9 @@ namespace bbtk
   ///  Sets the data of the output called <name>
   void ComplexBlackBox::bbSetOutput( const std::string &name, Data data)
   {
-    bbtkDebugMessageInc("Data",7,
-                       "ComplexBlackBox::bbSetOutput(\""<<name<<"\",data) ["
-                       <<bbGetFullName()<<"]"<<std::endl); 
+    bbtkBlackBoxDebugMessage("data",7,
+                       "ComplexBlackBox::bbSetOutput(\""<<name<<"\",data)"
+                            <<std::endl); 
 
     ComplexBlackBoxOutputDescriptor* d = 
       (ComplexBlackBoxOutputDescriptor*)
@@ -361,7 +366,6 @@ namespace bbtk
     
     bbGetBlackBox(d->GetTarget())->bbSetOutput(d->GetOutput(),data);
 
-    bbtkDebugDecTab("Data",7);
   }
   //==================================================================
   
@@ -370,16 +374,15 @@ namespace bbtk
   void ComplexBlackBox::bbSetInput( const std::string &name, Data data,
                                    bool setModified)
   {
-    bbtkDebugMessageInc("Data",7,
-                       "ComplexBlackBox::bbSetInput(\""<<name<<"\",data) ["
-                       <<bbGetFullName()<<"]"<<std::endl);  
+    bbtkBlackBoxDebugMessage("data",7,
+                       "ComplexBlackBox::bbSetInput(\""<<name<<"\",data)"
+                            <<std::endl);  
 
     ComplexBlackBoxInputDescriptor* d = (ComplexBlackBoxInputDescriptor*)
       bbGetDescriptor()->GetInputDescriptor(name);
 
     bbGetBlackBox(d->GetTarget())->bbSetInput(d->GetInput(),data,setModified);
 
-    bbtkDebugDecTab("Data",7);
   }
   //==================================================================
 
@@ -390,10 +393,10 @@ namespace bbtk
                                                     void* data,
                                                     bool setModified)
   {
-    bbtkDebugMessageInc("Data",7,
+    bbtkBlackBoxDebugMessage("data",7,
                        "ComplexBlackBox::bbBruteForceSetInputPointer('"
-                       <<name<<"',"<<data<<") ["
-                       <<bbGetFullName()<<"]"<<std::endl);  
+                       <<name<<"',"<<data<<")"
+                            <<std::endl);  
 
     ComplexBlackBoxInputDescriptor* d = (ComplexBlackBoxInputDescriptor*)
       bbGetDescriptor()->GetInputDescriptor(name);
@@ -402,7 +405,6 @@ namespace bbtk
                                                               data,
                                                               setModified);
 
-    bbtkDebugDecTab("Data",7);
   }
   //==================================================================
 
@@ -410,10 +412,9 @@ namespace bbtk
   /// Connects the input <name> to the connection c
   void ComplexBlackBox::bbConnectInput( const std::string& name, Connection* c)
   {
-    bbtkDebugMessage("connection",2,
+    bbtkBlackBoxDebugMessage("connection",2,
                     "==> ComplexBlackBox::bbConnectInput(\""
-                    <<name<<"\","<<c->GetFullName()<<") ["
-                    <<bbGetFullName()<<"]"
+                    <<name<<"\","<<c->GetFullName()<<")"
                     <<std::endl);       
     
    ComplexBlackBoxInputDescriptor* d = (ComplexBlackBoxInputDescriptor*)
@@ -422,18 +423,17 @@ namespace bbtk
 
    BlackBox::Pointer t = bbGetBlackBox(d->GetTarget());
 
-   bbtkDebugMessage("connection",2," - Target = "<<d->GetTarget()<<" = "<<t->bbGetFullName()<<std::endl);
+   bbtkBlackBoxDebugMessage("connection",2," - Target = "<<d->GetTarget()<<" = "<<t->bbGetFullName()<<std::endl);
 
    c->SetBlackBoxTo(t);
    c->SetBlackBoxToInput(d->GetInput());
 
-   bbtkDebugMessage("connection",2," - New conn = "<<c->GetFullName()<<std::endl);
+   bbtkBlackBoxDebugMessage("connection",2," - New conn = "<<c->GetFullName()<<std::endl);
    t->bbConnectInput(d->GetInput(),c);
 
-   bbtkDebugMessage("connection",2,
+   bbtkBlackBoxDebugMessage("connection",2,
                     "<== ComplexBlackBox::bbConnectInput(\""
-                    <<name<<"\","<<c->GetFullName()<<") ["
-                    <<bbGetFullName()<<"]"
+                    <<name<<"\","<<c->GetFullName()<<")"
                     <<std::endl);       
   }
   //=========================================================================
@@ -443,29 +443,29 @@ namespace bbtk
   /// Connects the output <name> to the connection c
   void ComplexBlackBox::bbConnectOutput( const std::string& name, Connection* c)
   {
-    bbtkDebugMessage("connection",2,
+    bbtkBlackBoxDebugMessage("connection",2,
                     "==> ComplexBlackBox::bbConnectOutput(\""
-                    <<name<<"\","<<c->GetFullName()<<") ["
-                    <<bbGetFullName()<<"]"<<std::endl);       
+                    <<name<<"\","<<c->GetFullName()<<")"
+                            <<std::endl);       
 
    ComplexBlackBoxOutputDescriptor* d = (ComplexBlackBoxOutputDescriptor*)
       bbGetDescriptor()->GetOutputDescriptor(name);
 
    BlackBox::Pointer t = bbGetBlackBox(d->GetTarget());
  
-  bbtkDebugMessage("connection",2," - Target = "<<d->GetTarget()<<" = "<<t->bbGetFullName()<<std::endl);
+  bbtkBlackBoxDebugMessage("connection",2," - Target = "<<d->GetTarget()<<" = "<<t->bbGetFullName()<<std::endl);
 
    c->SetBlackBoxFrom(t);
    c->SetBlackBoxFromOutput(d->GetOutput());
 
-   bbtkDebugMessage("connection",2," - New conn = "<<c->GetFullName()<<std::endl);
+   bbtkBlackBoxDebugMessage("connection",2," - New conn = "<<c->GetFullName()<<std::endl);
 
    t->bbConnectOutput(d->GetOutput(),c);
   
-    bbtkDebugMessage("connection",2,
+    bbtkBlackBoxDebugMessage("connection",2,
                     "<== ComplexBlackBox::bbConnectOutput(\""
-                    <<name<<"\","<<c->GetFullName()<<") ["
-                    <<bbGetFullName()<<"]"<<std::endl);       
+                    <<name<<"\","<<c->GetFullName()<<")"
+                            <<std::endl);       
   }
   //=========================================================================
 
@@ -474,10 +474,10 @@ namespace bbtk
   /// Adds the black box to the complex box
   void ComplexBlackBox::bbAddBlackBox( BlackBox::Pointer b)
   {
-    bbtkDebugMessageInc("Kernel",7,
-                       "ComplexBlackBox::AddBlackBox(\""<<b->bbGetName()
-                       <<"\") ["
-                       <<bbGetFullName()<<"]"<<std::endl);  
+    bbtkBlackBoxDebugMessage("kernel",7,
+                            "ComplexBlackBox::AddBlackBox(\""<<b->bbGetName()
+                            <<"\")"
+                            <<std::endl);  
     
     if ( bbUnsafeGetBlackBox(b->bbGetName()) ) 
       {
@@ -487,7 +487,6 @@ namespace bbtk
     b->bbSetParent(GetThisPointer<ComplexBlackBox>());
     mBlackBoxMap[b->bbGetName()] = b;
 
-    bbtkDebugDecTab("Kernel",7);
   }
   //==================================================================
 
@@ -495,15 +494,14 @@ namespace bbtk
   /// Adds the black box to the complex box (unsafe)
   void ComplexBlackBox::bbUnsafeAddBlackBox( BlackBox::Pointer b)
   {
-    bbtkDebugMessageInc("Kernel",7,
+    bbtkBlackBoxDebugMessage("kernel",7,
                        "ComplexBlackBox::UnsafeAddBlackBox(\""<<b->bbGetName()
-                       <<"\") ["
-                       <<bbGetFullName()<<"]"<<std::endl);  
+                       <<"\")"
+                       <<std::endl);  
     
     b->bbSetParent(GetThisPointer<ComplexBlackBox>());
     mBlackBoxMap[b->bbGetName()] = b;
 
-    bbtkDebugDecTab("Kernel",7);
   }
   //==================================================================
 
@@ -512,9 +510,9 @@ namespace bbtk
   void ComplexBlackBox::bbRemoveBlackBox( const std::string& name, 
                                          bool remove_connections )
   {
-    bbtkDebugMessageInc("Kernel",7,
-                       "ComplexBlackBox::RemoveBlackBox(\""<<name<<"\") ["
-                       <<bbGetFullName()<<"]"<<std::endl);  
+    bbtkBlackBoxDebugMessage("kernel",7,
+                       "ComplexBlackBox::RemoveBlackBox(\""<<name<<"\")"
+                            <<std::endl);  
 
     BlackBoxMapType::iterator i = mBlackBoxMap.find(name);
     if ( i == mBlackBoxMap.end() ) 
@@ -543,7 +541,6 @@ namespace bbtk
     // Unload orphan dl packages 
     Package::UnLoadReleasedDynamicallyLoadedPackages();
 
-    bbtkDebugDecTab("Kernel",7);
   }
   //==================================================================
 
@@ -551,13 +548,12 @@ namespace bbtk
   /// Adds the connection to the complex box
   void ComplexBlackBox::bbAddConnection( Connection::Pointer c)
   {
-    bbtkDebugMessageInc("Kernel",7,
-                       "ComplexBlackBox::AddConnection(\""<<"..."<<"\") ["
-                       <<bbGetFullName()<<"]"<<std::endl);  
+    bbtkBlackBoxDebugMessage("kernel",7,
+                       "ComplexBlackBox::AddConnection(\""<<"..."<<"\")"
+                            <<std::endl);  
 
     mConnectionList.push_back(c);
 
-    bbtkDebugDecTab("Kernel",7);
   }
   //==================================================================
   //    void RemoveConnection( );
@@ -566,9 +562,9 @@ namespace bbtk
   /// Returns the black box with name <name>
   BlackBox::Pointer ComplexBlackBox::bbGetBlackBox( const std::string& name )
   {
-    bbtkDebugMessageInc("Kernel",9,
-                       "ComplexBlackBox::GetBlackBox(\""<<name<<"\") ["
-                       <<bbGetFullName()<<"]"<<std::endl);  
+    bbtkBlackBoxDebugMessage("kernel",9,
+                       "ComplexBlackBox::GetBlackBox(\""<<name<<"\")"
+                            <<std::endl);  
 
     BlackBoxMapType::iterator i = mBlackBoxMap.find(name);
     if ( i == mBlackBoxMap.end() ) 
@@ -576,7 +572,6 @@ namespace bbtk
        bbtkError("the black box \""<<name<<"\" does not exist");
       }
 
-    bbtkDebugDecTab("Kernel",9);
     return i->second;
   }
   //==================================================================
@@ -586,19 +581,16 @@ namespace bbtk
   /// if it does not exist but return a null pointer
   BlackBox::Pointer ComplexBlackBox::bbUnsafeGetBlackBox( const std::string& name )
   {
-    bbtkDebugMessageInc("Kernel",9,
-                       "ComplexBlackBox::UnsafeGetBlackBox(\""<<name<<"\") ["
-                       <<bbGetFullName()<<"]"
+    bbtkBlackBoxDebugMessage("kernel",9,
+                       "ComplexBlackBox::UnsafeGetBlackBox(\""<<name<<"\")"
                        <<std::endl);  
 
     BlackBoxMapType::iterator i = mBlackBoxMap.find(name);
     if ( i == mBlackBoxMap.end() ) 
       {
-       bbtkDebugDecTab("Kernel",9);
        return BlackBox::Pointer();
       }
 
-    bbtkDebugDecTab("Kernel",9);
     return i->second;
     
   }
@@ -607,18 +599,16 @@ namespace bbtk
   //==================================================================
   void ComplexBlackBox::bbPrintBlackBoxes()
   {
-    bbtkDebugMessageInc("Kernel",9,
-                       "ComplexBlackBox::PrintBlackBoxes() ["
-                       <<bbGetFullName()<<"]"
+    bbtkBlackBoxDebugMessage("kernel",9,
+                       "ComplexBlackBox::PrintBlackBoxes()"
                        <<std::endl);  
 
     BlackBoxMapType::iterator i;
     for ( i = mBlackBoxMap.begin(); i != mBlackBoxMap.end(); ++i ) 
       {
-       bbtkMessage("Help",1,i->second->bbGetFullName()<<std::endl);
+       bbtkMessage("help",1,i->second->bbGetFullName()<<std::endl);
       }
 
-    bbtkDebugDecTab("Kernel",9);
   }
   //==================================================================
 
index de6d2b70922fe06ff02e89c24ae5c258c1950ff8..a56659c030cb2b2572bd4dfe8fbe49544efa6401 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkComplexBlackBoxDescriptor.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/03/30 15:22:51 $
-  Version:   $Revision: 1.19 $
+  Date:      $Date: 2009/05/28 08:12:05 $
+  Version:   $Revision: 1.20 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
 #include "bbtkMessageManager.h"
 #include "bbtkUtilities.h"
 
+#define bbtkDMessage(key,level,mess) \
+  bbtkMessage(key,level,"["<<GetFullTypeName()<<"] "<<mess)
+#define bbtkDDebugMessage(key,level,mess)      \
+  bbtkDebugMessage(key,level,"["<<GetFullTypeName()<<"] "<<mess)
+
 namespace bbtk
 {
    //=======================================================================
@@ -58,13 +63,13 @@ namespace bbtk
   /// Default ctor
   ComplexBlackBoxDescriptor::ComplexBlackBoxDescriptor(const std::string& name)
   {
-    bbtkDebugMessage("object",2,"==> ComplexBlackBoxDescriptor::ComplexBlackBoxDescriptor(\""<<name<<"\")"<<std::endl);
+    bbtkDDebugMessage("object",2,"==> ComplexBlackBoxDescriptor(\""<<name<<"\")"<<std::endl);
     SetTypeName(name);
     AddToCategory("complex box");
     mPrototype = ComplexBlackBox::New(name+std::string("Prototype"),
                                      MakePointer(this,true));
     mPrototype->SetAsPrototype();
-    bbtkDebugMessage("object",2,"<== ComplexBlackBoxDescriptor::ComplexBlackBoxDescriptor(\""<<name<<"\")"<<std::endl);
+    bbtkDDebugMessage("object",2,"<== ComplexBlackBoxDescriptor(\""<<name<<"\")"<<std::endl);
   }
   //=======================================================================
 
@@ -74,10 +79,9 @@ namespace bbtk
   /// Default dtor
   ComplexBlackBoxDescriptor::~ComplexBlackBoxDescriptor()
   {
-    bbtkDebugMessage("object",2,"==> ComplexBlackBoxDescriptor::~ComplexBlackBoxDescriptor(\""<<GetTypeName()<<"\")"<<std::endl);
-    //    mPrototype->Delete();
+    bbtkDDebugMessage("object",2,"==> ~ComplexBlackBoxDescriptor()"<<std::endl);
     mPrototype.reset();
-    bbtkDebugMessage("object",2,"<== ComplexBlackBoxDescriptor::~ComplexBlackBoxDescriptor(\""<<GetTypeName()<<"\")"<<std::endl);
+    bbtkDDebugMessage("object",2,"<== ~ComplexBlackBoxDescriptor()"<<std::endl);
   }
   //=======================================================================
 
@@ -94,14 +98,14 @@ namespace bbtk
   BlackBox::Pointer 
   ComplexBlackBoxDescriptor::NewBlackBox(const std::string& name)
   {
-    bbtkDebugMessageInc("Kernel",5,
-                       "ComplexBlackBoxDescriptor::NewBlackBox(\""
-                       <<name<<"\") ["
-                       <<GetTypeName()<<"]"<<std::endl);
+    bbtkDDebugMessage("kernel",5,
+                     "ComplexBlackBoxDescriptor::NewBlackBox(\""
+                     <<name<<"\")"
+                     <<std::endl);
     
     return mPrototype->bbClone(name);
 
-    bbtkDebugDecTab("Kernel",5);
+
   }
   //=======================================================================
 
@@ -120,10 +124,10 @@ namespace bbtk
                                        const std::string& name
                                        )
   {
-    bbtkDebugMessageInc("Kernel",5,
+    bbtkDDebugMessage("kernel",5,
                        "ComplexBlackBoxDescriptor::Add(\""
-                       <<type<<"\",\""<<name<<"\") ["
-                       <<GetTypeName()<<"]"<<std::endl);
+                       <<type<<"\",\""<<name<<"\")"
+                       <<std::endl);
     
     // 
     if (!GetFactory()) 
@@ -139,7 +143,7 @@ namespace bbtk
     // ok : create new one
     mPrototype->bbAddBlackBox ( GetFactory()->NewBlackBox(type,name) );
 
-    bbtkDebugDecTab("Kernel",5);
+
   }
   //=======================================================================
   
@@ -157,10 +161,10 @@ namespace bbtk
   /// Adds a black box to the execution list 
   void ComplexBlackBoxDescriptor::AddToExecutionList ( const std::string& box)
   {
-    bbtkDebugMessageInc("Kernel",5,
-                       "ComplexBlackBoxDescriptor::AddToExecutionList(\""
-                       <<box<<"\" ["
-                       <<GetTypeName()<<"]"<<std::endl);
+    bbtkDDebugMessage("kernel",5,
+                     "ComplexBlackBoxDescriptor::AddToExecutionList(\""
+                     <<box<<"\""
+                     <<std::endl);
     // Verify that the box exists
     BlackBox::Pointer b = mPrototype->bbUnsafeGetBlackBox( box ); 
     if ( !b ) 
@@ -170,7 +174,7 @@ namespace bbtk
     // ok 
     mPrototype->bbAddToExecutionList ( box  );
 
-    bbtkDebugDecTab("Kernel",5);
+
     }
 
 
@@ -182,12 +186,12 @@ namespace bbtk
                                            const std::string& input
                                            )
   {
-    bbtkDebugMessageInc("Kernel",5,
+    bbtkDDebugMessage("kernel",5,
                        "ComplexBlackBoxDescriptor::Connect(\""
                        <<from<<"\",\""<<output<<"\",\""
                        <<to<<"\",\""<<input
-                       <<"\") ["
-                       <<GetTypeName()<<"]"<<std::endl);
+                       <<"\")"
+                       <<std::endl);
   // 
     if (!GetFactory()) 
       { 
@@ -212,7 +216,7 @@ namespace bbtk
 
     mPrototype->bbAddConnection(c);
 
-    bbtkDebugDecTab("Kernel",5);
+
   }
   //=======================================================================
 
@@ -224,12 +228,12 @@ namespace bbtk
                                                const std::string& input,
                                                const std::string& help)
   {
-    bbtkDebugMessageInc("Kernel",5,
+    bbtkDDebugMessage("kernel",5,
                        "ComplexBlackBoxDescriptor::DefineInput(\""
                        <<name<<"\",\""<<box<<"\",\""
                        <<input<<"\",\""<<help
-                       <<"\") ["
-                       <<GetTypeName()<<"]"<<std::endl);
+                       <<"\")"
+                       <<std::endl);
 
     BlackBox::Pointer bb = mPrototype->bbGetBlackBox( box );
     if ( !bb ) 
@@ -255,7 +259,7 @@ namespace bbtk
                           d->GetTypeInfo()));
     
     
-    bbtkDebugDecTab("Kernel",5);
+
   }
   //=======================================================================
 
@@ -266,12 +270,12 @@ namespace bbtk
                                                 const std::string& output,
                                                 const std::string& help)
   {
-    bbtkDebugMessageInc("Kernel",5,
+    bbtkDDebugMessage("kernel",5,
                        "ComplexBlackBoxDescriptor::DefineOutput(\""
                        <<name<<"\",\""<<box<<"\",\""
                        <<output<<"\",\""<<help
-                       <<"\") ["
-                       <<GetTypeName()<<"]"<<std::endl);
+                       <<"\")"
+                       <<std::endl);
 
     BlackBox::Pointer bb = mPrototype->bbGetBlackBox( box );
     if ( !bb ) 
@@ -297,7 +301,7 @@ namespace bbtk
                            d->GetTypeInfo()));
     
     
-    bbtkDebugDecTab("Kernel",5);
+
   }
   //=======================================================================
 
@@ -327,9 +331,9 @@ namespace bbtk
                                                   int detail, int level,
                                                   const std::string& output_dir, bool relative_link)
   {
-    bbtkDebugMessageInc("Kernel",9,
-                       "ComplexBlackBoxDescriptor::InsertHtmlHelp() ["
-                       <<GetTypeName()<<"]"<<std::endl);
+    bbtkDDebugMessage("kernel",9,
+                     "ComplexBlackBoxDescriptor::InsertHtmlHelp()"
+                      <<std::endl);
     
     //-------------
     // General info 
@@ -495,7 +499,7 @@ namespace bbtk
     //------------
     // End
 
-    bbtkDebugDecTab("Kernel",9);
+
    }
   //=========================================================================
  
@@ -503,16 +507,16 @@ namespace bbtk
   //=======================================================================
   void ComplexBlackBoxDescriptor::GetHelp(bool full) const
   {
-    if (full) bbtkMessage("Help",1,"Complex Black Box <"<<
+    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," Category(s) : "  << GetCategory()     <<std::endl);    
+    bbtkMessage("help",1," "                << GetDescription() <<std::endl);
+    bbtkMessage("help",1," By : "           << GetAuthor()      <<std::endl);
+    bbtkMessage("help",1," Category(s) : "  << GetCategory()     <<std::endl);    
     if (mInput.size()) 
-      bbtkMessage("Help",1," * Inputs : "<<std::endl);
+      bbtkMessage("help",1," * Inputs : "<<std::endl);
     else 
-      bbtkMessage("Help",1," * No inputs"<<std::endl);
+      bbtkMessage("help",1," * No inputs"<<std::endl);
     InputDescriptorMapType::const_iterator i;
     unsigned int namelmax = 0;
     unsigned int typelmax = 0;
@@ -552,7 +556,7 @@ namespace bbtk
           std::string nature(i->second->GetNature());
           nature += "]";
           nature.append(1+natlmax-nature.size(),' ');
-          bbtkMessage("Help",1,
+          bbtkMessage("help",1,
                       "    '"<<name
                       <<" <"<<type
                       <<" ["<<nature
@@ -561,9 +565,9 @@ namespace bbtk
     if (full) 
     {
           if (mOutput.size()) 
-            bbtkMessage("Help",1," * Outputs : "<<std::endl);
+            bbtkMessage("help",1," * Outputs : "<<std::endl);
           else 
-            bbtkMessage("Help",1," * No outputs"<<std::endl);
+            bbtkMessage("help",1," * No outputs"<<std::endl);
           for ( o = mOutput.begin();  o != mOutput.end(); ++o ) 
           {
             std::string name(o->second->GetName());
@@ -575,7 +579,7 @@ namespace bbtk
             std::string nature(o->second->GetNature());
             nature += "]";
             nature.append(1+natlmax-nature.size(),' ');
-            bbtkMessage("Help",1,
+            bbtkMessage("help",1,
                       "    '"<<name
                         <<" <"<<type
                         <<" ["<<nature
@@ -587,14 +591,14 @@ namespace bbtk
           const ComplexBlackBox::BlackBoxMapType& B = mPrototype->bbGetBlackBoxMap();
        
           if (B.size()) 
-            bbtkMessage("Help",1," * Boxes : "<<std::endl);
+            bbtkMessage("help",1," * Boxes : "<<std::endl);
           else 
-            bbtkMessage("Help",1," * No boxes"<<std::endl);
+            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()<<
+            bbtkMessage("help",1,"    '"<<b->second->bbGetName()<<
                         "' <"
                         << b->second->bbGetDescriptor()->GetPackage()->GetName() 
                         <<"::"
index 65121f06aba677f5abb0b5f5fd70ded6bb8389dc..0cbab138116538336909ff77e70688f48da03b23 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkComplexBlackBoxInputDescriptor.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/10/17 08:18:12 $
-  Version:   $Revision: 1.5 $
+  Date:      $Date: 2009/05/28 08:12:05 $
+  Version:   $Revision: 1.6 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -55,13 +55,14 @@ namespace bbtk
     mType(type)
   {    
     
-    bbtkDebugMessage("Kernel",9,"ComplexBlackBoxInputDescriptor::ComplexBlackBoxInputDescriptor(\""<<name<<"\",\""<<description<<"\",\""<<target<<"\",\""<<input<<"\")"<<std::endl);
+    bbtkDebugMessage("kernel",9,"ComplexBlackBoxInputDescriptor(\""<<name<<"\",\""<<description<<"\",\""<<target<<"\",\""<<input<<"\")"<<std::endl);
   }
   
 
   ComplexBlackBoxInputDescriptor::~ComplexBlackBoxInputDescriptor() 
   {
-    bbtkDebugMessage("Kernel",9,"ComplexBlackBoxInputDescriptor::~ComplexBlackBoxInputDescriptor(\""<<GetName()<<"\",\""<<GetDescription()<<"\",\""<<GetTarget()<<"\",\""<<GetInput()<<"\")"<<std::endl);
+    bbtkDebugMessage("kernel",9,"~ComplexBlackBoxInputDescriptor(\""
+                    <<GetName()<<"\")"<<std::endl);
   }
   
 }
index 840c6fb0ebbedf8dea34ee3e34a8e23b3821de73..b2eba262979a30dcef55881ebdce0954df1372d8 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkComplexBlackBoxOutputDescriptor.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/10/17 08:18:12 $
-  Version:   $Revision: 1.5 $
+  Date:      $Date: 2009/05/28 08:12:05 $
+  Version:   $Revision: 1.6 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -54,7 +54,7 @@ namespace bbtk
     mType(type)
   {    
     
-    bbtkDebugMessage("Kernel",9,"ComplexBlackBoxOutputDescriptor::ComplexBlackBoxOutputDescriptor(\""<<name<<"\",\""<<description<<"\",\""<<target<<"\",\""<<output<<"\")"<<std::endl);
+    bbtkDebugMessage("kernel",9,"ComplexBlackBoxOutputDescriptor(\""<<name<<"\",\""<<description<<"\",\""<<target<<"\",\""<<output<<"\")"<<std::endl);
   }
   
 
@@ -63,7 +63,8 @@ namespace bbtk
 
   ComplexBlackBoxOutputDescriptor::~ComplexBlackBoxOutputDescriptor() 
   {
-    bbtkDebugMessage("Kernel",9,"ComplexBlackBoxOutputDescriptor::~ComplexBlackBoxOutputDescriptor(\""<<GetName()<<"\",\""<<GetDescription()<<"\",\""<<GetTarget()<<"\",\""<<GetOutput()<<"\")"<<std::endl);
+    bbtkDebugMessage("kernel",9,"~ComplexBlackBoxOutputDescriptor(\""
+                    <<GetName()<<"\")"<<std::endl);
   }
   
 }
index 37c0eb6be1448122aacd7f025324e4f973e34329..9b1d3eb11ab306beccedb3b82cdb696bad350716 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkConnection.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/03/30 14:42:16 $
-  Version:   $Revision: 1.20 $
+  Date:      $Date: 2009/05/28 08:12:05 $
+  Version:   $Revision: 1.21 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
 #include "bbtkMessageManager.h"
 #include "bbtkBlackBoxOutputConnector.h"
 
+#define bbtkCMessage(key,level,mess) \
+  bbtkMessage(key,level,"["<<GetFullName()<<"] "<<mess)
+#define bbtkCDebugMessage(key,level,mess)      \
+  bbtkDebugMessage(key,level,"["<<GetFullName()<<"] "<<mess)
+
 namespace bbtk
 {
   const std::string IOSTATUS_STRING[3] = 
@@ -54,13 +59,13 @@ namespace bbtk
                                      const std::string& input ,
                                      const Factory::Pointer f  )
   {
-    bbtkDebugMessage("object",1,"##> Connection::Connection(\""
+    bbtkDebugMessage("object",1,"##> Connection(\""
                     <<from->bbGetName()<<"\",\""<<output<<"\",\""
                     <<to->bbGetName()<<"\",\""<<input<<"\")"
                     <<std::endl);
     Connection::Pointer p = 
       MakePointer(new Connection(from,output,to,input,f));
-    bbtkDebugMessage("object",1,"<## Connection::Connection(\""
+    bbtkDebugMessage("object",1,"<## Connection(\""
                     <<from->bbGetName()<<"\",\""<<output<<"\",\""
                     <<to->bbGetName()<<"\",\""<<input<<"\")"
                     <<std::endl);
@@ -79,14 +84,14 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
       mFromAny(false),
       mToAny(false)
   {
-    bbtkDebugMessage("object",2,"==> Connection::Connection(\""
+    bbtkDebugMessage("object",2,"==> Connection(\""
                     <<from->bbGetName()<<"\",\""<<output<<"\",\""
                     <<to->bbGetName()<<"\",\""<<input<<"\")"
                     <<std::endl);    
 
-    bbtkDebugMessage("connection",1,"==> Connection::Connection(\""
-                    <<from->bbGetFullName()<<"\",\""<<output<<"\",\""
-                    <<to->bbGetFullName()<<"\",\""<<input<<"\")"
+    bbtkDebugMessage("connection",1,"==> Connection(\""
+                    <<from->bbGetName()<<"\",\""<<output<<"\",\""
+                    <<to->bbGetName()<<"\",\""<<input<<"\")"
                     <<std::endl);    
 
     
@@ -127,7 +132,7 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
          }
        else if (  to->bbGetInputType(input) == typeid(Data) )
          {   
-           bbtkDebugMessage("Kernel",8," -> '"<<input<<"' type is "
+           bbtkDebugMessage("kernel",8," -> '"<<input<<"' type is "
                             <<TypeName<Data>()<<" : can receive any data"
                             <<std::endl);
            mToAny = true;
@@ -169,12 +174,12 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
     from->bbGetOutputConnector(output).AddChangeObserver(boost::bind(&bbtk::Connection::OnOutputChange,this, _1, _2, _3));
 
     
-    bbtkDebugMessage("connection",1,"<== Connection::Connection(\""
-                    <<from->bbGetFullName()<<"\",\""<<output<<"\",\""
-                    <<to->bbGetFullName()<<"\",\""<<input<<"\")"
+    bbtkDebugMessage("connection",1,"<== Connection(\""
+                    <<from->bbGetName()<<"\",\""<<output<<"\",\""
+                    <<to->bbGetName()<<"\",\""<<input<<"\")"
                     <<std::endl);    
 
-    bbtkDebugMessage("object",2,"==> Connection::Connection(\""
+    bbtkDebugMessage("object",2,"<== Connection(\""
                     <<from->bbGetName()<<"\",\""<<output<<"\",\""
                     <<to->bbGetName()<<"\",\""<<input<<"\")"
                     <<std::endl);    
@@ -187,13 +192,13 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
                                      BlackBox::Pointer to, 
                                      const std::string& input )
   {
-    bbtkDebugMessage("object",1,"##> Connection::Connection(\""
+    bbtkDebugMessage("object",1,"##> Connection(\""
                     <<from->bbGetName()<<"\",\""<<output<<"\",\""
                     <<to->bbGetName()<<"\",\""<<input<<"\")"
                     <<std::endl);
     Connection::Pointer p = 
       MakePointer(new Connection(from,output,to,input));
-    bbtkDebugMessage("object",1,"<## Connection::Connection(\""
+    bbtkDebugMessage("object",1,"<## Connection(\""
                     <<from->bbGetName()<<"\",\""<<output<<"\",\""
                     <<to->bbGetName()<<"\",\""<<input<<"\")"
                     <<std::endl);
@@ -211,14 +216,14 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
       mFromAny(false),
       mToAny(false)
   {
-    bbtkDebugMessage("object",2,"==> Connection::Connection(\""
+    bbtkDebugMessage("object",2,"==> Connection(\""
                     <<from->bbGetName()<<"\",\""<<output<<"\",\""
                     <<to->bbGetName()<<"\",\""<<input<<"\")"
                     <<std::endl);    
 
-    bbtkDebugMessage("connection",1,"==> Connection::Connection(\""
-                    <<from->bbGetFullName()<<"\",\""<<output<<"\",\""
-                    <<to->bbGetFullName()<<"\",\""<<input<<"\")"
+    bbtkDebugMessage("connection",1,"==> Connection(\""
+                    <<from->bbGetName()<<"\",\""<<output<<"\",\""
+                    <<to->bbGetName()<<"\",\""<<input<<"\")"
                     <<std::endl);    
 
     
@@ -261,7 +266,7 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
          }
        else if (  to->bbGetInputType(input) == typeid(Data) )
          {   
-           bbtkDebugMessage("Kernel",8," -> '"<<input<<"' type is "
+           bbtkDebugMessage("kernel",8," -> '"<<input<<"' type is "
                             <<TypeName<Data>()<<" : can receive any data"
                             <<std::endl);
            mToAny = true;
@@ -287,12 +292,12 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
 
     from->bbGetOutputConnector(output).AddChangeObserver(boost::bind(&bbtk::Connection::OnOutputChange,this, _1, _2, _3));
     
-    bbtkDebugMessage("connection",1,"<== Connection::Connection(\""
-                    <<from->bbGetFullName()<<"\",\""<<output<<"\",\""
-                    <<to->bbGetFullName()<<"\",\""<<input<<"\")"
+    bbtkDebugMessage("connection",1,"<== Connection(\""
+                    <<from->bbGetName()<<"\",\""<<output<<"\",\""
+                    <<to->bbGetName()<<"\",\""<<input<<"\")"
                     <<std::endl);    
 
-    bbtkDebugMessage("object",2,"==> Connection::Connection(\""
+    bbtkDebugMessage("object",2,"==> Connection(\""
                     <<from->bbGetName()<<"\",\""<<output<<"\",\""
                     <<to->bbGetName()<<"\",\""<<input<<"\")"
                     <<std::endl);    
@@ -303,9 +308,9 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
   /// Dtor 
   Connection::~Connection()
   {
-    bbtkDebugMessage("object",2,
-                    "==> Connection::~Connection() ["
-                    <<GetFullName()<<"]"<<std::endl);
+    bbtkCDebugMessage("object",4,
+                    "==> ~Connection()"
+                    <<std::endl);
 
     if (mAdaptor) mAdaptor.reset();
     if (mFrom!=0) 
@@ -316,7 +321,7 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
       }
     else 
       {
-       bbtkInternalError("Connection::~Connection() : invalid initial box pointer");
+       bbtkInternalError("~Connection() : invalid initial box pointer");
       }
     if (mTo!=0) 
       {
@@ -325,13 +330,13 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
       }
     else 
       {
-       bbtkInternalError("Connection::~Connection() : invalid final box pointer");
+       bbtkInternalError("~Connection() : invalid final box pointer");
       }
 
 
-    bbtkDebugMessage("object",2,
-                    "<== Connection::~Connection() ["
-                    <<GetFullName()<<"]"<<std::endl);
+    bbtkCDebugMessage("object",4,
+                     "<== ~Connection()"
+                     <<std::endl);
   }
   //==================================================================
   
@@ -339,9 +344,9 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
   /// Recursive execution
   void Connection::RecursiveExecute()
   {
-    bbtkDebugMessage("process",4,
-                    "===> Connection::RecursiveExecute() ["
-                    <<GetFullName()<<"]"<<std::endl);
+    bbtkCDebugMessage("process",4,
+                     "===> Connection::RecursiveExecute()"
+                     <<std::endl);
 
     /*
     // If box from already executing : nothing to do
@@ -367,7 +372,7 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
       }
     mTo->bbGetInputConnector(mInput).SetStatus(s);
     
-    bbtkDebugMessage("process",4,
+    bbtkCDebugMessage("process",4,
                     " --> '"<<mTo->bbGetName()<<"."<<mInput
                     <<" ["<<&mTo->bbGetInputConnector(mInput)<<"] "
                     <<"' new status '"
@@ -375,9 +380,9 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
                     <<"'"
                     << std::endl);
 
-    bbtkDebugMessage("process",4,
-                    "<=== Connection::RecursiveExecute() ["
-                    <<GetFullName()<<"]"<<std::endl);
+    bbtkCDebugMessage("process",4,
+                    "<=== Connection::RecursiveExecute()"
+                     <<std::endl);
     return; 
   }
   //==================================================================
@@ -389,9 +394,9 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
   /// doing necessary conversions (adaptation or pointer cast)
   void Connection::TransferData()
   {
-    bbtkDebugMessageInc("data",3,
-                       "Connection::TransferData() ["
-                       <<GetFullName()<<"]"<<std::endl);
+    bbtkCDebugMessage("data",3,
+                     "Connection::TransferData()"
+                     <<std::endl);
     
     
     // If an adaptor was created we need to adapt the data
@@ -406,13 +411,13 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
     // If no adaptor but source type is an any and target is not an any
     else if ( mFromAny && (! mToAny) )
       {
-       bbtkDebugMessage("data",3,
+       bbtkCDebugMessage("data",3,
                         " * Source type is an "
                         <<HumanTypeName<Data>()
                         <<" which contains a <"
                         <<HumanTypeName(mFrom->bbGetOutput(mOutput).type())
                         <<">"<<std::endl);
-       bbtkDebugMessage("data",3,
+       bbtkCDebugMessage("data",3,
                         " * Target type is <"
                         <<HumanTypeName(mTo->bbGetInputType(mInput))
                         <<">"<<std::endl);
@@ -420,14 +425,14 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
        // 0) If from any contents void : nothing to do 
        if (mFrom->bbGetOutput(mOutput).type() == typeid(void)) 
          {
-           bbtkDebugMessage("data",3,
+           bbtkCDebugMessage("data",3,
                             " -> Source is void : nothing to transfer!"<<std::endl);
          }
        // 1) Test strict type matching between any content and target
        else if (mFrom->bbGetOutput(mOutput)
            .contains( mTo->bbGetInputType(mInput) ) )
          {
-           bbtkDebugMessage("data",3,
+           bbtkCDebugMessage("data",3,
                             " -> Equal types : transfer ok"<<std::endl);
            mTo->bbSetInput( mInput, 
                             mFrom->bbGetOutput(mOutput),
@@ -449,7 +454,7 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
              }
            if (adaptor)  
              {
-               bbtkDebugMessage("data",3," -> Adaptor found : using it"
+               bbtkCDebugMessage("data",3," -> Adaptor found : using it"
                                 <<std::endl);
                  adaptor->bbSetInput("In",mFrom->bbGetOutput(mOutput),false);
                adaptor->bbExecute();
@@ -463,7 +468,7 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
                      (mTo->bbGetDescriptor()->GetInputDescriptor(mInput)
                       ->IsPointerType()) )
              {
-               bbtkDebugMessage("data",3,
+               bbtkCDebugMessage("data",3,
                                 " -> No adaptor found but source and target types are both pointers : trying up or down cast"<<std::endl);
                
                void* nptr = 
@@ -508,10 +513,10 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
   void Connection::OnOutputChange(bbtk::BlackBox::Pointer, const std::string&, 
                                  IOStatus status)
   {
-    bbtkDebugMessage("change",2,
+    bbtkCDebugMessage("change",2,
                     "==> Connection::OnOutputChange("
-                    <<GetIOStatusString(status)<<") ["
-                    <<GetFullName()<<"]"<<std::endl);
+                    <<GetIOStatusString(status)<<")"
+                    <<std::endl);
     if (mAdaptor) 
       {
            BlackBoxInputConnector* ac = mAdaptor->bbGetInputConnectorMap().find("In")->second;
@@ -547,7 +552,8 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
   //==================================================================
   void Connection::Check() const
   {
-    bbtkMessage("debug",1,"** Checking Connection "<<(void*)this<<" ["<<GetFullName()<<"]"
+    bbtkMessage("debug",1,"** Checking Connection "<<(void*)this<<" ["
+               <<GetFullName()<<"]"
                <<std::endl);
     if (mFrom==0) 
       {
@@ -555,12 +561,12 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
       }
     else
       {
-       bbtkMessage("debug",2," - From : "<<mFrom->bbGetFullName()<<std::endl);
+       bbtkMessage("debug",2," - From : "<<mFrom->bbGetName()<<std::endl);
        if (!mFrom->bbHasOutput(mOutput))
          {
            bbtkError("** Checking Connection "<<(void*)this
                       <<" ["<<GetFullName()<<"] : "
-                     << mFrom->bbGetFullName()<<" does not have output '"
+                     << mFrom->bbGetName()<<" does not have output '"
                      <<mOutput<<"'");
          }     
        bbtkMessage("debug",2," - From : Output '"<<mOutput<<"' exists"<<std::endl);
@@ -570,7 +576,7 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
          {
             bbtkError("** Checking Connection "<<(void*)this
                       <<" ["<<GetFullName()<<"] : "
-                      <<mFrom->bbGetFullName()<<" output '"
+                      <<mFrom->bbGetName()<<" output '"
                       <<mOutput<<"' is not in OutputConnectorMap");
          }
        bbtkMessage("debug",2," - From : Output '"<<mOutput
@@ -593,9 +599,8 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
          {
            bbtkError("** Checking Connection "<<(void*)this
                      <<" ["<<GetFullName()<<"] : "
-                     << "Connection ["<<GetFullName()<<"] : "
                      <<" OutputConnector '"
-                     <<mOutput<<"' of "<<mFrom->bbGetFullName()
+                     <<mOutput<<"' of "<<mFrom->bbGetName()
                      <<" does not point to this connection");
            
          }
@@ -614,13 +619,13 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
        //      std::cout << mTo << std::endl;
        //      std::cout << mTo->bbGetDescriptor() << std::endl;
        //      std::cout << mTo->bbGetDescriptor()->GetTypeName() << std::endl;
-       //      mTo->bbGetFullName();
-       bbtkMessage("debug",2," - To   : "<<mTo->bbGetFullName()<<std::endl);
+       //      mTo->bbGetName();
+       bbtkMessage("debug",2," - To   : "<<mTo->bbGetName()<<std::endl);
        if (!mTo->bbHasInput(mInput))
          {
            bbtkError("** Checking Connection "<<(void*)this
                      <<" ["<<GetFullName()<<"] : "
-                     <<mTo->bbGetFullName()<<" does not have input '"
+                     <<mTo->bbGetName()<<" does not have input '"
                      <<mInput<<"'");
          }     
        bbtkMessage("debug",2," - To   : Input '"<<mInput<<"' exists"<<std::endl);
@@ -630,7 +635,7 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
          {
             bbtkError("** Checking Connection "<<(void*)this
                       <<" ["<<GetFullName()<<"] : "
-                      <<mTo->bbGetFullName()<<" input '"
+                      <<mTo->bbGetName()<<" input '"
                       <<mInput<<"' is not in InputConnectorMap");
          }
        bbtkMessage("debug",2," - To   : Input '"<<mInput
@@ -640,9 +645,8 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output,
          {
            bbtkError("** Checking Connection "<<(void*)this
                      <<" ["<<GetFullName()<<"] : "
-                     <<"Connection "<<GetFullName()<<" : "
                      <<" InputConnector '"
-                     <<mInput<<"' of "<<mTo->bbGetFullName()
+                     <<mInput<<"' of "<<mTo->bbGetName()
                      <<" does not point to this connection");
     
          }
index 519a264eec6eb7bb3017a38ae007d33df0cf4c89..91054a35c8c026b47be07c4315fa66c5d4c0750e 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkExecuter.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/03/30 15:22:51 $
-  Version:   $Revision: 1.29 $
+  Date:      $Date: 2009/05/28 08:12:05 $
+  Version:   $Revision: 1.30 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -37,6 +37,7 @@
 #include "bbtkMessageManager.h"
 #include "bbtkFactory.h"
 #include "bbtkUtilities.h"
+//#include "bbtkWx.h"
 #include <fstream>
 
 #ifdef USE_WXWIDGETS
@@ -52,7 +53,7 @@ namespace bbtk
   //=======================================================================
   Executer::Pointer Executer::New()
   {
-    bbtkDebugMessage("Kernel",9,"Executer::New()"<<std::endl);
+    bbtkDebugMessage("object",9,"Executer::New()"<<std::endl);
     return MakePointer(new Executer());
   }
   //=======================================================================
@@ -67,7 +68,7 @@ namespace bbtk
     mDialogMode(NoDialog),
     mNoErrorMode(false)
   {
-    bbtkDebugMessageInc("Kernel",9,"Executer::Executer()" <<std::endl);
+    bbtkDebugMessage("object",2,"==> Executer()" <<std::endl);
     mFactory = Factory::New();
     // The smart pointer on this is not made yet (is made by New) 
     // -> create it to pass it to the factory
@@ -76,19 +77,19 @@ namespace bbtk
     // -> this would auto-destroy !!
     mFactory->SetExecuter(MakePointer(this,true));
     Reset();
-    bbtkDebugDecTab("Kernel",9);
+    bbtkDebugMessage("object",2,"<== Executer()" <<std::endl);
   }
   //=======================================================================
 
   //=======================================================================
   Executer::~Executer()
   {
-     bbtkDebugMessageInc("Kernel",9,"==> Executer::~Executer()" <<std::endl);
+     bbtkDebugMessage("object",2,"==> ~Executer()" <<std::endl);
      mOpenDefinition.clear();
      mOpenPackage.clear();
      mFactory->Reset();
      mFactory.reset();
-     bbtkDebugDecTab("Kernel",9);
+     bbtkDebugMessage("object",2,"<== ~Executer()" <<std::endl);
   }
   //=======================================================================
 
@@ -111,14 +112,18 @@ namespace bbtk
   //=======================================================================
   void Executer::Reset()
   {
-    bbtkDebugMessageInc("Kernel",9,"Executer::Reset()" <<std::endl);
+    bbtkDebugMessage("kernel",9,"==> Executer::Reset()" <<std::endl);
 
     GetFactory()->CheckPackages();
  
     mOpenDefinition.clear();
     mOpenPackage.clear();
-    GetFactory()->Reset();
 
+    //  Wx::DestroyTopWindow();
+
+    GetFactory()->Reset();
+    Wx::ProcessPendingEvents();
     // Create user package
     Package::Pointer p =
       Package::New("user","internal","User defined black boxes","");
@@ -142,8 +147,7 @@ namespace bbtk
 
     //    Object::PrintObjectListInfo();
     //  GetFactory()->CheckPackages();
-
-    bbtkDebugDecTab("Kernel",9);
+    bbtkDebugMessage("kernel",9,"<== Executer::Reset()" <<std::endl);
   }
   //=======================================================================
 
@@ -159,7 +163,7 @@ namespace bbtk
   //=======================================================================
   void Executer::BeginPackage (const std::string &name)
   {
-     bbtkDebugMessageInc("Kernel",9,"Executer::BeginPackage(\""<<name<<"\")"
+     bbtkDebugMessage("kernel",9,"==> Executer::BeginPackage(\""<<name<<"\")"
                         <<std::endl);
      Package::Pointer p;
      try 
@@ -172,6 +176,9 @@ namespace bbtk
        GetFactory()->InsertPackage(p);
       }
      mOpenPackage.push_back(p);
+
+     bbtkDebugMessage("kernel",9,"<== Executer::BeginPackage(\""<<name<<"\")"
+                     <<std::endl);
   }
   //=======================================================================
 
@@ -187,9 +194,9 @@ namespace bbtk
                          const std::string &pack,
                          const std::string &scriptfilename)
   {
-    bbtkDebugMessageInc("Kernel",9,"Executer::Define(\""<<name<<
-                        ","<<pack<<"\")"
-                        <<std::endl);
+    bbtkDebugMessage("kernel",9,"==> Executer::Define(\""<<name<<
+                    ","<<pack<<"\")"
+                    <<std::endl);
 
     ComplexBlackBoxDescriptor::Pointer b 
       = ComplexBlackBoxDescriptor::New(name);
@@ -197,7 +204,9 @@ namespace bbtk
     b->SetScriptFileName(scriptfilename);
     mOpenDefinition.push_back( CBBDefinition( b, pack ) );
     
-    bbtkDebugDecTab("Kernel",9);
+    bbtkDebugMessage("kernel",9,"<== Executer::Define(\""<<name<<
+                    ","<<pack<<"\")"
+                    <<std::endl);
   }
   //=======================================================================
 
@@ -213,18 +222,18 @@ namespace bbtk
   //=======================================================================
   void Executer::Clear()
   {
-    bbtkDebugMessageInc("Kernel",9,"Executer::Clear()" <<std::endl);
+    bbtkDebugMessage("kernel",9,"==> Executer::Clear()" <<std::endl);
     GetCurrentDescriptor()->GetPrototype()->Clear();
-
+    bbtkDebugMessage("kernel",9,"<== Executer::Clear()" <<std::endl);
   }
   //=======================================================================
 
   //=======================================================================
   void Executer::EndDefine ()
   {
-    bbtkDebugMessageInc("Kernel",9,"Executer::EndDefine(\""
-                        <<GetCurrentDescriptor()->GetTypeName()<<"\")" 
-                        <<std::endl);
+    bbtkDebugMessage("kernel",9,"==> Executer::EndDefine(\""
+                    <<GetCurrentDescriptor()->GetTypeName()<<"\")" 
+                    <<std::endl);
     // Does current package exist ?
     Package::Pointer p;
     std::string pname(mOpenDefinition.back().package);
@@ -246,6 +255,9 @@ namespace bbtk
       }
     p->RegisterBlackBox(GetCurrentDescriptor());
     
+    bbtkDebugMessage("kernel",9,"<== Executer::EndDefine(\""
+                    <<GetCurrentDescriptor()->GetTypeName()<<"\")" 
+                    <<std::endl);
     mOpenDefinition.pop_back();
   }
   //======================================================================= 
@@ -493,10 +505,9 @@ namespace bbtk
   /// prints the list of the boxes of the current descriptor
   void Executer::PrintBoxes()
   {
-    bbtkMessageInc("Help",1,"The black box descriptor \""
-                   <<GetCurrentDescriptor()->GetTypeName()<<"\" contains : "<<std::endl);
+    bbtkMessage("help",1,"The black box descriptor \""
+               <<GetCurrentDescriptor()->GetTypeName()<<"\" contains : "<<std::endl);
     GetCurrentDescriptor()->PrintBlackBoxes();
-    bbtkDecTab("Help",1);
  }
   //=======================================================================
 
@@ -625,8 +636,8 @@ namespace bbtk
       } 
     else 
       {
-       bbtkMessageInc("Help",1,"No black box: \""
-                      <<nameblackbox<<"\" " <<std::endl);
+       bbtkMessage("help",1,"No black box: \""
+                   <<nameblackbox<<"\" " <<std::endl);
       }
     return page;
   }
@@ -688,7 +699,7 @@ namespace bbtk
     if (GetNoExecMode() &&  (GetCurrentDescriptor()==GetWorkspace()) ) return;
     if (GetCurrentDescriptor()!=GetWorkspace()) return;
 
-    bbtkDebugMessageInc("Interpreter",9,"Interpreter::Print(\""<<str<<"\")"<<std::endl);
+    bbtkDebugMessage("kernel",9,"Executer::Print(\""<<str<<"\")"<<std::endl);
 
  // TO DO :
  // InterpretLine ("load std")
@@ -746,9 +757,9 @@ namespace bbtk
     for (i= chains.begin(); i!=chains.end(); ++i) 
       {
        Utilities::SubsBackslashN(*i);
-       bbtkMessage("Output",1,*i);
+       bbtkMessage("output",1,*i);
       }
-    bbtkMessage("Output",1,std::endl);
+    bbtkMessage("output",1,std::endl);
   }
   //==========================================================================
 
index ad64151ba1696592f5611f2095d42125f86b6155..288beb46c62c12daec54f2d9108b16175ef5974b 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkFactory.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/03/30 15:22:51 $
-  Version:   $Revision: 1.42 $
+  Date:      $Date: 2009/05/28 08:12:05 $
+  Version:   $Revision: 1.43 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -58,7 +58,7 @@ namespace bbtk
   /// Default ctor
   Factory::Pointer Factory::New()
   {
-    bbtkDebugMessage("Kernel",9,"Factory::New()"<<std::endl);
+    bbtkDebugMessage("kernel",9,"Factory::New()"<<std::endl);
     return MakePointer(new Factory());
   }
   //===================================================================
@@ -68,7 +68,7 @@ namespace bbtk
   Factory::Factory()
     : mExecuter()
   {
-    bbtkDebugMessage("Kernel",7,"Factory::Factory()"<<std::endl);
+    bbtkDebugMessage("kernel",7,"Factory()"<<std::endl);
   }
   //===================================================================
 
@@ -76,9 +76,9 @@ namespace bbtk
   /// Dtor
   Factory::~Factory()
   {
-    bbtkDebugMessageInc("Kernel",7,"Factory::~Factory()"<<std::endl);
+    bbtkDebugMessage("kernel",7,"==> ~Factory()"<<std::endl);
     CloseAllPackages();
-    bbtkDebugDecTab("Kernel",7);
+    bbtkDebugMessage("kernel",7,"<== ~Factory()"<<std::endl);
   }
   //===================================================================
 
@@ -87,9 +87,9 @@ namespace bbtk
   //===================================================================
   void Factory::Reset()
   {
-    bbtkDebugMessageInc("Kernel",7,"Factory::Reset()"<<std::endl);
+    bbtkDebugMessage("kernel",7,"==> Factory::Reset()"<<std::endl);
     CloseAllPackages();
-    bbtkDebugDecTab("Kernel",7);
+    bbtkDebugMessage("kernel",7,"<== Factory::Reset()"<<std::endl);
   }
   //===================================================================
 
@@ -106,13 +106,13 @@ namespace bbtk
     if (p!=0)
       {
        //===================================================================
-       bbtkMessage("Output",2,p->GetName()<<" "
+       bbtkMessage("output",2,p->GetName()<<" "
                    <<p->GetVersion()
                    <<" "
                    <<p->GetAuthor() << " Category(s) :"
                    <<p->GetCategory()
                    <<std::endl);
-       bbtkMessage("Output",2,p->GetDescription()<<std::endl);
+       bbtkMessage("output",2,p->GetDescription()<<std::endl);
        //===================================================================
        p->AddFactory(GetThisPointer<Factory>());
        mPackageMap[pkgname] = p;
@@ -149,7 +149,7 @@ namespace bbtk
   //
   // lastname : string before the last / (if any), or user supplied name
 
-    bbtkDebugMessageInc("Kernel",7,"Factory::LoadPackage(\""<<name<<"\")"<<std::endl);
+    bbtkDebugMessageInc("kernel",7,"Factory::LoadPackage(\""<<name<<"\")"<<std::endl);
     bbtkMessage("debug",1,"Factory::LoadPackage(\""<<name<<"\")"<<std::endl);
 
     std::vector<std::string> package_paths;
@@ -167,7 +167,7 @@ namespace bbtk
     iUnload = mPackageMap.find(pkgname);
     if (iUnload != mPackageMap.end())
     {
-      bbtkMessage("Output",2,"["<< pkgname <<"] already loaded" << std::endl);
+      bbtkMessage("output",2,"["<< pkgname <<"] already loaded" << std::endl);
       return;
     }
 
@@ -208,7 +208,7 @@ namespace bbtk
           // The following is *NOT* a debug time message :
           // It's a user intended message.
           // Please don't remove it.
-           bbtkMessage("Output",3,"   [" <<libname 
+           bbtkMessage("output",3,"   [" <<libname 
                        <<"] : doesn't exist" <<std::endl);
           }
           else
@@ -252,7 +252,7 @@ namespace bbtk
         // The following is *NOT* a debug time message :
         // It's a user intended message.
         // Please don't remove it.
-          bbtkMessage("Output",3,
+          bbtkMessage("output",3,
                      "   [" <<libname <<"] : doesn't exist" <<std::endl);
            continue;  // try next path
         }
@@ -294,7 +294,7 @@ namespace bbtk
 #endif
       }
     }
-    bbtkMessage("Output",2,"[" << libname << "] loaded" << std::endl);
+    bbtkMessage("output",2,"[" << libname << "] loaded" << std::endl);
 
   }
 
@@ -305,7 +305,7 @@ namespace bbtk
   /// If the entry is found in the map, calls ClosePackage
  void Factory::UnLoadPackage( const std::string& name )
  {
-    bbtkDebugMessageInc("Kernel",7,"Factory::UnLoadPackage(\""
+    bbtkDebugMessageInc("kernel",7,"Factory::UnLoadPackage(\""
                        <<name<<"\")"<<std::endl);
   
     PackageMapType::iterator i;
@@ -316,7 +316,7 @@ namespace bbtk
                 <<"\" : package not loaded !");
     }
     ClosePackage(i);
-    bbtkDebugDecTab("Kernel",7);
+    bbtkDebugDecTab("kernel",7);
   }
   //===================================================================
 
@@ -324,7 +324,7 @@ namespace bbtk
   //===================================================================
   void Factory::CloseAllPackages()
   {
-    bbtkDebugMessageInc("Kernel",7,"Factory::CloseAllPackages()"<<std::endl);
+    bbtkDebugMessageInc("kernel",7,"Factory::CloseAllPackages()"<<std::endl);
     
     std::vector< Package::WeakPointer > mAlive;  
     do {
@@ -342,7 +342,7 @@ namespace bbtk
          // If not dead : reinsert
          if (i->lock())
            {
-             bbtkDebugMessage("Kernel",7,"Package "<<i->lock()->GetName()
+             bbtkDebugMessage("kernel",7,"Package "<<i->lock()->GetName()
                               <<" still alive"<<std::endl);
              // InsertPackage(i->lock());
            }
@@ -350,7 +350,7 @@ namespace bbtk
     }
     while (mPackageMap.size()>0);
 
-    bbtkDebugDecTab("Kernel",7);
+    bbtkDebugDecTab("kernel",7);
   }
   //===================================================================
 
@@ -368,7 +368,7 @@ namespace bbtk
  /// Finally erases the package entry in the packages map
  void Factory::ClosePackage(PackageMapType::iterator& i) 
   {   
-     bbtkDebugMessageInc("Kernel",7,"Factory::ClosePackage(\""
+     bbtkDebugMessageInc("kernel",7,"Factory::ClosePackage(\""
                          <<i->second->GetName()
                         <<"\")"<<std::endl);
 
@@ -383,7 +383,7 @@ namespace bbtk
        {
         Package::Release(p);
        }
-     bbtkDebugDecTab("Kernel",7);
+     bbtkDebugDecTab("kernel",7);
   }
   //===================================================================
   
@@ -393,7 +393,7 @@ namespace bbtk
   /// Displays the list of packages loaded
   void Factory::PrintPackages(bool details, bool adaptors) const
   {
-    bbtkDebugMessageInc("Kernel",9,"Factory::PrintPackages"<<std::endl);
+    bbtkDebugMessageInc("kernel",9,"Factory::PrintPackages"<<std::endl);
 
     PackageMapType::const_iterator i;
     for (i = mPackageMap.begin(); i!=mPackageMap.end(); ++i )
@@ -404,7 +404,7 @@ namespace bbtk
       }
     }
 
-    bbtkDebugDecTab("Kernel",9);
+    bbtkDebugDecTab("kernel",9);
   }
   //===================================================================
 
@@ -412,7 +412,7 @@ namespace bbtk
   /// Displays help on a package
   void Factory::HelpPackage(const std::string& name, bool adaptors) const
   {
-    bbtkDebugMessageInc("Kernel",9,"Factory::HelpPackage(\""<<name<<"\")"
+    bbtkDebugMessageInc("kernel",9,"Factory::HelpPackage(\""<<name<<"\")"
                         <<std::endl);
 
     PackageMapType::const_iterator i = mPackageMap.find(name);
@@ -445,11 +445,11 @@ namespace bbtk
       }
     else 
       {
-      bbtkDebugDecTab("Kernel",9);
+      bbtkDebugDecTab("kernel",9);
       bbtkError("package \""<<name<<"\" unknown");
       }
     
-    bbtkDebugDecTab("Kernel",9);
+    bbtkDebugDecTab("kernel",9);
   }
   //===================================================================
 
@@ -460,7 +460,7 @@ namespace bbtk
                             std::string& package,
                             bool full) const
   {
-    bbtkDebugMessageInc("Kernel",9,"Factory::HelpBlackBox(\""<<name<<"\")"
+    bbtkDebugMessageInc("kernel",9,"Factory::HelpBlackBox(\""<<name<<"\")"
                         <<std::endl);
 
     bool found = false;
@@ -475,7 +475,7 @@ namespace bbtk
         }
       }
     
-    bbtkDebugDecTab("Kernel",9);
+    bbtkDebugDecTab("kernel",9);
     if (!found) 
       {
       bbtkError("No package of the factory contains any black box <"
@@ -489,13 +489,13 @@ namespace bbtk
   /// Inserts a package in the factory
   void Factory::InsertPackage( Package::Pointer p )
   {
-    bbtkDebugMessageInc("Kernel",9,"Factory::InsertPackage(\""<<
+    bbtkDebugMessageInc("kernel",9,"Factory::InsertPackage(\""<<
                         p->GetName()<<"\")"<<std::endl);
 
     p->AddFactory(GetThisPointer<Factory>());
     mPackageMap[p->GetName()] = p;
 
-    bbtkDebugDecTab("Kernel",9);
+    bbtkDebugDecTab("kernel",9);
   }
   //===================================================================
   
@@ -503,7 +503,7 @@ namespace bbtk
   /// Removes a package from the factory (and deletes it)
   void Factory::RemovePackage( Package::Pointer p )
   {
-    bbtkDebugMessageInc("Kernel",9,"Factory::RemovePackage(\""<<
+    bbtkDebugMessageInc("kernel",9,"Factory::RemovePackage(\""<<
                         p->GetName()<<"\")"<<std::endl);
 
     PackageMapType::iterator i;
@@ -522,7 +522,7 @@ namespace bbtk
                  p->GetName()<<"\") : package absent from factory");
       }
 
-    bbtkDebugDecTab("Kernel",9);
+    bbtkDebugDecTab("kernel",9);
   }
   //===================================================================
   
@@ -532,7 +532,7 @@ namespace bbtk
   BlackBox::Pointer Factory::NewBlackBox(const std::string& type, 
                                  const std::string& name) const
   {
-    bbtkDebugMessageInc("Kernel",7,"Factory::NewBlackBox(\""
+    bbtkDebugMessageInc("kernel",7,"Factory::NewBlackBox(\""
                         <<type<<"\",\""<<name<<"\")"<<std::endl);
 
     BlackBox::Pointer b; 
@@ -547,7 +547,7 @@ namespace bbtk
        bbtkError("black box type \""<<type<<"\" unknown");
       } 
 
-    bbtkDebugDecTab("Kernel",7);
+    bbtkDebugDecTab("kernel",7);
     return b;
   }
   //===================================================================
@@ -558,7 +558,7 @@ namespace bbtk
                                const DataInfo& typeout,
                                const std::string& name) const
   {
-    bbtkDebugMessageInc("Kernel",8,"Factory::NewAdaptor("
+    bbtkDebugMessageInc("kernel",8,"Factory::NewAdaptor("
                         <<typein<<","
                         <<typeout<<",\""
                         <<name<<"\")"<<bbtkendl);
@@ -577,7 +577,7 @@ namespace bbtk
                  <<" adaptor available");
       } 
     
-    bbtkDebugDecTab("Kernel",7);
+    bbtkDebugDecTab("kernel",7);
     return b; 
   }
   //===================================================================
@@ -589,7 +589,7 @@ namespace bbtk
                                      const DataInfo& typeout,
                                      const std::string& name) const
   {
-    bbtkDebugMessageInc("Kernel",8,"Factory::NewWidgetAdaptor(<"
+    bbtkDebugMessageInc("kernel",8,"Factory::NewWidgetAdaptor(<"
                         <<typein<<">,<"
                         <<typeout<<">,\""
                         <<name<<"\")"<<bbtkendl);
@@ -610,7 +610,7 @@ namespace bbtk
                  <<"> widget adaptor available");
       } 
     
-    bbtkDebugDecTab("Kernel",7);
+    bbtkDebugDecTab("kernel",7);
     return b; 
   }
   //===================================================================
@@ -621,7 +621,7 @@ namespace bbtk
                                  const DataInfo& typeout,
                                  std::string& adaptor) const
   {
-    bbtkDebugMessageInc("Kernel",8,"Factory::FindAdaptor(<"
+    bbtkDebugMessageInc("kernel",8,"Factory::FindAdaptor(<"
                         <<typein<<">,<"
                         <<typeout<<">)"<<bbtkendl);
     
@@ -642,7 +642,7 @@ namespace bbtk
       } 
     */
 
-    bbtkDebugDecTab("Kernel",7);
+    bbtkDebugDecTab("kernel",7);
     return b; 
   }
   //===================================================================
@@ -653,7 +653,7 @@ namespace bbtk
                                  const DataInfo& typeout,
                                  std::string& adaptor) const
   {
-    bbtkDebugMessageInc("Kernel",8,"Factory::FindWidgetAdaptor(<"
+    bbtkDebugMessageInc("kernel",8,"Factory::FindWidgetAdaptor(<"
                         <<typein<<">,<"
                         <<typeout<<">)"<<bbtkendl);
     
@@ -666,7 +666,7 @@ namespace bbtk
                                                  adaptor);
        if (b) break; 
       }
-    bbtkDebugDecTab("Kernel",7);
+    bbtkDebugDecTab("kernel",7);
     return b; 
   }
   //===================================================================
@@ -678,7 +678,7 @@ namespace bbtk
                                  std::string& widget,
                                  std::string& adaptor) const
   {
-    bbtkDebugMessageInc("Kernel",8,"Factory::FindWidgetAdaptor(<"
+    bbtkDebugMessageInc("kernel",8,"Factory::FindWidgetAdaptor(<"
                         <<typein<<">,<"
                         <<typeout<<">)"<<bbtkendl);
     
@@ -695,7 +695,7 @@ namespace bbtk
     if (!b) 
       {
        // Look for a widget adaptor with good nature out
-       bbtkMessage("Kernel",5,
+       bbtkMessage("kernel",5,
                    "*** Looking for a two pieces widget adaptor for : "
                    << typein << "->"<<typeout<<std::endl);
        for (i = mPackageMap.begin(); i!=mPackageMap.end(); ++i )
@@ -712,7 +712,7 @@ namespace bbtk
                     )
                  {
                    widget = j->second.lock()->GetTypeName();
-                   bbtkMessage("Kernel",5,
+                   bbtkMessage("kernel",5,
                                "===> Found first part : "<<widget
                                << " "<<j->first.mTypeIn<<"->"
                                <<j->first.mTypeOut<<std::endl);
@@ -721,14 +721,14 @@ namespace bbtk
                    b = FindAdaptor( ti, to, adaptor );
                    if (b) 
                      {
-                       bbtkMessage("Kernel",5,
+                       bbtkMessage("kernel",5,
                                    "===> Found second part : "<<adaptor
                                    <<std::endl);
                        break;
                      }
                    else
                      {
-                       bbtkMessage("Kernel",5,
+                       bbtkMessage("kernel",5,
                                    "===> No second part found"<<std::endl);
                      }
                  }
@@ -736,7 +736,7 @@ namespace bbtk
            if (b) break;
          }
       }
-    bbtkDebugDecTab("Kernel",7);
+    bbtkDebugDecTab("kernel",7);
     return b; 
   }
   //===================================================================
@@ -748,7 +748,7 @@ namespace bbtk
                                             BlackBox::Pointer to,
                                             const std::string& input) const
   {
-    bbtkDebugMessage("Kernel",7,"Factory::NewConnection(\""
+    bbtkDebugMessage("kernel",7,"Factory::NewConnection(\""
                       <<from->bbGetName()<<"\",\""<<output<<"\",\""
                       <<to->bbGetName()<<"\",\""<<input
                       <<"\")"<<std::endl);
@@ -763,22 +763,22 @@ namespace bbtk
   //===================================================================
   Package::Pointer Factory::GetPackage(const std::string& name) const
   {
-    bbtkDebugMessageInc("Kernel",9,"Factory::GetPackage(\""<<name<<"\")"
+    bbtkDebugMessageInc("kernel",9,"Factory::GetPackage(\""<<name<<"\")"
                          <<std::endl);
 
     PackageMapType::const_iterator i = mPackageMap.find(name);
     if ( i != mPackageMap.end() ) 
     {
-      bbtkDebugDecTab("Kernel",9); 
+      bbtkDebugDecTab("kernel",9); 
       return i->second;
     }
     else 
     {
-       bbtkDebugDecTab("Kernel",9);
+       bbtkDebugDecTab("kernel",9);
        bbtkError("package \""<<name<<"\" unknown");
     }
     
-    bbtkDebugDecTab("Kernel",9);  
+    bbtkDebugDecTab("kernel",9);  
   }
   //===================================================================
   
@@ -802,7 +802,7 @@ namespace bbtk
   void Factory::WriteDotFilePackagesList(FILE *ff)
   {
 
-    bbtkDebugMessageInc("Kernel",9,"Factory::WriteDotFilePackagesList()"
+    bbtkDebugMessageInc("kernel",9,"Factory::WriteDotFilePackagesList()"
                          <<std::endl);
 
     fprintf( ff , "\n");
@@ -820,7 +820,7 @@ namespace bbtk
        fprintf(ff,"  %s [shape=ellipse, URL=\"%s\"]%s\n",i->first.c_str(),url.c_str(),";" );
     }
     fprintf( ff , "}\n\n");
-    bbtkDebugDecTab("Kernel",9);
+    bbtkDebugDecTab("kernel",9);
   }
   //===================================================================
 
@@ -862,7 +862,7 @@ namespace bbtk
      }
    }
     
-   bbtkDebugDecTab("Kernel",9);
+   bbtkDebugDecTab("kernel",9);
    if (!found) 
    {
       bbtkError("No package of the factory contains any black box <"
@@ -876,7 +876,7 @@ namespace bbtk
   void Factory::CreateHtmlIndex(IndexEntryType type, 
                                const std::string& filename)
   {
-    bbtkDebugMessageInc("Kernel",9,"Factory::CreateHtmlIndex(\""
+    bbtkDebugMessageInc("kernel",9,"Factory::CreateHtmlIndex(\""
                        <<filename<<"\")"<<bbtkendl);
     
     std::string title;
@@ -1062,7 +1062,7 @@ namespace bbtk
     //----------------------
 
     // End
-    bbtkDebugDecTab("Kernel",9);
+    bbtkDebugDecTab("kernel",9);
   }
 
  //==========================================================================
index e71ff53d0e0a2f0f3f135f8dbed23a87afae0d78..a9b480f86ae3c3a178c5af19d0a2b107704732d4 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkInterpreter.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/04/30 14:31:31 $
-  Version:   $Revision: 1.84 $
+  Date:      $Date: 2009/05/28 08:12:06 $
+  Version:   $Revision: 1.85 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -56,7 +56,7 @@ namespace bbtk
  //=======================================================================
   Interpreter::Pointer Interpreter::New(const std::string& cpp_file) 
   {
-    bbtkDebugMessage("Kernel",9,"Interpreter::New('"<<cpp_file<<"')"<<std::endl);
+    bbtkDebugMessage("kernel",9,"Interpreter::New('"<<cpp_file<<"')"<<std::endl);
     return MakePointer(new Interpreter(cpp_file));
   }
  //=======================================================================
@@ -64,7 +64,7 @@ namespace bbtk
  //=======================================================================
   Interpreter::Pointer Interpreter::New(VirtualExec::Pointer e) 
   {
-    bbtkDebugMessage("Kernel",9,"Interpreter::New(VirtualExec)"<<std::endl);
+    bbtkDebugMessage("kernel",9,"Interpreter::New(VirtualExec)"<<std::endl);
     return MakePointer(new Interpreter(e));
   }
  //=======================================================================
@@ -72,14 +72,18 @@ namespace bbtk
  //=======================================================================
   Interpreter::Interpreter(const std::string& cpp_file) 
   {
+    bbtkDebugMessage("object",2,"==> Interpreter("<<cpp_file<<")"<<std::endl);
     Init(VirtualExec::Pointer(), cpp_file);
+    bbtkDebugMessage("object",2,"<== Interpreter("<<cpp_file<<")"<<std::endl);
   }
   //=======================================================================
 
  //=======================================================================
   Interpreter::Interpreter(VirtualExec::Pointer e) 
   {
+    bbtkDebugMessage("object",2,"==> Interpreter(VirtualExec)"<<std::endl);
     Init(e,"");
+    bbtkDebugMessage("object",2,"<== Interpreter(VirtualExec)"<<std::endl);
   }
   //=======================================================================
 
@@ -371,7 +375,7 @@ namespace bbtk
     mCommandDict[info.keyword] = info;
     */
 
-    bbtkDebugDecTab("Interpreter",9);
+
 
   } 
   //=======================================================================
@@ -384,9 +388,9 @@ namespace bbtk
    */
   Interpreter::~Interpreter()
   {
-    bbtkDebugMessageInc("Interpreter",9,"==> Interpreter::~Interpreter()" <<std::endl);
+    bbtkDebugMessage("object",2,"==> ~Interpreter()" <<std::endl);
     mVirtualExecuter = VirtualExec::Pointer();
-    bbtkDebugMessageInc("Interpreter",9,"<== Interpreter::~Interpreter()" <<std::endl);
+    bbtkDebugMessage("object",2,"<== ~Interpreter()" <<std::endl);
   }
   //=======================================================================
 
@@ -397,7 +401,7 @@ namespace bbtk
                                      const std::string& script_file,
                                      int script_line 
                                      )
-    : Exception("Interpreter",0,message),
+    : Exception("interpreter",0,message),
       mInScriptFile(in_script_file),
       mScriptFile(script_file),
       mScriptLine(script_line)
@@ -616,7 +620,7 @@ namespace bbtk
   //=======================================================================
   Interpreter::ExitStatus Interpreter::InterpretFile( const std::string& filename, bool source )
   {
-    bbtkDebugMessageInc("Interpreter",9,"Interpreter::InterpretFile(\""<<filename<<"\")"<<std::endl);
+    bbtkDebugMessage("interpreter",4,"==> Interpreter::InterpretFile(\""<<filename<<"\")"<<std::endl);
 
     bool exm = mCommandLine;
     mCommandLine = false;
@@ -630,10 +634,10 @@ namespace bbtk
     } 
     CATCH_MACRO;
     
-    bbtkDebugMessage("Interpreter",9,
-                    "EO Interpreter::InterpretFile(\""
+    bbtkDebugMessage("interpreter",4,
+                    "<== Interpreter::InterpretFile(\""
                     <<filename<<"\")"<<std::endl);
-    bbtkDecTab("Interpreter",9);
+
 
     mCommandLine = exm;
     
@@ -646,7 +650,7 @@ namespace bbtk
   Interpreter::ExitStatus 
   Interpreter::InterpretBuffer( std::stringstream* buffer )
   {
-    bbtkDebugMessageInc("Interpreter",9,"Interpreter::InterpretBuffer()"<<std::endl);
+    bbtkDebugMessage("interpreter",4,"==> Interpreter::InterpretBuffer()"<<std::endl);
 
     bool exm = mCommandLine;
     mCommandLine = false;
@@ -661,8 +665,8 @@ namespace bbtk
     CATCH_MACRO;
     
     //    CloseAllFiles();
-    bbtkDebugMessage("Interpreter",9,"EO Interpreter::InterpretBuffer()"<<std::endl);
-    bbtkDecTab("Interpreter",9);
+    bbtkDebugMessage("interpreter",4,"<== Interpreter::InterpretBuffer()"<<std::endl);
+
     
     mCommandLine = exm;
     return mStatus;
@@ -673,8 +677,8 @@ namespace bbtk
   /// Interprets the currently open streams
   Interpreter::ExitStatus Interpreter::InterpretCurrentStreams()
   {
-    bbtkDebugMessageInc("Interpreter",9,
-                       "Interpreter::InterpretCurrentStreams()"<<std::endl);
+    bbtkDebugMessage("interpreter",4,
+                    "==> Interpreter::InterpretCurrentStreams()"<<std::endl);
 
     while (mFile.size()>0) 
       {
@@ -697,6 +701,9 @@ namespace bbtk
        } 
        CloseCurrentFile();
       }
+    bbtkDebugMessage("interpreter",4,
+                    "<== Interpreter::InterpretCurrentStreams()"<<std::endl);
+
     return mStatus;
   }
   //=======================================================================
@@ -705,7 +712,7 @@ namespace bbtk
   /// Runs the interpretation of a command
   Interpreter::ExitStatus Interpreter::InterpretLine( const std::string& line )
   {
-    bbtkDebugMessageInc("Interpreter",9,"Interpreter::InterpretLine('"<<line<<"')"<<std::endl);
+    bbtkDebugMessage("interpreter",5,"==> Interpreter::InterpretLine('"<<line<<"')"<<std::endl);
 
     try 
     {
@@ -716,9 +723,7 @@ namespace bbtk
     CATCH_MACRO;
     
     
-    bbtkDebugMessage("Interpreter",9,"EO Interpreter::InterpretLine()"
-                    <<std::endl);
-    bbtkDecTab("Interpreter",9);
+   bbtkDebugMessage("interpreter",5,"<== Interpreter::InterpretLine('"<<line<<"')"<<std::endl);
     
     return mStatus;
   }
@@ -728,7 +733,8 @@ namespace bbtk
   //=======================================================================  
   void Interpreter::DoInterpretLine( const std::string& line )
   {
-    bbtkDebugMessageInc("Interpreter",9,"Interpreter::DoInterpretLine(\""<<line<<"\")"<<std::endl);
+    bbtkDebugMessage("interpreter",6,"==> Interpreter::DoInterpretLine(\""
+                    <<line<<"\")"<<std::endl);
     
     std::vector<std::string> words;
     SplitLine(line,words);
@@ -736,15 +742,15 @@ namespace bbtk
     // Empty line
     if (words.size()<1) 
     {
-       bbtkDebugDecTab("Interpreter",9);
+       bbtkDebugDecTab("interpreter",9);
        return;
     }
 
     // Single line comment : # or //
     if ( words[0][0]=='#' || (words[0][0]=='/' && words[0][1]=='/') ) 
     {  
-       bbtkDebugDecTab("Interpreter",9);
-       bbtkMessage("Interpreter",9,"Comment"<<std::endl);
+       bbtkDebugDecTab("interpreter",9);
+       bbtkMessage("interpreter",9,"Comment"<<std::endl);
        return;
     }
 
@@ -752,19 +758,19 @@ namespace bbtk
     
     if (words[0][0]=='/' && words[0][1]=='*') 
     {  
-       bbtkDebugDecTab("Interpreter",9);
-       bbtkMessage("Interpreter",9,"In multiline comment"<<std::endl);
+       bbtkDebugDecTab("interpreter",9);
+       bbtkMessage("interpreter",9,"In multiline comment"<<std::endl);
        mInsideComment = true;
        return;
     }
 
     if (words[0][0]=='*' && words[0][1]=='/') 
     {  
-       bbtkDebugDecTab("Interpreter",9);
-       bbtkMessage("Interpreter",9,"Out multiline comment"<<std::endl);
+       bbtkDebugDecTab("interpreter",9);
+       bbtkMessage("interpreter",9,"Out multiline comment"<<std::endl);
        if ( !mInsideComment ) {
-          bbtkDebugDecTab("Interpreter",9);
-          bbtkMessage("Interpreter",9,"Comment mismatch : '*/' with no matching '/*'"<<std::endl);       
+          bbtkDebugDecTab("interpreter",9);
+          bbtkMessage("interpreter",9,"Comment mismatch : '*/' with no matching '/*'"<<std::endl);       
        }
        mInsideComment = false;
        return;
@@ -772,8 +778,8 @@ namespace bbtk
 
     if (mInsideComment) 
     {  
-       bbtkDebugDecTab("Interpreter",9);
-       bbtkMessage("Interpreter",9,"Multiline Comment"<<std::endl);
+       bbtkDebugDecTab("interpreter",9);
+       bbtkMessage("interpreter",9,"Multiline Comment"<<std::endl);
        return;
     }
 
@@ -781,7 +787,7 @@ namespace bbtk
     CommandInfoType command;
     InterpretCommand(words,command);
 
-    bbtkDebugMessage("Interpreter",9,
+    bbtkDebugMessage("interpreter",9,
                      "Command='"<<command.keyword
                       <<"' code="<<command.code<<std::endl); 
     int level=0;
@@ -1017,8 +1023,10 @@ namespace bbtk
         bbtkInternalError("should not reach here !!!");
    }
 
-   bbtkDecTab("Interpreter",9);
-}
+    bbtkDebugMessage("interpreter",6,"<== Interpreter::DoInterpretLine(\""
+                    <<line<<"\")"<<std::endl);
+    
+  }
   //=======================================================================  
 
 
@@ -1028,7 +1036,7 @@ namespace bbtk
   //=======================================================================
   void Interpreter::SplitLine ( const std::string& str, std::vector<std::string>& tokens)
 {
-    bbtkDebugMessageInc("Interpreter",9,"Interpreter::SplitLine(\""<<str<<"\")"<<std::endl);
+    bbtkDebugMessage("interpreter",9,"==> Interpreter::SplitLine(\""<<str<<"\")"<<std::endl);
 
     std::string delimiters = "\"";
     std::vector<std::string> quote;
@@ -1042,7 +1050,7 @@ namespace bbtk
        ++i;
        if (i!=quote.end()) 
        {
-        //    bbtkDebugMessage("Interpreter",0,"\""<<*i<<"\""<<std::endl);
+        //    bbtkDebugMessage("interpreter",0,"\""<<*i<<"\""<<std::endl);
           tokens.push_back(*i);
           ++i;
        }
@@ -1050,11 +1058,10 @@ namespace bbtk
 
     for (i=tokens.begin(); i!=tokens.end(); ++i) 
     {
-       bbtkDebugMessage("Interpreter",9,"["<<*i<<"] ");
+      bbtkDebugMessage("interpreter",9,"--["<<*i<<"]"<<std::endl);
     }
-    bbtkDebugMessageCont("Interpreter",9,std::endl);
+    bbtkDebugMessage("interpreter",9,"<== Interpreter::SplitLine(\""<<str<<"\")"<<std::endl);
 
-    bbtkDebugDecTab("Interpreter",9);
  }
   //=======================================================================
 
@@ -1078,7 +1085,7 @@ namespace bbtk
   {
     if (mVirtualExecuter->GetNoExecMode()) return;
 
-    bbtkDebugMessageInc("Interpreter",9,"Interpreter::Print(\""<<str<<"\")"<<std::endl);
+    bbtkDebugMessageInc("interpreter",9,"Interpreter::Print(\""<<str<<"\")"<<std::endl);
 
  // TO DO :
  // InterpretLine ("load std")
@@ -1140,7 +1147,7 @@ namespace bbtk
        std::cout << *i;
      }
      std::cout << std::endl;
-     bbtkDebugDecTab("Interpreter",9);
+     bbtkDebugDecTab("interpreter",9);
  }
 */
 
@@ -1162,8 +1169,8 @@ namespace bbtk
   // use ./directory/subdir/scrname.bbs
   //
 
-    bbtkDebugMessageInc("Interpreter",9,"Interpreter::SwitchToFile( \""
-                         <<name<<"\")"<<std::endl);
+    bbtkDebugMessage("interpreter",4,"==> Interpreter::SwitchToFile( \""
+                    <<name<<"\")"<<std::endl);
 
     std::vector<std::string> script_paths;
     std::string fullPathScriptName;  // full path script name
@@ -1173,7 +1180,7 @@ namespace bbtk
     // The following is *NOT* a debug time message :
     // It's a user intended message.
     // Please don't remove it.
-    bbtkMessage("Interpreter",1,
+    bbtkMessage("interpreter",1,
         "look for : [" << name
         << "]" << std::endl);
 
@@ -1181,7 +1188,7 @@ namespace bbtk
     std::string upath;
     pkgname = Utilities::ExtractScriptName(name,upath);
 
-    bbtkMessage("Interpreter",3,
+    bbtkMessage("interpreter",3,
                "package name:[" << pkgname
                 << "] path:[" << upath << "]" << std::endl);
     bool fullnameGiven = false; 
@@ -1198,7 +1205,7 @@ namespace bbtk
        // ==== no path provided : look in root bbs path
        if (upath.size()==0)
          {
-           //      bbtkMessage("Interpreter",1,
+           //      bbtkMessage("interpreter",1,
            // LG : add all bbs path
            //  script_paths.push_back(  ConfigurationFile::GetInstance().Get_root_bbs_path() );
            std::vector<std::string>::const_iterator i;
@@ -1262,7 +1269,7 @@ namespace bbtk
        std::vector<std::string>::iterator i;
        for (i=script_paths.begin();i!=script_paths.end();i++)
          {
-           bbtkMessage("Interpreter",1,
+           bbtkMessage("interpreter",1,
                        "--> Looking in '" << *i << "'" << std::endl);
            
            Filenames.clear();
@@ -1278,7 +1285,7 @@ namespace bbtk
                if ( (*j).substr(lgr-4, 4) != ".bbp") continue; 
                
                (*stream) << "include \"" << *j << "\"\n";
-               bbtkMessage("Interpreter",2,"  --> Found '" << *j << "'" << std::endl);
+               bbtkMessage("interpreter",2,"  --> Found '" << *j << "'" << std::endl);
                
                nbBssFiles++;
              } // for (std::vector...
@@ -1287,12 +1294,12 @@ namespace bbtk
        // === Result ...
        if (nbBssFiles==0)
          {
-           bbtkMessage("Interpreter",1,
+           bbtkMessage("interpreter",1,
                        "  --> No .bbp found"<< std::endl);
          } 
        else 
          {
-           bbtkMessage("Interpreter",1,
+           bbtkMessage("interpreter",1,
                        "  --> "<<nbBssFiles<<" .bbp found"<< std::endl);
            SwitchToStream(stream);
          }
@@ -1374,12 +1381,12 @@ namespace bbtk
                                // The following is *NOT* a debug time message :
                                // It's a user intended message.
                                // Please don't remove it.
-                               bbtkMessage("Interpreter",2,
+                               bbtkMessage("interpreter",2,
                          "   [" <<fullPathScriptName <<"] : does not exist" 
                          <<std::endl);
                                continue;  // try next path
                        }
-                       bbtkMessage("Interpreter",2,
+                       bbtkMessage("interpreter",2,
                              "   [" <<fullPathScriptName 
                                  <<"] : found" <<std::endl);
                        foundFile = true;
@@ -1397,13 +1404,13 @@ namespace bbtk
                                        // The following is *NOT* a debug time message :
                                        // It's a user intended message.
                                        // Please don't remove it.
-                                       bbtkMessage("Interpreter",2,
+                                       bbtkMessage("interpreter",2,
                                        "   [" <<tfullPathScriptName <<".bbs/.bbp] : do not exist" 
                                        <<std::endl);
                                        continue;  // try next path
                                }
                        }
-                       bbtkMessage("Interpreter",2,
+                       bbtkMessage("interpreter",2,
                      "   [" <<fullPathScriptName 
                      <<"] : found" <<std::endl);
                        foundFile = true;
@@ -1437,7 +1444,9 @@ namespace bbtk
   //=======================================================================
 void Interpreter::SwitchToStream( std::stringstream* stream )
 {
-    mFile.push_back(stream);
+  bbtkDebugMessage("interpreter",4,"==> Interpreter::SwitchToStream()"
+                  <<std::endl);
+   mFile.push_back(stream);
     std::ostringstream buffer_name;
     bufferNb++;
     buffer_name << "buffer_" ;
@@ -1457,7 +1466,11 @@ void Interpreter::SwitchToStream( std::stringstream* stream )
   void Interpreter::LoadScript( std::string fullPathScriptName,
                                std::string includeScriptName)
   {
-     Utilities::replace( fullPathScriptName , 
+    bbtkDebugMessage("interpreter",4,"==> Interpreter::LoadScript("
+                    <<fullPathScriptName<<")"
+                    <<std::endl);
+
+    Utilities::replace( fullPathScriptName , 
                         INVALID_FILE_SEPARATOR , VALID_FILE_SEPARATOR);
    
      if (find(mFileNameHistory.begin(),
@@ -1476,7 +1489,7 @@ void Interpreter::SwitchToStream( std::stringstream* stream )
         return;
     }
 
-    bbtkMessage("Interpreter",1,"   -->[" << fullPathScriptName 
+    bbtkMessage("interpreter",1,"   -->[" << fullPathScriptName 
                << "] found" << std::endl);
 
     mFile.push_back(s);
@@ -1485,23 +1498,23 @@ void Interpreter::SwitchToStream( std::stringstream* stream )
     mIncludeFileName.push_back(includeScriptName);
     mLine.push_back(0);
 
-       return;
+    return;
   }
   //=======================================================================
 
   //=======================================================================
   void Interpreter::CloseCurrentFile()
   {
-    bbtkDebugMessage("Interpreter",9,"Interpreter::CloseCurrentFile()"
+    bbtkDebugMessage("interpreter",9,"==> Interpreter::CloseCurrentFile()"
                       <<std::endl);
 
     if (mFile.size()==0)
     {
-      bbtkDebugMessage("Interpreter",9," -> no file left open"<<std::endl);
+      bbtkDebugMessage("interpreter",9," -> no file left open"<<std::endl);
       return;
     }
 
-    bbtkDebugMessage("Interpreter",9," Closing file '"<<mFileName.back()<<"'"<<std::endl);
+    bbtkDebugMessage("interpreter",9," Closing file '"<<mFileName.back()<<"'"<<std::endl);
 
     std::ifstream* file = dynamic_cast<std::ifstream*>(mFile.back());
     if (file!=0) file->close();
@@ -1512,10 +1525,10 @@ void Interpreter::SwitchToStream( std::stringstream* stream )
     mIncludeFileName.pop_back();
     mLine.pop_back();
 
-    bbtkDebugMessage("Interpreter",9," Remains "
+    bbtkDebugMessage("interpreter",9," Remains "
                      <<mFile.size()
                      <<" open"<<std::endl);
-    bbtkDebugMessage("Interpreter",9,"EO Interpreter::CloseCurrentFile()"
+    bbtkDebugMessage("interpreter",9,"<== Interpreter::CloseCurrentFile()"
                      <<std::endl);
   }
   //=======================================================================
@@ -1523,14 +1536,14 @@ void Interpreter::SwitchToStream( std::stringstream* stream )
  //=======================================================================
   void Interpreter::CloseAllFiles()
   {
-    bbtkDebugMessage("Interpreter",9,"Interpreter::CloseAllFiles()"
+    bbtkDebugMessage("interpreter",9,"==> Interpreter::CloseAllFiles()"
                       <<std::endl);
 
     while (mFile.size() != 0) 
     {
        CloseCurrentFile();
     }
-    bbtkDebugMessage("Interpreter",9,"EO Interpreter::CloseAllFiles()"
+    bbtkDebugMessage("interpreter",9,"<== Interpreter::CloseAllFiles()"
                       <<std::endl);
   }
   //=======================================================================
@@ -1541,7 +1554,7 @@ void Interpreter::SwitchToStream( std::stringstream* stream )
   void Interpreter::InterpretCommand( const std::vector<std::string>& words,
                                       CommandInfoType& info )
   {
-    bbtkDebugMessageInc("Interpreter",9,"Interpreter::InterpretCommand(...)"<<std::endl);
+    bbtkDebugMessage("interpreter",9,"==> Interpreter::InterpretCommand(...)"<<std::endl);
 
     // searches the command keyword
     CommandDictType::iterator c;
@@ -1559,7 +1572,9 @@ void Interpreter::SwitchToStream( std::stringstream* stream )
     }
 
     info = c->second;
-    bbtkDecTab("Interpreter",9);
+
+    bbtkDebugMessage("interpreter",9,"<== Interpreter::InterpretCommand(...)"<<std::endl);
+
   }
   //=======================================================================
 
@@ -1950,7 +1965,7 @@ void Interpreter::Help(const std::vector<std::string>& words)
   //=======================================================================
   void Interpreter::CommandLineInterpreter()
   {
-    bbtkDebugMessageInc("Interpreter",9,
+    bbtkDebugMessageInc("interpreter",9,
                         "Interpreter::CommandLineInterpreter()"<<std::endl);
 
 #ifdef BBTK_USE_TERMIOS_BASED_PROMPT  
@@ -1981,7 +1996,7 @@ void Interpreter::Help(const std::vector<std::string>& words)
       /*
       catch (QuitException e)
       {
-       bbtkMessage("Interpreter",1,"Interpreter : Quit"<<std::endl);
+       bbtkMessage("interpreter",1,"Interpreter : Quit"<<std::endl);
         again = false;
       }
       */
@@ -2006,7 +2021,7 @@ void Interpreter::Help(const std::vector<std::string>& words)
 
     std::cout << "Good bye !" << std::endl;
 
-    bbtkDebugDecTab("Interpreter",9);
+    bbtkDebugDecTab("interpreter",9);
   }
 
 //=======================================================================
@@ -2108,7 +2123,7 @@ void  Interpreter::NewGUI(const std::string& boxname,
   if (workspace==0)
     {
       delete s;
-      bbtkError("Interpreter::CreateGUI : could not access the executer currently defined complex box");
+      bbtkError("interpreter::CreateGUI : could not access the executer currently defined complex box");
     }
  
 
index 4a52d99523d73eac450507fda60041216d7ea95f..98adfcbea37a4142295b1969b0bf046a7839c791 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkItkBlackBoxMacros.h,v $
   Language:  C++
-  Date:      $Date: 2009/05/15 15:00:24 $
-  Version:   $Revision: 1.6 $
+  Date:      $Date: 2009/05/28 08:12:06 $
+  Version:   $Revision: 1.7 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
   public:                                                              \
   inline void bbUserProcess()                                          \
   {                                                                    \
-    bbtkDebugMessage("process",1,"**> Processing ["<<bbGetFullName()   \
-                    <<"]"<<std::endl);                                 \
+    bbtkBlackBoxDebugMessage("process",1,"**> Processing..."           \
+                            <<std::endl);                              \
     itkParent::Update();                                               \
-    bbtkDebugMessage("process",2,"<** Processing ["<<bbGetFullName()   \
-                    <<"]"<<std::endl);                 \
+    bbtkBlackBoxDebugMessage("process",2,"<** Processing"              \
+                            <<std::endl);                              \
   }                                                            
 
 //============================================================================
index 4d673d4d029535b8aa885e525bd8b12361cb590b..737548d41c17e21bbf5060b261fd0f8698871ddb 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkMessageManager.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/05/19 10:19:23 $
-  Version:   $Revision: 1.15 $
+  Date:      $Date: 2009/05/28 08:12:06 $
+  Version:   $Revision: 1.16 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -50,7 +50,7 @@ namespace bbtk
     mMessageLevel[key] = 9;
     mMessageHelp[key] = "Maximum level for all kind of messages";
     if (mMaxMessageLength<key.length()) mMaxMessageLength = key.length();
-    key ="Kernel";
+    key ="kernel";
     mMessageLevel[key] = 0;
     mMessageHelp[key] = "Messages generated by the core classes of the lib";
     if (mMaxMessageLength<key.length()) mMaxMessageLength = key.length();
@@ -58,19 +58,19 @@ namespace bbtk
     mMessageLevel[key] = 0;
     mMessageHelp[key] = "Messages related to box processing";
     if (mMaxMessageLength<key.length()) mMaxMessageLength = key.length();
-    key = "Help";
+    key = "help";
     mMessageLevel[key] = 1;
     mMessageHelp[key] = "Help messages";
     if (mMaxMessageLength<key.length()) mMaxMessageLength = key.length();
-    key = "Error";
+    key = "error";
     mMessageLevel[key] = 0;
     mMessageHelp[key] = "Error messages";
     if (mMaxMessageLength<key.length()) mMaxMessageLength = key.length();
-    key = "Warning";
+    key = "warning";
     mMessageLevel[key] = 1;
     mMessageHelp[key] = "Warning messages";
     if (mMaxMessageLength<key.length()) mMaxMessageLength = key.length();
-    key = "Output";
+    key = "output";
     mMessageLevel[key] = 1;
     mMessageHelp[key] = "Output messages";
     if (mMaxMessageLength<key.length()) mMaxMessageLength = key.length();
@@ -78,7 +78,7 @@ namespace bbtk
     mMessageLevel[key] = 0;
     mMessageHelp[key] = "Debug messages";
     if (mMaxMessageLength<key.length()) mMaxMessageLength = key.length();
-    key = "Config";
+    key = "config";
     mMessageLevel[key] = 0;
     mMessageHelp[key] = "Configuration related messages";
     if (mMaxMessageLength<key.length()) mMaxMessageLength = key.length();
@@ -118,7 +118,11 @@ namespace bbtk
     mMessageLevel[key] = 0;
     mMessageHelp[key] = "Box i/o changes related messages";
     if (mMaxMessageLength<key.length()) mMaxMessageLength = key.length();
-   }
+    key = "code";
+    mMessageLevel[key] = 0;
+    mMessageHelp[key] = "If positive then codes of the messages are displayed";
+    if (mMaxMessageLength<key.length()) mMaxMessageLength = key.length();
+    }
 
 
 
@@ -187,33 +191,47 @@ namespace bbtk
 
   void MessageManager::PrintInfo() 
   {
-    bbtkMessage("Help",1,"================ Messages =================" 
+    bbtkMessage("help",1,"================ Messages =================" 
                << bbtkendl);
-    bbtkMessage("Help",1, "Kind");
+    bbtkMessage("help",1, "Kind");
     for (int k=0;
         k<(int)(GetInstance()->mMaxMessageLength-2);
         k++) 
       {
-       bbtkMessageCont("Help",1," "); 
+       bbtkMessageCont("help",1," "); 
       }
-    bbtkMessageCont("Help",1,"Level  Nature" << bbtkendl);
+    bbtkMessageCont("help",1,"Level  Nature" << bbtkendl);
     std::map<std::string,int>::iterator i;
     std::map<std::string,std::string>::iterator j;  
     for (i=GetInstance()->mMessageLevel.begin(),
           j=GetInstance()->mMessageHelp.begin();
         i!=GetInstance()->mMessageLevel.end();++i,++j) {
-      bbtkMessage("Help",1, (*i).first);
+      bbtkMessage("help",1, (*i).first);
       for (int k=0;
           k<(int)(GetInstance()->mMaxMessageLength+2-(*i).first.length());
           k++) {
-       bbtkMessageCont("Help",1," ");
+       bbtkMessageCont("help",1," ");
       }
-      bbtkMessageCont("Help",1, (*i).second << "\t" 
+      bbtkMessageCont("help",1, (*i).second << "\t" 
                      << (*j).second << bbtkendl);
     }
-    bbtkMessage("Help",1,"===========================================" 
+    bbtkMessage("help",1,"===========================================" 
                << bbtkendl);
   }
   
-
+  std::string MessageManager::FormatKey(const std::string& key,
+                                       int value)
+  {
+    std::string s;
+    if ( GetInstance()->mMessageLevel["code"] != 0 )
+      {
+       s = key.substr(0,4);
+       std::stringstream ss;
+       ss << value;
+       //      s += " ";
+       s += ss.str();
+       s += "> ";
+      }
+    return s;
+  }
 }
index 289f9ebbbdf9718f0662a3a3f7abe81aabc4199c..3832b8537bbf15ace5d8255f046bdcdb20643476 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkMessageManager.h,v $
   Language:  C++
-  Date:      $Date: 2008/11/29 21:41:34 $
-  Version:   $Revision: 1.8 $
+  Date:      $Date: 2009/05/28 08:12:06 $
+  Version:   $Revision: 1.9 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
     }                                                  \
   else if (value<= __bbtkOnMessageLevelVariable) 
 
+#define BBTK_PREPEND_MESSAGE_WITH_CODE
 #ifdef BBTK_PREPEND_MESSAGE_WITH_CODE
-#define bbtkMessageCode                                \
-  key[0] << key[1] << key[2] << value << " "
+#define bbtkMessageCode(key,value)                     \
+  bbtk::MessageManager::FormatKey(key,value) 
 #else 
-#define bbtkMessageCode ""
+#define bbtkMessageCode(key,value) ""
 #endif 
 
 #ifdef BBTK_PREPEND_MESSAGE_WITH_TAB
 #define bbtkMessageTab ""
 #endif
 
-#define BBTK_PREPEND_MESSAGE_WITH_SPACE
+//#define BBTK_PREPEND_MESSAGE_WITH_SPACE
 #ifdef BBTK_PREPEND_MESSAGE_WITH_SPACE
 #define bbtkMessageSpace(value)                        \
   bbtk::MessageManager::GetSpace(value)
   do {                                                 \
     bbtkOnMessageLevel(key,value)                      \
       {                                                        \
-       std::cout << bbtkMessageCode                    \
+       std::cout << bbtkMessageCode(key,value)         \
                  << bbtkMessageTab                     \
                  << bbtkMessageSpace(value)            \
                  << MESSAGE;                           \
     {                                                  \
       bbtkOnMessageLevel(key,value)                    \
        {                                               \
-         std::cout << bbtkMessageCode                  \
+         std::cout << bbtkMessageCode(key,value)               \
                    << bbtkMessageTab                   \
                    << bbtkMessageSpace(value)          \
                    << MESSAGE;                         \
       bbtkOnMessageLevel(key,value)                    \
        {                                               \
          bbtk::MessageManager::DecTab();               \
-         std::cout << bbtkMessageCode                  \
+         std::cout << bbtkMessageCode(key,value)               \
                    << bbtkMessageTab                   \
                    << bbtkMessageSpace(value)          \
                    << MESSAGE;                         \
     {                                                  \
       bbtkOnMessageLevel(key,value)                    \
        {                                               \
-         std::cout << bbtkMessageCode                  \
+         std::cout << bbtkMessageCode(key,value)               \
                    << bbtkMessageTab                   \
                    << bbtkMessageSpace(value)          \
                    << MESSAGE;                         \
     {                                                  \
       bbtkOnMessageLevel(key,value)                    \
        {                                               \
-         std::cout << bbtkMessageCode                  \
+         std::cout << bbtkMessageCode(key,value)               \
                    << bbtkMessageTab                   \
                    << bbtkMessageSpace(value)          \
                    << MESSAGE;                         \
       bbtkOnMessageLevel(key,value)                    \
        {                                               \
          bbtk::MessageManager::DecTab();               \
-         std::cout << bbtkMessageCode                  \
+         std::cout << bbtkMessageCode(key,value)       \
                    << bbtkMessageTab                   \
                    << bbtkMessageSpace(value)          \
                    << MESSAGE;                         \
@@ -439,6 +440,8 @@ namespace bbtk
     ///
     static void PrintInfo();
 
+    static std::string FormatKey(const std::string& key, int value);
+
   private:
     std::map<std::string,int> mMessageLevel;
     std::map<std::string,std::string> mMessageHelp;  
index 921682c743a9922525d81940f17aab36241d43e9..ead823cad9cc81a2faa5946613a6a3f0c168ab61 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkPackage.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/04/21 14:36:51 $
-  Version:   $Revision: 1.25 $
+  Date:      $Date: 2009/05/28 08:12:06 $
+  Version:   $Revision: 1.26 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -77,7 +77,7 @@ namespace bbtk
     mDescription(description),
     mVersion(version)
   {
-    bbtkDebugMessage("object",2,"==> Package::Package('"<<name<<"',...)"
+    bbtkDebugMessage("object",2,"==> Package('"<<name<<"',...)"
                     <<bbtkendl);
     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];
@@ -111,8 +111,7 @@ namespace bbtk
   /// Dtor
   Package::~Package()
   {
-    bbtkDebugMessage("object",2,"==> Package::~Package(\""<<mName<<"\")"<<bbtkendl);
-    bbtkDebugMessage("object",2,"<== Package::~Package(\""<<mName<<"\")"<<bbtkendl);
+    bbtkDebugMessage("object",2,"==> ~Package(\""<<mName<<"\")"<<bbtkendl);
   }
   //==========================================================================
 
index 4deef1d1498387474d724d2e773ea0c9db215837..ae8d18ea3062561619a24e50f7ab893c3feb5a61 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkRTTI.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/10/17 08:18:14 $
-  Version:   $Revision: 1.3 $
+  Date:      $Date: 2009/05/28 08:12:06 $
+  Version:   $Revision: 1.4 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -60,7 +60,7 @@ namespace bbtk
                               void*  source_pointer
                               )
   {
-    bbtkDebugMessage("Data",5,
+    bbtkDebugMessage("data",5,
                     "run_time_up_or_down_cast : Casting pointer to '" 
                     << TypeName(typeid(*(Dummy*)source_pointer)) 
                     << "' from " << TypeName(source_type) 
@@ -75,7 +75,7 @@ namespace bbtk
     const abi::__class_type_info* targetTI = 
       (const abi::__class_type_info *)( &(target_type));
     
-    bbtkDebugMessage("Data",7," * source   = "<<source_pointer<<std::endl);
+    bbtkDebugMessage("data",7," * source   = "<<source_pointer<<std::endl);
 
     void* tmp = source_pointer;
     if (source_type.__do_upcast(targetTI,&tmp)) 
@@ -84,7 +84,7 @@ namespace bbtk
       }
     else 
       {
-       bbtkDebugMessage("Data",7,
+       bbtkDebugMessage("data",7,
                         " * upcast failed : trying dynamic down cast"
                         <<std::endl);
        const abi::__class_type_info* sourceTI = 
@@ -97,7 +97,7 @@ namespace bbtk
                                             -1);   
       }
     
-    bbtkDebugMessage("Data",7," * target   = "<<target_pointer<<std::endl);
+    bbtkDebugMessage("data",7," * target   = "<<target_pointer<<std::endl);
     
 #else
     bbtkWarning("run_time_up_or_down_cast not impl. on Win : to do");
index 9f59d2896fedf828b3cd9c325072ff015d2fcc09..69e3456ed7be3e5dab3ed473d4be6b52d9cd1742 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkTranscriptor.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/12/12 12:11:21 $
-  Version:   $Revision: 1.15 $
+  Date:      $Date: 2009/05/28 08:12:06 $
+  Version:   $Revision: 1.16 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -62,7 +62,7 @@ namespace bbtk
       mDialogMode(NoDialog)
   {
     //VirtualExec();    
-    bbtkDebugMessageInc("Kernel",9,"Transcriptor::Transcriptor()" <<std::endl);
+    bbtkDebugMessageInc("kernel",9,"Transcriptor()" <<std::endl);
  
      //std::ofstream *m_Fp = new std::ofstream();
     m_Fp.open (filename.c_str(), std::ios::out );
@@ -102,7 +102,7 @@ namespace bbtk
     m_Fp << "  bbtk::Executer *e = new bbtk::Executer();"   << std::endl;
 #endif 
     */
-    bbtkDebugDecTab("Kernel",9);
+    bbtkDebugDecTab("kernel",9);
  }
 
 /**
@@ -111,7 +111,7 @@ namespace bbtk
   Transcriptor::~Transcriptor()
   {
   
-    bbtkDebugMessageInc("Kernel",9,"Transcriptor::~Transcriptor()" <<std::endl);
+    bbtkDebugMessageInc("kernel",9,"~Transcriptor()" <<std::endl);
     /*
 #ifdef _USE_WXWIDGETS_
     m_Fp << "  }"<<std::endl;
@@ -129,7 +129,7 @@ namespace bbtk
     m_Fp << "}"   << std::endl;
     m_Fp.close();
 
-    bbtkDebugDecTab("Kernel",9);
+    bbtkDebugDecTab("kernel",9);
   }
   
 
index 45b83d94e605b382e6893ceb11a80970a80b7b0b..cdbd65540454cef4db8a8cfb7c8c63a5e6944580 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkVtkBlackBoxMacros.h,v $
   Language:  C++
-  Date:      $Date: 2009/05/18 10:45:41 $
-  Version:   $Revision: 1.12 $
+  Date:      $Date: 2009/05/28 08:12:06 $
+  Version:   $Revision: 1.13 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
   public:                                                              \
   inline void bbUserProcess()                                          \
   {                                                                    \
-    bbtkDebugMessage("process",1,"**> Processing ["<<bbGetFullName()   \
-                    <<"]"<<std::endl);                                 \
+    bbtkBlackBoxDebugMessage("process",1,"**> Processing..."           \
+                            <<std::endl);                              \
     mVtkObject->Update();                                              \
-    bbtkDebugMessage("process",2,"<** Processing ["<<bbGetFullName()   \
-                    <<"]"<<std::endl);                                 \
+    bbtkBlackBoxDebugMessage("process",2,"<** Processing"              \
+                            <<std::endl);                              \
   }
 //============================================================================
 
index 03601b1db8b76abea4d083c8e928b1f5941f7143..20dc069fae3d79f174516989aea5db71bb3420d3 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkWidgetBlackBox.h,v $
   Language:  C++
-  Date:      $Date: 2009/05/14 14:43:34 $
-  Version:   $Revision: 1.3 $
+  Date:      $Date: 2009/05/28 08:12:06 $
+  Version:   $Revision: 1.4 $
 ========================================================================*/
 
 
@@ -51,7 +51,6 @@ namespace bbtk
 {
 
 
-  template <class T> class WidgetBlackBoxWindow;
 
 
   //==================================================================
@@ -66,7 +65,6 @@ namespace bbtk
     //    typedef WidgetTraits Traits;
     typedef W Widget;
     typedef Widget* WidgetPointer;
-    typedef WidgetBlackBoxWindow<W> Window;
     
     
     BBTK_BLACK_BOX_INTERFACE(WidgetBlackBox,bbtk::AtomicBlackBox);
@@ -82,49 +80,25 @@ namespace bbtk
     /// Overloaded bbCreateWindow method for WidgetBlackBoxes which handles 
     /// the window creation if needed
     virtual void bbCreateWindow();
+    virtual bool bbWindowIsCreated() { return false; }
     //==================================================================
     
     //==================================================================
     /// Overloaded bbShowWindow method for WidgetBlackBoxes which handles 
     /// the window creation if needed
-    virtual void bbShowWindow();
+    virtual void bbShowWindow() {}
     //==================================================================    
 
-    //==================================================================
-    /// Returns the **OWN** window associated to the box
-    /// If 0 returned = no window
-    Window* bbGetWindow() { return bbmWindow; }
-    /// Returns the window containing the widget associated to the box
-    /// Which can be the own window of **ANOTHER** box in case of 
-    /// a hierarchy of widgets (layouts)
-    /// More precisely :
-    /// If bbGetWindow() != 0 then returns bbGetWindow()
-    /// Else if the output 'Widget' is connected 
-    ///  then returns bbGetContainingWindow() of the box connected to 'Widget'
-    /// Else returns 0;
-    Window* bbGetContainingWindow();
-
-
-    /// Returns true iff the 'containing window' exists and is shown 
-    /// (see bbGetContainingWindow).
-    bool bbIsShown();
-
     /// Convenient method which returns true iff the output Widget is connected
     bool bbIsOutputWidgetConnected();
 
     //==================================================================    
-    /// User callback invoked when the containing window is shown
-    virtual void bbUserOnShow() {}
+    void bbSetShown(bool);
+    bool bbIsShown();
     //==================================================================    
  
-    //==================================================================    
-    /// User callback invoked when the containing window is hidden
-    virtual void bbUserOnHide() {}
-    //==================================================================    
-
-    /// Sets the window
-    inline void bbSetWindow(Window* w) { bbmWindow=w; }
-
+   
     //==================================================================    
     /// User callback for creating the widget associated to the box
     /// ** Must be defined ** in user classes
@@ -171,38 +145,23 @@ namespace bbtk
     //==================================================================
 
     //==================================================================
-    /// Hides the WidgetBlackBoxWindow associated to the box (if exists)
-    void bbHideWindow();
-    /// Closes (destroys) the WidgetBlackBoxWindow associated to the box 
-    /// (if exists)
-    void bbCloseWindow();
-    //==================================================================
-
-    
-    //==================================================================
-    //   virtual void InitWindowManagerIfNeeded();
-    virtual void IncNbWindowsAlive() {}
-    virtual void DecNbWindowsAlive() {}
-    virtual int  GetNbWindowsAlive() { return 0; }
-    virtual bool IsSomeWindowAlive() { return false; }
-    
-    virtual void IncNbWindowsShown() {}
-    virtual void DecNbWindowsShown() {}
-    virtual int  GetNbWindowsShown() { return 0; }
-    virtual bool IsSomeWindowShown() { return false; }
+    /// Destroys the WidgetBlackBoxWindow associated to the box (if exists)
+    virtual void bbDestroyWindow() {}
     //==================================================================
 
+   
 
   private:
-    /// friendship
-    friend class WidgetBlackBoxWindow<W>;
-    //    friend class WidgetBlackBoxWidgetEventHandler;
-
-    /// The WidgetBlackBoxWindow associated to the box
-    Window* bbmWindow;
-
-
-
+   
+    /// Set to true when the 
+    /// window containing the widget is shown
+    bool bbmShown;
+    /// Contains the "nested" WidgetBlackBoxes, 
+    /// i.e. if this WidgetBox is a Layout the ones
+    /// which are inserted into the layout 
+    /// The list is updated by the method bbCreateWidgetOfInput
+    /// It is emptied when ?
+    std::vector<BlackBox::WeakPointer> bbmNestedWidgetBoxes;
   };
   //=================================================================
  
@@ -213,11 +172,9 @@ namespace bbtk
   public:                                                              \
   inline void bbUserCreateWidget(Widget* parent)                       \
   {                                                                    \
-    bbtkDebugMessageInc("kw",1,"**> Creating widget for ["             \
-                       <<bbGetFullName()<<"]"<<std::endl);             \
+    bbtkBlackBoxDebugMessage("widget",1,"**> Creating widget"          \
+                            <<std::endl);                              \
     CALLBACK(parent);                                                  \
-    bbtkDebugMessageInc("kw",1,"<** Creating widget for ["             \
-                       <<bbGetFullName()<<"]"<<std::endl);             \
   }
   
   //======================================================================
@@ -226,13 +183,11 @@ namespace bbtk
   /// Defines the bbUserOnShow method
 #define BBTK_ON_SHOW_WIDGET(CALLBACK)                                  \
   public:                                                              \
-  inline void bbUserOnShow()                                   \
+  inline void bbUserOnShow()                                           \
   {                                                                    \
-    bbtkDebugMessageInc("wx",1,"**> Showing ["         \
-                       <<bbGetFullName()<<"]"<<std::endl);             \
+    bbtkBlackBoxDebugMessage("widget",1,"**> Showing"                  \
+                            <<std::endl);                              \
     CALLBACK();                                                                \
-    bbtkDebugMessageInc("wx",1,"<** Showing ["         \
-                       <<bbGetFullName()<<"]"<<std::endl);             \
   }
   
   //======================================================================
index 2aeb1783de0d188113b47349f13e75b8da9b3da7..92111420ea1974ad851524f762aafd3273cb4577 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkWidgetBlackBox.txx,v $
   Language:  C++
-  Date:      $Date: 2009/05/19 10:19:23 $
-  Version:   $Revision: 1.4 $
+  Date:      $Date: 2009/05/28 08:12:06 $
+  Version:   $Revision: 1.5 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -34,7 +34,7 @@
 
 
  
-#include "bbtkWidgetBlackBoxWindow.h"
+//#include "bbtkWidgetBlackBoxWindow.h"
 #include "bbtkBlackBoxOutputConnector.h"
 
 
@@ -56,8 +56,8 @@ namespace bbtk
   template <class T>  
   void WidgetBlackBox<T>::bbUserSetDefaultValues()
   {
-    bbtkDebugMessage("widget",9,"WidgetBlackBox::bbUserSetDefaultValues()"<<std::endl);
-    bbmWindow = 0;
+    bbtkBlackBoxDebugMessage("widget",9,"WidgetBlackBox::bbUserSetDefaultValues()"<<std::endl);
+    //    bbmWindow = 0;
     bbSetInputWinTitle(bbGetName());
     bbSetInputWinWidth(800);
     bbSetInputWinHeight(800);
@@ -71,6 +71,7 @@ namespace bbtk
   template <class T>  
   void WidgetBlackBox<T>::bbUserInitializeProcessing()
   {
+    bbmShown = false;
   }
   //=========================================================================
 
@@ -78,18 +79,25 @@ namespace bbtk
   template <class T>  
   void WidgetBlackBox<T>::bbUserFinalizeProcessing()
   {
-    bbtkDebugMessage("widget",9,"==> WidgetBlackBox::bbUserFinalizeProcessing() ["<<bbGetFullName()<<"]"<<std::endl);
+    /*
+    std::cout << "****** WidgetBlackBox<T>::bbUserFinalizeProcessing()"<<std::endl;
+    bbtkBlackBoxDebugMessage("widget",9,"==> WidgetBlackBox::bbUserFinalizeProcessing() ["<<bbGetFullName()<<"]"<<std::endl);
     if (bbGetWindow()) 
       {
+       bool shown = bbGetWindow()->bbIsShown();
+       bbGetWindow()->bbDestroy();
+       bbSetWindow(0);
+       
        if (GetUseCount()==0)
-         {
-           if (bbGetWindow()->bbIsShown()) DecNbWindowsShown();
+         {    
+           bbtkBlackBoxDebugMessage("widget",9,"**** HERE use count == 0"<<std::endl);
+           if (shown) DecNbWindowsShown();
            DecNbWindowsAlive();
          }
-       bbGetWindow()->bbDestroy();
-       bbSetWindow(0);
+
       }
-    bbtkDebugMessage("widget",9,"<== WidgetBlackBox::bbUserFinalizeProcessing() ["<<bbGetFullName()<<"]"<<std::endl);
+    bbtkBlackBoxDebugMessage("widget",9,"<== WidgetBlackBox::bbUserFinalizeProcessing() ["<<bbGetFullName()<<"]"<<std::endl);
+    */
   }
   //=========================================================================
   
@@ -117,16 +125,20 @@ namespace bbtk
     if ( ! bbIsOutputWidgetConnected() )
       {
        // create the Window if does not exist
-       if ( bbGetWindow() == 0)
+       if (!bbWindowIsCreated())
          {
-           bbtkDebugMessage("widget",2,
+           bbtkBlackBoxDebugMessage("widget",2,
                             "-> Creating the window"
                             <<std::endl);
+           // Reinitializing
+           bbSetShown(false);
+           bbmNestedWidgetBoxes.clear();
+           
            //      this->InitWindowManagerIfNeeded();
            // If is a Dialog requested
            if ( bbGetInputWinDialog() )
              {
-               bbtkDebugMessage("process",2,
+               bbtkBlackBoxDebugMessage("widget",2,
                                 "   Input WinDialog set to true : creating a Dialog"
                                 <<std::endl);
                this->bbCreateDialogWindow();
@@ -134,22 +146,28 @@ namespace bbtk
            // Input WinDialog set to false : creating a Frame
            else 
              {
-               bbtkDebugMessage("process",2,
+               bbtkBlackBoxDebugMessage("widget",2,
                                 "   Input WinDialog set to false : creating a Frame"
                                 <<std::endl);
                this->bbCreateFrameWindow();
              }
          }
+       /*
        // Show the window
        if ( !bbGetWindow() )
          {
            bbtkInternalError("Need to show the Window of widget "<<bbGetName()
                              <<" however was not created by apropriate cb");
          }
-       bbtkDebugMessage("widget",2,
+       */
+
+       /*
+       bbtkBlackBoxDebugMessage("widget",2,
                         "-> Showing the window"
                         <<std::endl);
-       bbGetWindow()->bbShow(); 
+       //      bbGetWindow()->bbShow(); 
+       this->bbShowWindow();
+       */
       }                  
     //   
   }
@@ -162,6 +180,9 @@ namespace bbtk
   WidgetBlackBox<T>::bbCreateWidgetOfInput
   (const std::string& in, typename WidgetBlackBox<T>::WidgetPointer parent)
   {
+    bbtkBlackBoxDebugMessage("widget",2,"bbCreateWidgetOfInput("
+                            <<in<<","<<parent<<")"
+                            <<std::endl);
     Widget* w = 0;
     // If input is connected 
     BlackBoxInputConnector* c = bbGetInputConnectorMap().find(in)->second ;
@@ -180,6 +201,8 @@ namespace bbtk
        wfrom->bbUserCreateWidget(parent);
        // Get the widget created
        w = wfrom->bbGetOutputWidget();
+       // Insert the box into the NestedWidgetBoxes list
+       bbmNestedWidgetBoxes.push_back(from);
       }
     return w;
   }
@@ -193,16 +216,52 @@ namespace bbtk
   }
   //==================================================================
 
+  //==================================================================
+  template <class T>  
+  void WidgetBlackBox<T>::bbSetShown(bool b)
+  {
+    if (b==bbmShown) return;
+
+    bbtkBlackBoxDebugMessage("widget",5,"WidgetBlackBox::bbSetShown("
+                            <<b<<")"
+                            <<std::endl);
+    
+    bbmShown = b;
+    if (b)
+      {
+       this->bbUserOnShow();
+     }
+    // Have to propagate to nested widgets
+    std::vector<BlackBox::WeakPointer>::const_iterator i;
+    for (i =bbmNestedWidgetBoxes.begin();
+        i!=bbmNestedWidgetBoxes.end();
+        ++i)
+      {
+       if (!i->expired()) i->lock()->bbSetShown(b);
+      }
+        
+  }
+  //==================================================================
+
+  //==================================================================
+   template <class T>  
+   bool WidgetBlackBox<T>::bbIsShown()
+  {
+    return bbmShown;
+  }
+  //==================================================================
+  /*
  //==================================================================
   template <class T>  
    void WidgetBlackBox<T>::bbShowWindow()
   {
-    bbtkDebugMessageInc("widget",1,"=> WidgetBlackBox::bbShowWindow() ["
+    bbtkBlackBoxDebugMessage("widget",1,"=> WidgetBlackBox::bbShowWindow() ["
                        <<bbGetFullName()<<"]"<<std::endl);
 
     if (bbGetWindow()!=0) bbGetWindow()->bbShow();
 
-    bbtkDebugMessageDec("widget",2,"<= WidgetBlackBox::bbShowWindow() ["
+    bbtkBlackBoxDebugMessage("widget",1,"<= WidgetBlackBox::bbShowWindow() ["
                        <<bbGetFullName()<<"]"<<std::endl);
   }
   //==================================================================
@@ -211,12 +270,12 @@ namespace bbtk
   template <class T>  
    void WidgetBlackBox<T>::bbHideWindow()
   {
-    bbtkDebugMessageInc("widget",1,"=> WidgetBlackBox::bbHideWindow() ["
+    bbtkBlackBoxDebugMessage("widget",1,"=> WidgetBlackBox::bbHideWindow() ["
                        <<bbGetFullName()<<"]"<<std::endl);
 
     if (bbGetWindow()!=0) bbGetWindow()->bbHide();
 
-    bbtkDebugMessageDec("widget",2,"<= WidgetBlackBox::bbHideWindow() ["
+    bbtkBlackBoxDebugMessage("widget",1,"<= WidgetBlackBox::bbHideWindow() ["
                        <<bbGetFullName()<<"]"<<std::endl);
   }
   //==================================================================
@@ -226,12 +285,12 @@ namespace bbtk
   template <class T>  
   void WidgetBlackBox<T>::bbCloseWindow()
   {
-    bbtkDebugMessageInc("widget",1,"=> WidgetBlackBox::bbCloseWindow() ["
+    bbtkBlackBoxDebugMessage("widget",1,"=> WidgetBlackBox::bbCloseWindow() ["
                        <<bbGetFullName()<<"]"<<std::endl);
 
     if (bbGetWindow()!=0) bbGetWindow()->bbDestroy();
 
-    bbtkDebugMessageDec("widget",2,"<= WidgetBlackBox::bbCloseWindow() ["
+    bbtkBlackBoxDebugMessage("widget",1,"<= WidgetBlackBox::bbCloseWindow() ["
                        <<bbGetFullName()<<"]"<<std::endl);
   }
   //==================================================================
@@ -264,7 +323,7 @@ namespace bbtk
     return false;
   }
   //==================================================================
-
+  */
 
 }//namespace bbtk
 
index aee878575f2f0af8ae148fd51a109ef16bbe04f1..e2ac9990296620088303f90733e904d3e8e3bc04 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkWidgetBlackBoxWindow.txx,v $
   Language:  C++
-  Date:      $Date: 2009/05/19 10:19:23 $
-  Version:   $Revision: 1.2 $
+  Date:      $Date: 2009/05/28 08:12:06 $
+  Version:   $Revision: 1.3 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -66,6 +66,8 @@ namespace bbtk
     bbtkDebugMessage("widget",9,
                     "WidgetBlackBoxWindow::~WidgetBlackBoxWindow() "
                     <<this<<std::endl);
+    std::cout << "**** WidgetBlackBoxWindow::~WidgetBlackBoxWindow() "
+             <<this<<std::endl;
     bbHide();
     if (!mBox.expired())
       {
@@ -105,12 +107,14 @@ namespace bbtk
   template <class W>
   void WidgetBlackBoxWindow<W>::bbDestroy()
   {
+    /*
     if (mBox.expired()) return;
     bbtkDebugMessage("widget",9,"WidgetBlackBoxWindow::bbDestroy() [" 
                     <<mBox.lock()->bbGetName()<<"]"<<std::endl);
     bbHide();
     mBox.lock()->DecNbWindowsAlive();
     mBox.lock()->bbSetWindow(0);
+    */
   }
   //=========================================================================
 
index 820a60f043c4721c2cd718d28053ac6ea28099e5..9a144705b4f2aa5ab0fe1ccba7c94398aeb93712 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkWx.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/05/19 10:19:23 $
-  Version:   $Revision: 1.14 $
+  Date:      $Date: 2009/05/28 08:12:06 $
+  Version:   $Revision: 1.15 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -41,12 +41,9 @@ namespace bbtk
   //=========================================================================
   static WxApp* mgWxApp = 0;
   static wxWindow* mgTopWindow = 0;
-  static wxWindow* mgTopWindowParent = 0;
-  static bool mgAutoDestroyTopWindow = true;
   static int mgNbWindowsAlive  = 0;
-  static int mgNbWindowsShown  = 0;
   //=========================================================================
-
+  
   //=========================================================================
   // BBTKWXSIG
   static Wx::Signal_type mgWxSignal;
@@ -88,8 +85,6 @@ namespace bbtk
        bbtkDebugMessage("wx",1,"  --> Creating bbtk wxApp"<<std::endl);
        mgWxApp = new WxApp;
        wxApp::SetInstance(mgWxApp);
-       //int argc = 0;
-       //wxEntry(argc,0);
        wxInitialize();
       } 
   }
@@ -100,7 +95,7 @@ namespace bbtk
   {
     if (mgWxApp!= 0) 
       {
-       bbtkDebugMessage("wx",1,"  --> Destructing bbtk WxApp"<<std::endl);
+       //      bbtkDebugMessage("wx",1,"  --> Destructing bbtk WxApp"<<std::endl);
        //delete mgWxApp;
        //      mgWxApp = 0;
        // Uninit wx
@@ -109,83 +104,36 @@ namespace bbtk
   }
   //=========================================================================
 
-  //=========================================================================  
-  void Wx::SetTopWindowParent(wxWindow* w)
-  {
-    if (mgTopWindowParent != 0)
-      {
-       bbtkGlobalError("Wx::SetTopWindowParent : top window parent != 0");
-      }
-    mgTopWindowParent = w;
-  }
-  //=========================================================================
-
-  //=========================================================================
-  void Wx::CreateTopWindowIfNeeded()
-  {
-    if (mgTopWindow!=0) return;
-    bbtkDebugMessage("wx",1,"  --> Creating bbtk top window"<<std::endl);
-
-    CreateWxAppIfNeeded();
-
-    wxWindow* top = 
-      new wxFrame(mgTopWindowParent,
-                 -1,
-                 _T("TOP BBTK FRAME (YOU SHOULD NOT SEE ME !!)"));
-    top->Hide();
-
-    //if (mgTopWindowParent==0) 
-      Wx::SetTopWindow(top);
-  }
-  //=========================================================================
 
   //=========================================================================
-  void Wx::DestroyTopWindowIfNeeded()
+  void Wx::ProcessPendingEvents()
   {
-    if ( (mgNbWindowsAlive==0) && 
-        (mgAutoDestroyTopWindow) &&
-        (mgTopWindow != 0))
+    /*
+    if (Wx::GetTopWindow() != 0)
       {
-       bbtkDebugMessage("wx",1,"  --> Destructing bbtk top window"<<std::endl);
-       mgTopWindow->Close();
-       mgTopWindow = 0;
-       
-       DestroyWxAppIfNeeded();
+       Wx::GetTopWindow()->DestroyChildren();
       }
-  } 
-  //=========================================================================
-
-  //=========================================================================
-  void Wx::LoopUntilAllWindowsClose()
-  {
-    int i = 0;
-    while (mgTopWindow != 0)
-      {
-       if (i % 100 == 0) 
-         {
-           bbtkDebugMessage("wx",2,"Wx::Loop "<<i << std::endl);
-         }
-       i++;
-       wxMilliSleep(10);
+    */
 
-      }
+    /*
+    wxApp* a = (wxApp*)wxApp::GetInstance();
+    if (a==0) return;
+    
+    std::cout << "$$$$$$$$$$$$$$ PROCESS PENDING "<<std::endl;
+    while (a->Pending())
+      a->Dispatch();
+    std::cout << "$$$$$$$$$$$$$$ PROCESS PENDING DONE"<<std::endl;
+    */
   }
-  //=========================================================================
+
 
   //=========================================================================
   wxWindow* Wx::GetTopWindow() 
   { 
-    Wx::CreateTopWindowIfNeeded();
     return mgTopWindow; 
   }
   //=========================================================================
   
-  //=========================================================================
-  bool Wx::TopWindowExists()
-  {
-    return (mgTopWindow!=0);
-  }
-  //=========================================================================
 
   // BBTKWXSIG
   //=========================================================================
@@ -196,21 +144,15 @@ namespace bbtk
   //=========================================================================
   // \BBTKWXSIG
 
-  //=========================================================================
-  void Wx::SetAutoDestroyTopWindow(bool b)
-  {
-    mgAutoDestroyTopWindow = b;
-  }
-  //=========================================================================
   
   //=========================================================================
   void Wx::SetTopWindow(wxWindow* w) 
   {
     if ( mgTopWindow ) 
       {
-       bbtkGlobalError("wx::SetTopWindow : top window already set !");
+       bbtkGlobalError("Wx::SetTopWindow : top window already set !");
       } 
-    mgTopWindow = w;
+    //mgTopWindow = w;
   }
   //=========================================================================
 
@@ -234,41 +176,12 @@ namespace bbtk
     bbtkDebugMessage("wx",2,"* Number of windows alive = "<<mgNbWindowsAlive
                     <<std::endl);
 
-    DestroyTopWindowIfNeeded();
-     // BBTKWXSIG
-    mgWxSignal();
-    // \BBTKWXSIG
-  }
-  //=========================================================================
-  
-  //=========================================================================
-  void Wx::IncNbWindowsShown() 
-  { 
-    mgNbWindowsShown++; 
-    bbtkDebugMessage("wx",2,"* Number of windows shown = "<<mgNbWindowsShown
-                    <<std::endl);
-    // BBTKWXSIG
-    mgWxSignal();
-    // \BBTKWXSIG
-  }
-  //=========================================================================
-
-  //=========================================================================
-  void Wx::DecNbWindowsShown()
-  { 
-    mgNbWindowsShown--; 
-    bbtkDebugMessage("wx",2,"* Number of windows shown = "<<mgNbWindowsShown
-                    <<std::endl);
-
-    //   DestroyTopWindowIfNeeded();
-
     // BBTKWXSIG
     mgWxSignal();
     // \BBTKWXSIG
   }
   //=========================================================================
 
-
   //=========================================================================
   int  Wx::GetNbWindowsAlive() 
   { 
@@ -279,22 +192,7 @@ namespace bbtk
   //=========================================================================
   bool Wx::IsSomeWindowAlive() 
   { 
-    return (mgNbWindowsAlive>0);
-  }
-  //=========================================================================
-  
-  
-  //=========================================================================
-  int  Wx::GetNbWindowsShown() 
-  { 
-    return mgNbWindowsShown; 
-  }
-  //=========================================================================
-  
-  //=========================================================================
-  bool Wx::IsSomeWindowShown() 
-  { 
-    return (mgNbWindowsShown>0);
+    return (mgNbWindowsAlive!=0);
   }
   //=========================================================================
   
@@ -311,6 +209,8 @@ namespace bbtk
        //mCursor = new wxBusyCursor; 
     }
   }
+  //=========================================================================
+  //=========================================================================
   Wx::BusyCursor::~BusyCursor()
   {
     if (mCursor)
@@ -322,32 +222,7 @@ namespace bbtk
   }
   //=========================================================================
 
-  /*
-  //=========================================================================
-  void Wx::ResetCursor() 
-  {
-    if (!TopWindowExists()) return;
-    bbtkDebugMessage("wx",9,"Wx::ResetCursor()"<<std::endl);
-    while (wxIsBusy()) ::wxEndBusyCursor();
-  }
-  //=========================================================================
-  //=========================================================================
-  void Wx::BeginBusyCursor() 
-  {
-    if (!TopWindowExists()) return;
-    bbtkDebugMessage("wx",9,"Wx::BeginBusyCursor()"<<std::endl);
-    ::wxBeginBusyCursor();
-  }
-  //=========================================================================
-  //=========================================================================
-  void Wx::EndBusyCursor()
-  {
-    if (!TopWindowExists()) return;
-    bbtkDebugMessage("wx",9,"Wx::EndBusyCursor()"<<std::endl);
-    ::wxEndBusyCursor();
-  }
-  //=========================================================================
-  */
+
 
 } // namespace bbtk
 
@@ -357,6 +232,7 @@ namespace bbtk
 //=========================================================================
 namespace bbtk
 {
+   //=========================================================================
   Wx::BusyCursor::BusyCursor()
   {
   }
index fd674b4f4972d91c76321c2466594474dba18af6..13bc15ad2ff32de2ff42b19d04557774959974bb 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkWx.h,v $
   Language:  C++
-  Date:      $Date: 2009/04/08 07:56:11 $
-  Version:   $Revision: 1.10 $
+  Date:      $Date: 2009/05/28 08:12:06 $
+  Version:   $Revision: 1.11 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -120,14 +120,6 @@ namespace bbtk
     typedef Signal_type::slot_function_type Slot_function_type;
     // \BBTKWXSIG
 
-    /*
-    static void ResetCursor();
-    static void BeginBusyCursor(); 
-    static void EndBusyCursor();
-    */
-
-    static void LoopUntilAllWindowsClose();
-
     class BusyCursor
     {
     public:
@@ -136,38 +128,29 @@ namespace bbtk
       wxBusyCursor* mCursor;
     };
 
-    static void SetTopWindowParent(wxWindow*);
-    static void SetAutoDestroyTopWindow(bool);
-
-    /// Returns the creation time parent of all bbtk windows 
-    /// (window can be reparented after creation)
-    static wxWindow* GetTopWindow();
-    static bool TopWindowExists();
+    static void ProcessPendingEvents();
     
+    /// Sets the parent of all bbtk windows
+    static void SetTopWindow(wxWindow*);
+    /// Returns the parent of all bbtk windows 
+    static wxWindow* GetTopWindow();
+
+
     static void IncNbWindowsAlive();
     static void DecNbWindowsAlive();
     static int  GetNbWindowsAlive();
     static bool IsSomeWindowAlive();
     
-    static void IncNbWindowsShown();
-    static void DecNbWindowsShown();
-    static int  GetNbWindowsShown();
-    static bool IsSomeWindowShown();
-
-    // BBTKWXSIG
+     // BBTKWXSIG
     static void AddSignalObserver(Slot_function_type);
     // \BBTKWXSIG
 
+  
   private:
 
     static void CreateWxAppIfNeeded();
     static void DestroyWxAppIfNeeded();
 
-    static void CreateTopWindowIfNeeded();
-    static void DestroyTopWindowIfNeeded();
-
-    /// Sets the creation time parent of all bbtk windows
-    static void SetTopWindow(wxWindow*);
   }; // struct Wx
   //==================================================================
   
index d543faa5df26920e6cfc82f2ea1ff5442b333860..1983cb36492145a13a5ac1f87b599f3d4339c65a 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkWxBlackBox.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/05/19 10:19:23 $
-  Version:   $Revision: 1.40 $
+  Date:      $Date: 2009/05/28 08:12:06 $
+  Version:   $Revision: 1.41 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -55,17 +55,135 @@ namespace bbtk
 
 
 
-
 
   //=========================================================================
-  // WxBlackBoxDialog
+  // WxFrame
   //=========================================================================
 
+  //==================================================================
+  class WxFrame : public wxFrame
+  {
+  public:
+    WxFrame(WxBlackBox::Pointer b,
+           wxWindow *parent,
+           wxString title,
+           wxSize size);
+    ~WxFrame();
+    void OnCloseWindow(wxCloseEvent& event);
+
+
+    WxBlackBox::WeakPointer mBox;      
+    DECLARE_EVENT_TABLE();
+    
+  };
+  
+  BEGIN_EVENT_TABLE(WxFrame, wxFrame)
+  //  EVT_CLOSE(WxFrame::OnCloseWindow)
+    END_EVENT_TABLE();
+     //==================================================================
+  
+     //==================================================================
+  WxFrame::WxFrame(WxBlackBox::Pointer b,
+                  wxWindow *parent,
+                  wxString title,
+                  wxSize size) 
+    : 
+    wxFrame( parent, 
+            -1, 
+            title,
+            wxDefaultPosition,
+            size,
+            wxRESIZE_BORDER | 
+            wxSYSTEM_MENU  |
+            wxCLOSE_BOX |
+            wxMAXIMIZE_BOX | 
+            wxMINIMIZE_BOX | 
+            wxCAPTION  
+            ),
+    mBox(b)
+  {   
+    bbtkDebugMessage("widget",9,"["<<b->bbGetName()<<"] WxFrame()"
+                    <<std::endl);
+    Wx::IncNbWindowsAlive();
+    b->bbSetWindow(this);
+    // Insert the widget into the window
+    wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
+    b->bbUserCreateWidget(this);
+    wxWindow* widget = b->bbGetOutputWidget();
+    sizer->Add( widget, 1, wxALL|wxGROW, 2);
+    SetSizer(sizer);
+    Layout();
+  }
+  //==================================================================
+  //==================================================================
+  WxFrame::~WxFrame() 
+    { 
+      if (mBox.lock())
+       bbtkDebugMessage("widget",9,"["<<mBox.lock()->bbGetName()
+                        <<"] $$$$$$$$$$$$$$$$$$$ ~WxFrame()"
+                        <<std::endl);
+      else 
+       bbtkDebugMessage("widget",9,"[DEAD] $$$$$$$$$$$$$$$$$$$$$ ~WxFrame()"<<std::endl);
+      //bbtkDebugMessage("widget",9,"WxFrame::~WxFrame()"<<std::endl);
+      if (mBox.lock()) mBox.lock()->bbSetWindow(0); 
+      Wx::DecNbWindowsAlive();
+    }
+   //==================================================================
+   //==================================================================
+  void WxFrame::OnCloseWindow(wxCloseEvent& event)
+    {
+      if (mBox.lock())
+       bbtkDebugMessage("widget",9,"["<<mBox.lock()->bbGetName()
+                        <<"] $$$$$$$$$$$$$$$ WxFrame::OnCloseWindow()"<<std::endl);
+      else
+       bbtkDebugMessage("widget",9,"[DEAD] WxFrame::OnCloseWindow()"
+                        <<std::endl);
+      if (mBox.lock()) mBox.lock()->bbSetWindow(0); 
+      Wx::DecNbWindowsAlive();
+      
+       bbtkDebugMessage("widget",9,
+                        "$$$$$$$$$$$$$$$ Destroy !!!"<<std::endl);
+       //      this->Destroy();
+    }
+   //==================================================================
+
+
+
+
+
+  //=========================================================================
+  // WxDialog
+  //=========================================================================
+
+   //==================================================================
+  // Dialog window which is modal
+  class BBTK_EXPORT  WxDialog : public wxDialog
+  {
+  public:
+    WxDialog(WxBlackBox::Pointer box, 
+                    wxWindow *parent, 
+                    wxString title, 
+                    wxSize size);
+    ~WxDialog();
+    void OnCloseWindow(wxCloseEvent& event);
+
+
+    WxBlackBox::WeakPointer mBox;      
+    DECLARE_EVENT_TABLE();
+    
+  };
+  
+  BEGIN_EVENT_TABLE(WxDialog, wxDialog)
+    EVT_CLOSE(WxDialog::OnCloseWindow)
+    END_EVENT_TABLE();
+  //==================================================================
+
   //=========================================================================
-  WxBlackBoxDialog::WxBlackBoxDialog(WxBlackBox::Pointer box,
-                                    wxWindow *parent,
-                                    wxString title,
-                                    wxSize size)
+  WxDialog::WxDialog(WxBlackBox::Pointer b,
+                    wxWindow *parent,
+                    wxString title,
+                    wxSize size)
     :
     wxDialog( parent, 
                -1, 
@@ -79,211 +197,39 @@ namespace bbtk
                wxMINIMIZE_BOX | 
                wxCAPTION  
              ),
-    Parent(box)
-  {
-    bbtkDebugMessage("wx",9,"WxBlackBoxDialog::WxBlackBoxDialog("<<
-                    bbGetBlackBox()->bbGetFullName()<<","<<parent<<","
-                    <<title<<",size)"<<std::endl);
-    // Insert the widget into the window
-    wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
-    // Create the widget
-    box->bbCreateWidgetAndEventHandler(this);
-    wxWindow* widget = bbGetBlackBox()->bbGetOutputWidget();
-    sizer->Add( widget, 1, wxALL|wxEXPAND, 2);
-    //SetAutoLayout(true);
-    SetSizer(sizer);
-    Layout();
-  }
-  //=========================================================================
-  
-  //=========================================================================
-  void WxBlackBoxDialog::bbShow()
-  { 
-    if (bbIsShown()) return;
-    bbtkDebugMessage("wx",5,"WxBlackBoxDialog::bbShow() ["
-                    <<bbGetBlackBox()->bbGetFullName()<<"]"<<std::endl);
-    Parent::bbShow();
-    Show(false);
-    SetReturnCode( wxDialog::ShowModal() ); 
-    bbDestroy();
-  }
-  //=========================================================================
-
-  //=========================================================================
-  void WxBlackBoxDialog::bbHide()
+    mBox(b)
   {
-    bbtkDebugMessage("wx",9,"WxBlackBoxDialog::bbHide()"<<std::endl);
-    Parent::bbHide();
-    Hide();
-  }
-  //=========================================================================
-
-  //=========================================================================
-  void WxBlackBoxDialog::bbDestroy()
-  {
-    bbtkDebugMessage("wx",9,"WxBlackBoxDialog::bbDestroy()"<<std::endl);
-    wxDialog::Destroy();
-  }
-  //=========================================================================
-
-  //=========================================================================
-  WxBlackBoxDialog::~WxBlackBoxDialog()
-  {
-    bbtkDebugMessage("wx",9,"WxBlackBoxDialog::~WxBlackBoxDialog()"
+    bbtkDebugMessage("widget",9,"WxDialog::WxDialog ["<<b->bbGetName()<<"]"
                     <<std::endl);
-  }
-  //=========================================================================
-
-
-
-
-
-  //=========================================================================
-  // WxBlackBoxFrame
-  //=========================================================================
-
-  //=========================================================================
-  WxBlackBoxFrame::WxBlackBoxFrame(WxBlackBox::Pointer box,
-                                  wxWindow *parent,
-                                  wxString title,
-                                  wxSize size)
-    :  wxFrame( parent, 
-              -1, 
-              title,
-              wxDefaultPosition,
-              size,
-              wxRESIZE_BORDER | 
-              wxSYSTEM_MENU  |
-              wxCLOSE_BOX |
-              wxMAXIMIZE_BOX | 
-              wxMINIMIZE_BOX | 
-              wxCAPTION  
-               ),
-       Parent(box)
-  {
-    bbtkDebugMessage("wx",9,"WxBlackBoxFrame::WxBlackBoxFrame("<<
-                    bbGetBlackBox()->bbGetFullName()<<","<<parent<<","
-                    <<title<<",size)"<<std::endl);
+    Wx::IncNbWindowsAlive();
+    b->bbSetWindow(this);
     // Insert the widget into the window
     wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
-    box->bbCreateWidgetAndEventHandler(this);
-    wxWindow* widget = bbGetBlackBox()->bbGetOutputWidget();
-    wxFrame* frame = (wxFrame*)this;
+    b->bbUserCreateWidget(this);
+    wxWindow* widget = b->bbGetOutputWidget();
     sizer->Add( widget, 1, wxALL|wxGROW, 2);
-    //  frame->SetAutoLayout(true);
-    frame->SetSizer(sizer);
-    //frame->Fit();
-    frame->Layout();
-  }
-  //=========================================================================
-  
-  //=========================================================================
-  WxBlackBoxFrame::~WxBlackBoxFrame()
-  {
-    bbtkDebugMessage("wx",9,"WxBlackBoxFrame::~WxBlackBoxFrame()"
-                    <<std::endl);
-  }
-  //=========================================================================
-
-  //=========================================================================
-  void WxBlackBoxFrame::bbShow() 
-  { 
-    if (bbIsShown()) return;
-    bbtkDebugMessage("wx",5,"WxBlackBoxFrame::bbShow("
-                    <<bbGetBlackBox()->bbGetFullName()<<")"<<std::endl);
-    Parent::bbShow();
-    wxFrame::Show();
-    // This Update is ** MANDATORY ** 
-    // to synchronize wxvtkRenderWindowInteractor objects
-    // (force wx objects creation **NOW**)
-    
-    
-#if defined(_WIN32)
-    wxFrame::Refresh();
-#endif
-    
-    wxFrame::Update();
-    wxFrame::SetFocus();
-    //    if (bbGetBlackBox()) bbGetBlackBox()->bbUserOnShow();
-  }
-  //=========================================================================
-
-  //=========================================================================
-  void WxBlackBoxFrame::bbHide()
-  {
-    bbtkDebugMessage("wx",9,"WxBlackBoxFrame::bbHide()"<<std::endl);
-    Parent::bbHide();
-    wxFrame::Hide();
-    if (bbGetBlackBox()) bbGetBlackBox()->bbUserOnHide();
-  }
-  //=========================================================================
-
-  //=========================================================================
-  void WxBlackBoxFrame::bbDestroy()
-  {
-    bbtkDebugMessage("wx",9,"WxBlackBoxFrame::bbDestroy()"<<std::endl);
-    wxFrame::Destroy();
-  }
-  //=========================================================================
-
-
-
-  //=========================================================================
-  // WxBlackBoxWidgetEventHandler
-  //=========================================================================
-
-  //=========================================================================
-  WxBlackBoxWidgetEventHandler::
-  WxBlackBoxWidgetEventHandler( WxBlackBox::Pointer box, 
-                               wxWindow *widget )
-    :
-    mBox(box),
-    mWindow(widget)
-  { 
-    bbtkDebugMessage("wx",9,"WxBlackBoxWidgetEventHandler::WxBlackBoxWidgetEventHandler("<<mBox.lock()->bbGetFullName()<<")"<<std::endl);
-
-    mBox.lock()->bbSetWidgetEventHandler(this);
-
-    Connect (  mWindow->GetId(),
-              wxEVT_DESTROY,
-              (wxObjectEventFunction) 
-              (void (wxEvtHandler::*)(wxWindowDestroyEvent& c))
-               &WxBlackBoxWidgetEventHandler::OnWindowDestroy );
-    
-    mWindow->PushEventHandler(this);
-    
-  }
-  //=========================================================================
-
-  //=========================================================================
-  WxBlackBoxWidgetEventHandler::~WxBlackBoxWidgetEventHandler()
-  {
-  bbtkDebugMessage("wx",9,
-                    "WxBlackBoxWidgetEventHandler::~WxBlackBoxWidgetEventHandler() ["
-               <<std::endl);
-
-
-    Disconnect (  mWindow->GetId() );
-
-    if (mBox.expired()) return;
-    bbtkDebugMessage("wx",9,
-                    "WxBlackBoxWidgetEventHandler::~WxBlackBoxWidgetEventHandler() ["
-                    <<mBox.lock()->bbGetFullName()<<"]"<<std::endl);
-
-    mBox.lock()->bbSetWidgetEventHandler(0);   
-  }
-  //=========================================================================
-
-  //=========================================================================
-  void WxBlackBoxWidgetEventHandler::OnWindowDestroy(wxWindowDestroyEvent&)
-  {
-   bbtkDebugMessage("wx",9,"WxBlackBoxWidgetEventHandler::OnWindowDestroy() []"<<std::endl);
-    if (mBox.expired()) return;
-    bbtkDebugMessage("wx",9,"WxBlackBoxWidgetEventHandler::OnWindowDestroy() alive ["
-                    <<mBox.lock()->bbGetFullName()<<"]"<<std::endl);
-    mBox.lock()->bbSetOutputWidget(0);
+    SetSizer(sizer);
+    Layout();
   }
   //=========================================================================
+  //==================================================================
+  WxDialog::~WxDialog() 
+    { 
+      bbtkDebugMessage("widget",9,"WxDialog::~WxDialog()"<<std::endl);
+      //bbtkDebugMessage("widget",9,"WxFrame::~WxFrame()"<<std::endl);
+      //      if (mBox.lock()) mBox.lock()->bbSetWindow(0); 
+      //      Wx::DecNbWindowsAlive();
+    }
+   //==================================================================
+   //==================================================================
+  void WxDialog::OnCloseWindow(wxCloseEvent& event)
+    {
+      bbtkDebugMessage("widget",9,"WxDialog::OnCloseWindow()"<<std::endl);
+      if (mBox.lock()) mBox.lock()->bbSetWindow(0); 
+      Wx::DecNbWindowsAlive();
+      this->Destroy();
+    }
+   //==================================================================
 
 
 
@@ -291,7 +237,7 @@ namespace bbtk
 
 
 
 //=========================================================================
+ //=========================================================================
   // WxBlackBox
   //=========================================================================
 
@@ -305,8 +251,9 @@ namespace bbtk
   //=========================================================================
   void WxBlackBox::bbUserSetDefaultValues()
   {
-    bbtkDebugMessage("Kernel",9,"WxBlackBox::bbUserSetDefaultValues()"<<std::endl);
-    bbSetWidgetEventHandler(0);
+    bbtkBlackBoxDebugMessage("widget",5,"WxBlackBox::bbUserSetDefaultValues()"<<std::endl);
+    //    bbSetWidgetEventHandler(0);
+    bbmWindow = 0;
   }
   //=========================================================================
 
@@ -319,13 +266,9 @@ namespace bbtk
   //=========================================================================
   void WxBlackBox::bbUserFinalizeProcessing()
   {
-    bbtkDebugMessage("wx",9,"WxBlackBox::bbUserFinalizeProcessing()"<<std::endl);
-    if (bbGetWidgetEventHandler()!=0)
-      {
-       bbtkDebugMessage("wx",9,"Deleting Widget Event Handler"<<std::endl);
-       delete bbGetWidgetEventHandler();
-      }
-    
+    bbtkBlackBoxDebugMessage("widget",5,"==> WxBlackBox::bbUserFinalizeProcessing()"<<std::endl);
+    bbDestroyWindow();
+    bbtkBlackBoxDebugMessage("widget",5,"<== WxBlackBox::bbUserFinalizeProcessing()"<<std::endl);
   }
   //==================================================================    
 
@@ -333,86 +276,96 @@ namespace bbtk
   /// Callback for creating a Dialog window (modal)
   void WxBlackBox::bbCreateDialogWindow()
   {
-    WxBlackBoxDialog* w = 0;  
-    w = new WxBlackBoxDialog( GetThisPointer<WxBlackBox>(),
-                             Wx::GetTopWindow(),
-                             std2wx( bbGetInputWinTitle() 
-                                     + " - bbtk (c) CREATIS LRMN"),
-                             wxSize( bbGetInputWinWidth() , 
-                                     bbGetInputWinHeight()  ));
-    w->Show(true);  
-  }
+  bbtkBlackBoxDebugMessage("widget",3,
+                    "==> WxBlackBox::bbCreateDialogWindow() - parent = "
+                    <<Wx::GetTopWindow()
+                    <<std::endl);
+    WxDialog* w = 0;  
+    w = new WxDialog( GetThisPointer<WxBlackBox>(),
+                     Wx::GetTopWindow(),
+                     std2wx( bbGetInputWinTitle()  
+                             + " - bbtk (c) CREATIS-LRMN"),
+                     wxSize( bbGetInputWinWidth() , 
+                             bbGetInputWinHeight() ) );
+    w->Show(false);
+    //    w->ShowModal();
+  } 
+  //=========================================================================
+
   //==================================================================    
 
   //==================================================================    
   /// Callback for creating a Frame window 
   void WxBlackBox::bbCreateFrameWindow()
   {
-    WxBlackBoxFrame* w = 0;  
-    w = new WxBlackBoxFrame( GetThisPointer<WxBlackBox>(),
-                            Wx::GetTopWindow(),
-                            std2wx( bbGetInputWinTitle()  
-                                    + " - bbtk (c) CREATIS LRMN"),
-                            wxSize( bbGetInputWinWidth() , 
-                                    bbGetInputWinHeight() ) );
+    bbtkBlackBoxDebugMessage("widget",3,
+                    "==> WxBlackBox::bbCreateFrameWindow() - parent = "
+                    <<Wx::GetTopWindow()
+                    <<std::endl);
+    WxFrame* w = 0;  
+    w = new WxFrame( GetThisPointer<WxBlackBox>(),
+                    Wx::GetTopWindow(),
+                    std2wx( bbGetInputWinTitle()  
+                            + " - bbtk (c) CREATIS-LRMN"),
+                    wxSize( bbGetInputWinWidth() , 
+                            bbGetInputWinHeight() ) );
     w->Show();
+   }
+  //==================================================================    
+
+  //==================================================================    
+  void WxBlackBox::bbSetWindow(wxWindow* w) 
+  {
+    bbtkBlackBoxDebugMessage("widget",9,"==> WxBlackBox::bbSetWindow("<<w<<")"<<std::endl);
+    if ((bbmWindow != 0)&&(w!=0)) 
+      { 
+       std::cout << "ERRRRRRRROOOOR"<<std::endl; 
+      }
+    bbmWindow = w;
   }
   //==================================================================    
 
-  
-       
-  //=========================================================================
-  void WxBlackBox::bbCreateWidgetAndEventHandler(wxWindow* parent)
+  //==================================================================    
+  void WxBlackBox::bbShowWindow()
   {
-    if (bbGetOutputWidget()==0)
+    if ((bbmWindow) && (!bbIsShown()))
       {
-       this->bbUserCreateWidget(parent);
-      }                
-    // If Event Handler for the widget does not exist or is obsolete:
-    // create it 
-    if (bbGetOutputWidget()!=0)
-      {
-       if (bbGetWidgetEventHandler()==0)
+       bbtkBlackBoxDebugMessage("widget",3,"==> WxBlackBox::bbShowWindow()"
+                        <<std::endl);
+       if (bbGetInputWinDialog()) 
          {
-           bbtkDebugMessage("wx",3,
-                            "-> No widget event handler : creating one"
-                            <<std::endl);
-           new WxBlackBoxWidgetEventHandler(GetThisPointer<WxBlackBox>(),
-                                            bbGetOutputWidget());
+           ((WxDialog*)bbmWindow)->ShowModal();
          }
-       else if ( ! bbGetWidgetEventHandler()->IsHandlerOf 
-                 ( bbGetOutputWidget() ) )
+       else
          {
-           bbtkDebugMessage("wx",3,
-                            "-> Obsolete widget event handler : re-creating one"
-                            <<std::endl);
-           delete bbGetWidgetEventHandler();
-           new WxBlackBoxWidgetEventHandler(GetThisPointer<WxBlackBox>(),
-                                            bbGetOutputWidget());
-         }
-       // Sets the name of the wxWindow to the input WinTitle
-       bbGetOutputWidget()->SetName(bbtk::std2wx(bbGetInputWinTitle()));
+           bbGetWindow()->Show();
+           bbSetShown(true);
+         } 
+    }
+  }
+  //==================================================================    
+
+  //==================================================================    
+  void WxBlackBox::bbDestroyWindow()
+  {
+    bbtkBlackBoxDebugMessage("widget",3,"==> WxBlackBox::bbDestroyWindow("<<bbmWindow<<")"<<std::endl);
+    if (bbGetWindow()!=NULL) 
+      {
+       //       wxWindow* w = bbGetWindow();
+       //bbSetWindow(0);
+       // WE SHOULD DESTROY THE WINDOW WITH THE Close METHOD
+       // HOWEVER I
+       //w->Close(true);
+       //
+       delete bbGetWindow();
+       bbSetShown(false);
       }
-    
-    
+    bbtkBlackBoxDebugMessage("widget",3,"<== WxBlackBox::bbDestroyWindow("<<bbmWindow<<")"<<std::endl);
+
   }
-  //=========================================================================
-  
-  
-  //==================================================================
-  //  void WxBlackBox::InitWindowManagerIfNeeded() { Wx::
-  void WxBlackBox::IncNbWindowsAlive() { Wx::IncNbWindowsAlive(); }
-  void WxBlackBox::DecNbWindowsAlive() { Wx::DecNbWindowsAlive(); }
-  int  WxBlackBox::GetNbWindowsAlive() { return Wx::GetNbWindowsAlive(); }
-  bool WxBlackBox::IsSomeWindowAlive() { return Wx::IsSomeWindowAlive(); }
-  
-  void WxBlackBox::IncNbWindowsShown() { Wx::IncNbWindowsShown(); }
-  void WxBlackBox::DecNbWindowsShown() { Wx::DecNbWindowsShown(); }
-  int  WxBlackBox::GetNbWindowsShown() { return Wx::GetNbWindowsShown(); }
-  bool WxBlackBox::IsSomeWindowShown() { return Wx::GetNbWindowsShown(); }
-  //==================================================================
-  
+  //==================================================================    
+
+
 
 }//namespace bbtk
 
index b93adeb4553c841ced0a3509a9cab8183ef9e287..a345000daa0a1b920a4bf403cf2f507b5b30c8db 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkWxBlackBox.h,v $
   Language:  C++
-  Date:      $Date: 2009/05/19 10:19:23 $
-  Version:   $Revision: 1.28 $
+  Date:      $Date: 2009/05/28 08:12:06 $
+  Version:   $Revision: 1.29 $
 ========================================================================*/
 
 
 #define __bbtkWxBlackBox_h__
 
 
-#include "bbtkWx.h"
+
 #include "bbtkWidgetBlackBox.h"
+#include "bbtkWx.h"
 
 
 namespace bbtk
 {
 
-
-
-
-
-  //==================================================================
-  // Forward declaration of the widget event handler class
-  class WxBlackBoxWidgetEventHandler;
-  //==================================================================
-
 
   //==================================================================
   /// Widget black boxes
@@ -92,47 +85,32 @@ namespace bbtk
     virtual void bbCreateFrameWindow();
     //==================================================================    
 
-  
-  
-    //==================================================================
-    //    virtual void InitWindowManagerIfNeeded();
-    virtual void IncNbWindowsAlive();
-    virtual void DecNbWindowsAlive();
-    virtual int  GetNbWindowsAlive();
-    virtual bool IsSomeWindowAlive();
-    
-    virtual void IncNbWindowsShown();
-    virtual void DecNbWindowsShown();
-    virtual int  GetNbWindowsShown();
-    virtual bool IsSomeWindowShown();
-    //==================================================================
+     
+    //==================================================================    
+    wxWindow* bbGetWindow() { return bbmWindow; }
+    void bbSetWindow(wxWindow*) ;
+    bool bbWindowIsCreated() { return (bbGetWindow() != 0); }
+    //==================================================================    
 
 
-         
     //==================================================================    
-    void bbCreateWidgetAndEventHandler(wxWindow* parent); 
+    virtual void bbShowWindow();
+    //==================================================================   
     //==================================================================    
-    
+    virtual void bbDestroyWindow();
     //==================================================================    
 
   private:
-    /// friendship
-    friend class WxBlackBoxWidgetEventHandler;
-    /// Sets the Widget Event Handler
-    inline void bbSetWidgetEventHandler(WxBlackBoxWidgetEventHandler* w) 
-    { bbmWidgetEventHandler = w; }
-    /// Gets the Widget Event Handler
-    inline WxBlackBoxWidgetEventHandler* bbGetWidgetEventHandler()
-    { return bbmWidgetEventHandler; }
-    /// The WxBlackBoxWidgetEventHandler associated to the box
-    WxBlackBoxWidgetEventHandler* bbmWidgetEventHandler;
+
+    wxWindow* bbmWindow;
   };
   //=================================================================
  
 
   //=================================================================
   // WxBlackBoxDescriptor declaration
-  //
   class WxBlackBoxDescriptor : public WidgetBlackBoxDescriptor<wxWindow>
   BBTK_BEGIN_DESCRIBE_BLACK_BOX_BODY(WxBlackBox);
   BBTK_NAME("WxBlackBox");
@@ -148,73 +126,6 @@ namespace bbtk
 
 
 
-  //==================================================================
-  // Dialog window which is modal
-  class BBTK_EXPORT  WxBlackBoxDialog : public wxDialog, 
-                                       public WidgetBlackBoxWindow<wxWindow>
-  {
-  public:
-    typedef WidgetBlackBoxWindow<wxWindow> Parent;
-    WxBlackBoxDialog(WxBlackBox::Pointer box, 
-                    wxWindow *parent, wxString title, wxSize size);
-    ~WxBlackBoxDialog();
-    void bbShow();  
-    void bbHide();
-    void bbDestroy();
-    bool IsDialog() { return true; }
-    bool IsFrame() { return false; }
-    wxDialog* bbGetDialog() { return this; } 
-  };
-  //==================================================================
-
-  //==================================================================
-  // Frame window which is not modal
-  class BBTK_EXPORT  WxBlackBoxFrame : public wxFrame, 
-                                      public WidgetBlackBoxWindow<wxWindow>
-  {
-  public:
-    typedef WidgetBlackBoxWindow<wxWindow> Parent;
-    WxBlackBoxFrame(WxBlackBox::Pointer box,
-                   wxWindow *parent, wxString title, wxSize size);
-    ~WxBlackBoxFrame();
-    void bbShow();
-    void bbHide();
-    void bbDestroy();
-    bool IsDialog() { return false; }
-    bool IsFrame() { return true; }
-    wxFrame* bbGetFrame() { return this; } 
-  };
-  //==================================================================
-
-
-
-  //=================================================================
-  // Handles the destroy events of a widget associated to a WxBlackBox 
-  // in order to signal the widget death to its associated box
-  class BBTK_EXPORT WxBlackBoxWidgetEventHandler : public wxEvtHandler
-  {
-  public:
-    /// Ctor with the box and widget 
-    WxBlackBoxWidgetEventHandler( WxBlackBox::Pointer box, wxWindow *widget );
-    /// Dtor
-    ~WxBlackBoxWidgetEventHandler();
-    /// Returns true iff is the handler for that window  
-    bool IsHandlerOf( wxWindow* w ) { return mWindow == w; }
-    // wxWindow* GetWxWindow() { return mWindow; }
-    /// Method processing the destroy event of the widget
-    void OnWindowDestroy(wxWindowDestroyEvent&);
-    //
-    //bool IsDead() { return mDead; }
-
-  private:
-    WxBlackBox::WeakPointer mBox;
-    wxWindow* mWindow;
-    //bool mDead;
-  };  
-  //=================================================================
-
-
-
 } //namespace bbtk
 
 #endif  //__bbtkWxBlackBox_h__
index ae431dc9cb1cd6570949f29e969dc2a6d720e067..8f3c4e80452d361d2f0b6d3d3357184bfd81e029 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkWxGUIConsole.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/10/17 08:18:15 $
-  Version:   $Revision: 1.15 $
+  Date:      $Date: 2009/05/28 08:12:06 $
+  Version:   $Revision: 1.16 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -169,7 +169,8 @@ namespace bbtk
 
         
     // Set the parent window of all bbtk windows as a child of this
-    bbtk::Wx::SetTopWindowParent(this);
+    //    bbtk::Wx::SetTopWindowParent(this);
+    bbtk::Wx::SetTopWindow(this);
     // Top Window Auto Destroys when no more black box window alive 
     // : this is the default 
     //    bbtk::Wx::SetAutoDestroyTopWindow(true);
@@ -199,12 +200,36 @@ namespace bbtk
   }
   //================================================================
 
+  //================================================================
+  void WxGUIConsole::OnClose(wxCloseEvent& event)
+  {
+    bbtkDebugMessage("widget",9,"bbi::OnClose()"<<std::endl);
+    //Wx::SetWindowsHaveBeenDestroyedByParent();
+    //mInterpreter.reset();
+    wxWindowList& list = GetChildren();
+    wxWindowList::iterator iter;
+    for (iter = list.begin(); iter != list.end(); ++iter)
+      {
+       (*iter)->Close();
+      }
+    this->Destroy();
+  }
+  //================================================================
+
   //================================================================
   void WxGUIConsole::OnWxSignal()
   {
-    if ((!Wx::TopWindowExists())&&(!IsShown())) 
+    if ((!bbtk::Wx::IsSomeWindowAlive())&&(!IsShown())) 
       {
        bbtkDebugMessage("wx",2,"  --> bbtk top window destroyed and WxGUIConsole not shown => destructing"<<std::endl);
+       /*
+       wxWindowList& list = GetChildren();
+       wxWindowList::iterator iter;
+       for (iter = list.begin(); iter != list.end(); ++iter)
+         {
+           (*iter)->Close();
+         }
+       */
        Close();
       }
   }
@@ -428,15 +453,17 @@ namespace bbtk
   
   //================================================================  
   // Overloaded Show method to handle bbtk::Wx::TopWindow auto-destruction
+  // OBSOLETE !!!
   bool WxGUIConsole::Show(bool show)
   {
-    bbtk::Wx::SetAutoDestroyTopWindow(!show);
+    //    bbtk::Wx::SetAutoDestroyTopWindow(!show);
     return wxFrame::Show(show);
   }
   //================================================================  
    
   //================================================================  
   BEGIN_EVENT_TABLE(WxGUIConsole, wxFrame)
+    EVT_CLOSE(  WxGUIConsole::OnClose)
     EVT_MENU(ID_Menu_Quit                      , WxGUIConsole::OnMenuQuit)
     EVT_MENU(ID_Menu_About                     , WxGUIConsole::OnMenuAbout)
     EVT_MENU(ID_Menu_EditConfig                , WxGUIConsole::OnMenuEditConfig)
index 84d32359b329c26bcee44e190e1cd82e864b0e00..e08f1f16cd9b22afe978ee811dbf8a63c3c9b825 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkWxGUIConsole.h,v $
   Language:  C++
-  Date:      $Date: 2008/10/17 08:18:15 $
-  Version:   $Revision: 1.6 $
+  Date:      $Date: 2009/05/28 08:12:07 $
+  Version:   $Revision: 1.7 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -122,6 +122,8 @@ namespace bbtk
     // Overloaded Show method to handle bbtk::Wx::TopWindow auto-destruction
     virtual bool Show(bool show = true);
 
+    void OnClose(wxCloseEvent& event);
+
 
   private:
     wxAuiManager m_mgr;
index 4cb10db79bff0daccd28c7af3ba31cf30e133286..c15e5996551ca429597292ddfa59b8073663f217 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkWxGUIScriptingInterface.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/04/15 15:45:49 $
-  Version:   $Revision: 1.37 $
+  Date:      $Date: 2009/05/28 08:12:07 $
+  Version:   $Revision: 1.38 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -243,8 +243,10 @@ namespace bbtk
 #endif
 
     // parent window of all bbtk windows will be a child of this
-    Wx::SetTopWindowParent(this);
-    // Add the method OnWxSignal as a Wx::Signal observer 
+    //    Wx::SetTopWindowParent(this);
+    Wx::SetTopWindow(this);
+    // Wx::SetAutoDestroyTopWindow(false);
+  // Add the method OnWxSignal as a Wx::Signal observer 
     //bbtkAddWxSignalObserver(WxGUIPackageBrowser2Window::OnWxSignal);
 
     //.PaneBorder(false)); 
@@ -301,11 +303,29 @@ namespace bbtk
  //================================================================
   WxGUIScriptingInterface::~WxGUIScriptingInterface()
   {
+  bbtkDebugMessage("widget",9,"bbStudio::~bbStudio()"<<std::endl);
     SavePerspective();
     m_mgr.UnInit();
   }
   //================================================================
 
+  //================================================================
+  void WxGUIScriptingInterface::OnClose(wxCloseEvent& event)
+  {
+    bbtkDebugMessage("widget",9,"bbStudio::OnClose()"<<std::endl);
+    //Wx::SetWindowsHaveBeenDestroyedByParent();
+    //mInterpreter.reset();
+    wxWindowList& list = GetChildren();
+    wxWindowList::iterator iter;
+    for (iter = list.begin(); iter != list.end(); ++iter)
+      {
+       (*iter)->Close();
+      }
+    this->Destroy();
+  }
+  //================================================================
+
+
   //================================================================
   void WxGUIScriptingInterface::Open(const std::string& filename)
   {
@@ -916,6 +936,7 @@ namespace bbtk
   
   //================================================================  
   BEGIN_EVENT_TABLE(WxGUIScriptingInterface, wxFrame)
+    EVT_CLOSE(  WxGUIScriptingInterface::OnClose)
     EVT_MENU(ID_Menu_Quit, WxGUIScriptingInterface::OnMenuQuit)
     EVT_MENU(ID_Menu_About, WxGUIScriptingInterface::OnMenuAbout)
     EVT_MENU(ID_Menu_EditConfig, WxGUIScriptingInterface::OnMenuEditConfig)
index 8282731634991525f498237a062b0eb99fe932ac..37bbe3d7b2e1f7b98f193a5452746ae70d74fce6 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkWxGUIScriptingInterface.h,v $
   Language:  C++
-  Date:      $Date: 2009/04/15 15:45:49 $
-  Version:   $Revision: 1.16 $
+  Date:      $Date: 2009/05/28 08:12:07 $
+  Version:   $Revision: 1.17 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -147,6 +147,8 @@ namespace bbtk
 
        void DoRegeneratePackageDoc(const std::string& pack);
        void DoRegenerateBoxesLists();
+
+    void OnClose(wxCloseEvent& event);
   private:
     wxAuiManager m_mgr;
     Interpreter::Pointer mInterpreter;
index f970ec74f0241c584d61a00a19730804d99b2400..02096e5566c9791b9e7ed6f0f70b932fc236f933 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkWxGUITextEditor.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/04/15 15:45:49 $
-  Version:   $Revision: 1.19 $
+  Date:      $Date: 2009/05/28 08:12:07 $
+  Version:   $Revision: 1.20 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -758,7 +758,8 @@ namespace bbtk
     SetSizer(sizer);
 
     // parent window of all bbtk windows will be a child of this
-    Wx::SetTopWindowParent(this);
+    //    Wx::SetTopWindowParent(this);
+    Wx::SetTopWindow(this);
     // Add the method OnWxSignal as a Wx::Signal observer 
     //bbtkAddWxSignalObserver(WxGUITextEditorWindow::OnWxSignal);
     
diff --git a/packages/qt/bbs/appli/exampleQLayoutSplit.bbs b/packages/qt/bbs/appli/exampleQLayoutSplit.bbs
new file mode 100644 (file)
index 0000000..3953291
--- /dev/null
@@ -0,0 +1,28 @@
+author "laurent.guigues@creatis.insa-lyon.fr"
+description "Example of QLayoutSplit widget"
+category "example"
+
+load qt
+load std
+new QSlider s
+new QOutputText t
+connect s.Out t.In 
+connect s.BoxChange t.BoxExecute
+set s.In 100
+set s.Min 10
+set s.Max 1000
+set s.WinHeight 100
+set s.WinWidth 100
+
+new QLayoutSplit l
+set l.Orientation Vertical
+connect s.Widget l.Widget1
+connect t.Widget l.Widget2
+new QSlider s2
+connect s2.Widget l.Widget3
+
+set l.Weight1 5
+set l.Weight2 1
+set l.Weight3 2
+
+exec l
index cd5ba230af6e795378b67065ccd8c90b29aab53f..7f0008e41c91c2e9f9f0aefa9c09ba89850f0ae1 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbvtkImagePlanes.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/05/15 14:58:01 $
-  Version:   $Revision: 1.24 $
+  Date:      $Date: 2009/05/28 08:12:16 $
+  Version:   $Revision: 1.25 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -133,7 +133,7 @@ namespace bbvtk
  };
   //================================================================
 
-  //vtkCxxRevisionMacro(ImagePlanes::VtkCallbackType, "$Revision: 1.24 $");
+  //vtkCxxRevisionMacro(ImagePlanes::VtkCallbackType, "$Revision: 1.25 $");
 
   //================================================================
 
@@ -214,28 +214,28 @@ namespace bbvtk
 //---------------------------------------------------------------------
   void ImagePlanes::bbUserFinalizeProcessing()
   {
+           
     if (bbGetOutputPlaneX()) 
       {
-       bbGetOutputPlaneX()->SetInput(NULL);
-       //      if (mVtkCallback) bbGetOutputPlaneX()->RemoveObserver(mVtkCallback);
+
+       /*
+
+         bbGetOutputPlaneX()->RemoveObserver(mVtkCallback);
+         bbGetOutputPlaneY()->RemoveObserver(mVtkCallback);
+         bbGetOutputPlaneZ()->RemoveObserver(mVtkCallback);
+       
+       
        bbGetOutputPlaneX()->Delete();
-      }
-    if (bbGetOutputPlaneY()) 
-      {
-       bbGetOutputPlaneY()->SetInput(NULL);
-       //      if (mVtkCallback) bbGetOutputPlaneY()->RemoveObserver(mVtkCallback);
        bbGetOutputPlaneY()->Delete();
-      }
-    if (bbGetOutputPlaneZ()) 
-      {
-       bbGetOutputPlaneZ()->SetInput(NULL);
-       //      if (mVtkCallback) bbGetOutputPlaneZ()->RemoveObserver(mVtkCallback);
        bbGetOutputPlaneZ()->Delete();
+       mVtkCallback->Delete();
+       */
+       //bbGetOutputPlaneX()->SetInput(NULL);
+       //bbGetOutputPlaneY()->SetInput(NULL);
+       //bbGetOutputPlaneZ()->SetInput(NULL);
+       
       }
-    if (mVtkCallback) 
-      {
-       //      mVtkCallback->Delete();
-      }
+    
   }
   
 //---------------------------------------------------------------------  
index d9043f958a5fc96c9f8460eeaf2b415fd609f84b..8b40107c218f7ce0d5c40379fee53d160139f486 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbwxLayoutLine.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/05/15 14:58:03 $
-  Version:   $Revision: 1.8 $
+  Date:      $Date: 2009/05/28 08:12:17 $
+  Version:   $Revision: 1.9 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -135,15 +135,6 @@ namespace bbwx
   // when window is shown
   void  LayoutLine::OnShowWidget()
   {
-         bbUserOnShowWidget("Widget1");
-         bbUserOnShowWidget("Widget2");
-         bbUserOnShowWidget("Widget3");
-         bbUserOnShowWidget("Widget4");
-         bbUserOnShowWidget("Widget5");
-         bbUserOnShowWidget("Widget6");
-         bbUserOnShowWidget("Widget7");
-         bbUserOnShowWidget("Widget8");
-         bbUserOnShowWidget("Widget9");
   }
 
 }//namespace bbwx
index ff32fc4a81840d2c62fa82bbd9b79c71689fff0c..f588595dae4eaddab71ac71d08acf502e0f2ae14 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbwxLayoutSplit.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/05/15 14:58:03 $
-  Version:   $Revision: 1.11 $
+  Date:      $Date: 2009/05/28 08:12:17 $
+  Version:   $Revision: 1.12 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -138,8 +138,7 @@ namespace bbwx
     //    std::cout << "pos = "<<pos<<std::endl;
   
     win->SetSashPosition(pos,true);
-    bbUserOnShowWidget("Widget1");
-    bbUserOnShowWidget("Widget2");
+
   }
 
 
index fd9419178e861f7287cf781722ed6090613d5445..2e8b86bcb89964961d2a23947953b494e7d14bf6 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbwxLayoutTab.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/05/15 14:58:03 $
-  Version:   $Revision: 1.10 $
+  Date:      $Date: 2009/05/28 08:12:17 $
+  Version:   $Revision: 1.11 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -128,7 +128,6 @@ namespace bbwx
   // when window is shown
   void  LayoutTab::OnShowWidget()
   {
-    //bbGetOutputWidget()->Show();
     wxNotebook* w = (wxNotebook*)bbGetOutputWidget();
     if (w) 
       {
@@ -137,15 +136,6 @@ namespace bbwx
            w->SetSelection(0);
            for (unsigned int i=0; i<w->GetPageCount(); ++i)  w->AdvanceSelection();
          }
-       bbUserOnShowWidget("Widget1");
-       bbUserOnShowWidget("Widget2");
-       bbUserOnShowWidget("Widget3");
-       bbUserOnShowWidget("Widget4");
-       bbUserOnShowWidget("Widget5");
-       bbUserOnShowWidget("Widget6");
-       bbUserOnShowWidget("Widget7");
-       bbUserOnShowWidget("Widget8");
-       bbUserOnShowWidget("Widget9");
       }
     
    
index 1a1d93f91c60667dc995c8bde1fa03f8fe718c17..48ac1ac175b1d0c930990f1881a57432cbe38f62 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbwxvtkViewer2D.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/05/15 14:58:07 $
-  Version:   $Revision: 1.35 $
+  Date:      $Date: 2009/05/28 08:12:18 $
+  Version:   $Revision: 1.36 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -236,15 +236,18 @@ namespace bbwxvtk
        bbtkMessage("Output", 2, "Viewer2D : Orientation was not 0< <2 "<<std::endl);
        orientation=2; // Why not?      
     }
-    // mBox->bbIsShown() is necessary to be sure that the wxWindow is already 
+       std::cout << "slicepre = "<<std::endl;
+           // mBox->bbIsShown() is necessary to be sure that the wxWindow is already 
     // created and displayed. 
     // Else when slice != 0 we get an X Window System error with wxGTK
+
+       std::cout << "shown = "<<mBox->bbIsShown()<<std::endl;
     if (
        (backImageData!=NULL)&&
        (mBox->bbIsShown()))
     {
                int z = mBox->bbGetInputSlice();
-               //      std::cout << "slice = "<<z<<std::endl;
+               std::cout << "slice = "<<z<<std::endl;
                int ext[6];
                backImageData->GetWholeExtent(ext);
                /*
index f155e9ab1a15adeb4498cc8951233fcf8cc3b943..6d1537f8a2cb852f862ca38b6920cc9ff2730070 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbwxvtkViewer3D.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/05/15 14:58:08 $
-  Version:   $Revision: 1.16 $
+  Date:      $Date: 2009/05/28 08:12:18 $
+  Version:   $Revision: 1.17 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -87,6 +87,8 @@ namespace bbwxvtk
   //-------------------------------------------------------------------------
   Viewer3DWidget::~Viewer3DWidget()
   {
+    mBox->DisableObservers();
+    mBox->bbSetOutputWidget(NULL);
     renderwindow->Delete();
     renderer->Delete();
     interactorstyle->Delete();
@@ -160,13 +162,55 @@ void Viewer3DWidget::Refresh(bool eraseBackground , const wxRect* rect )
        
        //-----------------------------------------------------------------     
        void Viewer3D::bbUserFinalizeProcessing()
-       {
-       }       
+       {  
+         DisableObservers();
+       }
+
+       void Viewer3D::DisableObservers()
+       {  
+         Viewer3DWidget* w = (Viewer3DWidget*)bbGetOutputWidget();
+         if (w!=NULL)
+           { 
+             vtkRenderWindowInteractor *interactor = w->GetInteractor();
+             if (interactor!=NULL)
+               {
+                 if (bbGetInputObs1()!=NULL) 
+                   {
+                     if (bbGetInputObs1()->GetInteractor()!=NULL)
+                       bbGetInputObs1()->EnabledOff();
+                   }
+                 if (bbGetInputObs2()!=NULL) 
+                   {
+                     if (bbGetInputObs2()->GetInteractor()!=NULL)
+                 //bbGetInputObs2()->SetInteractor(NULL);
+                     bbGetInputObs2()->EnabledOff();
+                   }
+                 if (bbGetInputObs3()!=NULL) 
+                   {
+                    if (bbGetInputObs3()->GetInteractor()!=NULL)
+                  //bbGetInputObs3()->SetInteractor(NULL);
+                     bbGetInputObs3()->EnabledOff();
+                   }
+                 if (bbGetInputObs4()!=NULL) 
+                   {
+                    if (bbGetInputObs4()->GetInteractor()!=NULL)
+                  //bbGetInputObs4()->SetInteractor(NULL);
+                     bbGetInputObs4()->EnabledOff();
+                   }
+                 if (bbGetInputObs5()!=NULL) 
+                   {
+                  if (bbGetInputObs5()->GetInteractor()!=NULL)
+                    //bbGetInputObs5()->SetInteractor(NULL);
+                     bbGetInputObs5()->EnabledOff();
+                   }
+               }       
+           }
+       }
        
        //--------------------------------------------------------------------------
   void Viewer3D::Process() 
   { 
-         
+    if (!bbIsShown()) return;
 //EED    
 //       Viewer3DWidget* w = (Viewer3DWidget*)bbGetOutputWidget();
 //       if (w)   w->Update();
@@ -243,11 +287,12 @@ void Viewer3DWidget::Refresh(bool eraseBackground , const wxRect* rect )
  
     bbtkDebugMessageInc("Core",9,"Viewer3D::CreateWidget()"<<std::endl);
 
-    Viewer3DWidget* w = new Viewer3DWidget(this,parent,
-                                                                                  //bbGetWxParent(),
-                                                                                  bbGetInputStereo());
-  //EED  w->Update();
-  //...
+    Viewer3DWidget* w = new Viewer3DWidget(this,
+                                          parent,
+                                          //bbGetWxParent(),
+                                          bbGetInputStereo());
+    //EED  w->Update();
+    //...
          
     bbSetOutputWidget(w);
     
@@ -259,7 +304,7 @@ void Viewer3DWidget::Refresh(bool eraseBackground , const wxRect* rect )
   // when window is shown
   void  Viewer3D::OnShowWidget()
   {
-         
+    Process();
        //    Viewer3DWidget* w = (Viewer3DWidget*)bbGetOutputWidget();
     //    if (w) w->Update();
   }
index 1ef1ecd5ba83a21933417c97ee2a141764792b1e..cac53bafc23970df4bb7547708c0abc7fb2ed494 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbwxvtkViewer3D.h,v $
   Language:  C++
-  Date:      $Date: 2009/05/15 14:58:08 $
-  Version:   $Revision: 1.13 $
+  Date:      $Date: 2009/05/28 08:12:18 $
+  Version:   $Revision: 1.14 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -63,7 +63,7 @@ namespace bbwxvtk
     virtual void Refresh(bool eraseBackground = true, const wxRect* rect = NULL);
 
   private:
-    Viewer3D                     *mBox;
+    Viewer3D*            mBox;
     vtkRenderer                  *renderer;
     vtkRenderWindow              *renderwindow;
     vtkInteractorStyleTrackballCamera *interactorstyle;
@@ -98,8 +98,10 @@ namespace bbwxvtk
     void CreateWidget(wxWindow*);
     void OnShowWidget();
 
+    void DisableObservers();
+
   protected:
-         bool firsttime;
+    bool firsttime;
   };
    
   //=================================================================