]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkWxBlackBox.cxx
*** empty log message ***
[bbtk.git] / kernel / src / bbtkWxBlackBox.cxx
index 245a07412fa108ca4b135e4a0e10e5246ac51a18..d543faa5df26920e6cfc82f2ea1ff5442b333860 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkWxBlackBox.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/05/14 14:43:34 $
-  Version:   $Revision: 1.39 $
+  Date:      $Date: 2009/05/19 10:19:23 $
+  Version:   $Revision: 1.40 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -105,7 +105,7 @@ namespace bbtk
     Parent::bbShow();
     Show(false);
     SetReturnCode( wxDialog::ShowModal() ); 
-    bbClose();
+    bbDestroy();
   }
   //=========================================================================
 
@@ -119,9 +119,9 @@ namespace bbtk
   //=========================================================================
 
   //=========================================================================
-  void WxBlackBoxDialog::bbClose()
+  void WxBlackBoxDialog::bbDestroy()
   {
-    bbtkDebugMessage("wx",9,"WxBlackBoxDialog::bbClose()"<<std::endl);
+    bbtkDebugMessage("wx",9,"WxBlackBoxDialog::bbDestroy()"<<std::endl);
     wxDialog::Destroy();
   }
   //=========================================================================
@@ -129,6 +129,8 @@ namespace bbtk
   //=========================================================================
   WxBlackBoxDialog::~WxBlackBoxDialog()
   {
+    bbtkDebugMessage("wx",9,"WxBlackBoxDialog::~WxBlackBoxDialog()"
+                    <<std::endl);
   }
   //=========================================================================
 
@@ -178,6 +180,8 @@ namespace bbtk
   //=========================================================================
   WxBlackBoxFrame::~WxBlackBoxFrame()
   {
+    bbtkDebugMessage("wx",9,"WxBlackBoxFrame::~WxBlackBoxFrame()"
+                    <<std::endl);
   }
   //=========================================================================
 
@@ -215,10 +219,10 @@ namespace bbtk
   //=========================================================================
 
   //=========================================================================
-  void WxBlackBoxFrame::bbClose()
+  void WxBlackBoxFrame::bbDestroy()
   {
-    bbtkDebugMessage("wx",9,"WxBlackBoxFrame::bbClose()"<<std::endl);
-    wxFrame::Close();
+    bbtkDebugMessage("wx",9,"WxBlackBoxFrame::bbDestroy()"<<std::endl);
+    wxFrame::Destroy();
   }
   //=========================================================================
 
@@ -254,23 +258,30 @@ namespace bbtk
   //=========================================================================
   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);   
+
+    mBox.lock()->bbSetWidgetEventHandler(0);   
   }
   //=========================================================================
 
   //=========================================================================
   void WxBlackBoxWidgetEventHandler::OnWindowDestroy(wxWindowDestroyEvent&)
   {
+   bbtkDebugMessage("wx",9,"WxBlackBoxWidgetEventHandler::OnWindowDestroy() []"<<std::endl);
     if (mBox.expired()) return;
-    bbtkDebugMessage("wx",9,"WxBlackBoxWidgetEventHandler::OnWindowDestroy() ["
+    bbtkDebugMessage("wx",9,"WxBlackBoxWidgetEventHandler::OnWindowDestroy() alive ["
                     <<mBox.lock()->bbGetFullName()<<"]"<<std::endl);
     mBox.lock()->bbSetOutputWidget(0);
-    // LGSIGNAL
-    //    mBox.lock()->bbSetModifiedStatus();
   }
   //=========================================================================
 
@@ -308,6 +319,13 @@ 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();
+      }
+    
   }
   //==================================================================