]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkWxBlackBox.cxx
ColourDialog -> ColourSelector
[bbtk.git] / kernel / src / bbtkWxBlackBox.cxx
index 431f89137af86431810dd3e1a8e84656f8e9e7ec..1cea747459170fe233e9acec99b57b89f49ce3f1 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkWxBlackBox.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/01/22 15:41:34 $
-  Version:   $Revision: 1.2 $
+  Date:      $Date: 2008/02/08 10:05:38 $
+  Version:   $Revision: 1.7 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
 
 
 
+
 namespace bbtk
 {
 
-  //=========================================================================
-  wxWindow* WxBlackBox::bbGlobalGetTopWindow() 
-  {
-    return bbmgTopWindow;
-  }
-  //=========================================================================
-
-  //=========================================================================
-  void WxBlackBox::bbGlobalSetTopWindow(wxWindow* w) 
-  {
-    if ( bbmgTopWindow ) 
-      {
-       bbtkGlobalError("WxBlackBox::bbGlobalSetTopWindow : top window already set !");
-      } 
-    bbmgTopWindow = w;
-  }
-  //=========================================================================
-   
-
-  //=========================================================================
-  void WxBlackBox::bbGlobalDecNbWindowsAlive()
-  { 
-    bbmgNbWindowsAlive--; 
-    /*
-    if ( (bbmgNbWindowsAlive==0) && 
-        bbmgTopWindow && (!bbmgTopWindow->IsShown()))
-      {
-       bbmgTopWindow->Close();
-      }
-    */
-  }
-  //=========================================================================
-
-  //=========================================================================
-  void WxBlackBox::bbGlobalDecNbWindowsShown()
-  { 
-    bbmgNbWindowsShown--; 
-    if ( (bbmgNbWindowsShown==0) && 
-        bbmgTopWindow && (!bbmgTopWindow->IsShown()))
-      {
-       bbmgTopWindow->Close();
-      }
-  }
-  //=========================================================================
-
-  //=========================================================================
-  // Static members 
-  wxWindow* WxBlackBox::bbmgTopWindow =0;
-  int WxBlackBox::bbmgNbWindowsAlive = 0;
-  int WxBlackBox::bbmgNbWindowsShown = 0;
-  //=========================================================================
-
-
 
 
 
@@ -106,9 +54,9 @@ namespace bbtk
     bbtkDebugMessage("Wx",9,"WxBlackBoxWindow::WxBlackBoxWindow("<<
                     mBox->bbGetFullName()<<")"<<std::endl);
     mBox->bbSetWindow(this);
-    WxBlackBox::bbGlobalIncNbWindowsAlive();
+    Wx::IncNbWindowsAlive();
     bbtkDebugMessage("Wx",9," -> Number of windows alive = "
-                    <<WxBlackBox::bbGlobalGetNbWindowsAlive()<<std::endl);
+                    <<Wx::GetNbWindowsAlive()<<std::endl);
   }
   //=========================================================================
 
@@ -119,9 +67,9 @@ namespace bbtk
                     mBox->bbGetFullName()<<"]"<<std::endl);
     bbHide();
     mBox->bbSetWindow(0);
-    WxBlackBox::bbGlobalDecNbWindowsAlive();
+    Wx::DecNbWindowsAlive();
     bbtkDebugMessage("Wx",9," -> Number of windows alive = "
-                    <<WxBlackBox::bbGlobalGetNbWindowsAlive()<<std::endl);
+                    <<Wx::GetNbWindowsAlive()<<std::endl);
      
 
   }
@@ -133,10 +81,10 @@ namespace bbtk
     if (bbIsShown()) return;
     bbtkDebugMessage("Wx",9,"WxBlackBoxWindow::bbShow() ["<<
                     mBox->bbGetFullName()<<"]"<<std::endl);
-    WxBlackBox::bbGlobalIncNbWindowsShown();
+    Wx::IncNbWindowsShown();
     mShown = true;
     bbtkDebugMessage("Wx",9," -> Number of windows shown = "
-                    <<WxBlackBox::bbGlobalGetNbWindowsShown()<<std::endl);
+                    <<Wx::GetNbWindowsShown()<<std::endl);
   }
   //=========================================================================
 
@@ -146,10 +94,10 @@ namespace bbtk
     if (!bbIsShown()) return;
     bbtkDebugMessage("Wx",9,"WxBlackBoxWindow::bbHide() ["<<
                     mBox->bbGetFullName()<<"]"<<std::endl);
-    WxBlackBox::bbGlobalDecNbWindowsShown();
+    Wx::DecNbWindowsShown();
     mShown = false;
     bbtkDebugMessage("Wx",9," -> Number of windows shown = "
-                    <<WxBlackBox::bbGlobalGetNbWindowsShown()<<std::endl);
+                    <<Wx::GetNbWindowsShown()<<std::endl);
   }
   //=========================================================================
 
@@ -423,7 +371,7 @@ namespace bbtk
   wxWindow* WxParentToChildData::GetWindowInWhichToInsert( const BlackBox* b)
     const
   {
-    bbtkDebugMessageInc("Core",9,"WxParentToChildData::GetWindowInWhichToInsert("<<b->bbGetFullName()<<")"<<std::endl);
+    bbtkDebugMessageInc("Kernel",9,"WxParentToChildData::GetWindowInWhichToInsert("<<b->bbGetFullName()<<")"<<std::endl);
     
     BlackBox::InputConnectorMapType::const_iterator i = b->bbGetInputConnectorMap().find("WinParent");
     if (i==b->bbGetInputConnectorMap().end())
@@ -435,7 +383,7 @@ namespace bbtk
     Connection* c = i->second->GetConnection();
     if (!c) 
       {
-       bbtkDebugMessage("Core",9,
+       bbtkDebugMessage("Kernel",9,
                         "-> The input 'Parent' of the box "
                         <<b->bbGetFullName()
                         <<" is not connected."<<std::endl);
@@ -452,7 +400,7 @@ namespace bbtk
                  <<") no window provided by parent ?!?");
       }
 
-    bbtkDebugDecTab("Core",9);
+    bbtkDebugDecTab("Kernel",9);
     return j->second;
   }
   //=========================================================================
@@ -466,13 +414,13 @@ namespace bbtk
   //=========================================================================
   //=========================================================================
   //=========================================================================
-  BBTK_USER_BLACK_BOX_IMPLEMENTATION(WxBlackBox,UserBlackBox);
+  BBTK_USER_BLACK_BOX_IMPLEMENTATION(WxBlackBox,AtomicBlackBox);
   //=========================================================================
   
   //=========================================================================
   void WxBlackBox::bbUserConstructor()
   {
-    bbtkDebugMessage("Core",9,"WxBlackBox::bbUserConstructor()"<<std::endl);
+    bbtkDebugMessage("Kernel",9,"WxBlackBox::bbUserConstructor()"<<std::endl);
     bbInitAttributes();
   }
   //=========================================================================
@@ -480,7 +428,7 @@ namespace bbtk
   //=========================================================================
   void WxBlackBox::bbUserCopyConstructor()
   {
-    bbtkDebugMessage("Core",9,"WxBlackBox::bbUserCopyConstructor()"
+    bbtkDebugMessage("Kernel",9,"WxBlackBox::bbUserCopyConstructor()"
                     <<std::endl);
     bbInitAttributes();
   }
@@ -490,12 +438,12 @@ namespace bbtk
   //=========================================================================
   void WxBlackBox::bbUserDestructor()
   {
-    bbtkDebugMessage("Core",9,"WxBlackBox::bbUserDestructor()"<<std::endl);
+    bbtkDebugMessage("Kernel",9,"WxBlackBox::bbUserDestructor()"<<std::endl);
     if (bbGetWindow()) {
       delete bbGetWindow();
       //      bbSetWindow(0);
     }
-    bbtkDebugMessage("Core",9,"EO WxBlackBox::bbUserDestructor()"<<std::endl);
+    bbtkDebugMessage("Kernel",9,"EO WxBlackBox::bbUserDestructor()"<<std::endl);
   }
   //=========================================================================
   
@@ -528,7 +476,7 @@ namespace bbtk
     bbmWindow = 0;
     //    bbmWidget = 0;
     //    bbSetInputWinParent(0);
-    bbSetInputWinTitle("...");
+    bbSetInputWinTitle(bbGetName());
     bbSetInputWinWidth(800);
     bbSetInputWinHeight(800);
     bbSetInputWinDialog(false);
@@ -568,6 +516,8 @@ namespace bbtk
            delete bbGetWidgetEventHandler();
            new WxBlackBoxWidgetEventHandler(this,bbGetOutputWidget());
          }
+       // Sets the name of the wxWindow to the input WinTitle
+       bbGetOutputWidget()->SetName(bbtk::std2wx(bbGetInputWinTitle()));
       }
 
     // If the output 'Widget' is connected then it's gonna 
@@ -608,7 +558,7 @@ namespace bbtk
                             "   Input WinDialog set to true : creating a Dialog"
                             <<std::endl);
            show = (Window*) new WxBlackBoxDialog( this,
-                                                  bbGlobalGetTopWindow(), 
+                                                  Wx::GetTopWindow(), 
                                                   std2wx( bbGetInputWinTitle() + " - bbtk (c) CREATIS LRMN"),
                                                   wxSize( bbGetInputWinWidth() , bbGetInputWinHeight() ) );
          }
@@ -619,7 +569,7 @@ namespace bbtk
                             "   Input WinDialog set to false : creating a Frame"
                             <<std::endl);
            show = (Window*) new WxBlackBoxFrame( this,
-                                                 bbGlobalGetTopWindow(), 
+                                                 Wx::GetTopWindow(), 
                                                  std2wx( bbGetInputWinTitle()  + " - bbtk (c) CREATIS LRMN"),
                                                  wxSize( bbGetInputWinWidth() , bbGetInputWinHeight() ) );
          }