]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOWxViewer.cpp
Debugged the thread and added a deletion on exit
[creaImageIO.git] / src2 / creaImageIOWxViewer.cpp
index e9f0bdd73d1dfb24fc758c2a988cec87d304ba7a..a566189298693f8103cbfd9a490b3b7e8b0e71c2 100644 (file)
@@ -10,7 +10,6 @@
 #include <stdio.h>
 #include <time.h>
 
-
 using namespace crea;
 
 namespace creaImageIO
@@ -31,7 +30,7 @@ namespace creaImageIO
     //    void ShowImage(vtkImageData* v);
     //   void StartIterator();
     void  OnExit();
-
+       
   private:
     //std::vector<vtkImageData*> mImagesToPlay;
     //vtkImageViewer2* mViewer;
@@ -79,7 +78,8 @@ namespace creaImageIO
     
     mCurrent = 0;
 
-    mPlayer = new WxViewerPlayer(this); //images, mViewer, mInteractor, this); 
+    mPlayer = new WxViewerPlayer(this); //images, mViewer, mInteractor, this);
+       
        mPlayer->Create();
        mPlayer->Run();
        
@@ -259,9 +259,9 @@ namespace creaImageIO
     
     //  mInteractor->Refresh();
     //mInteractor->Render();
-    //    mViewer->Render();   
-
-   ::wxWakeUpIdle();
+    //    mViewer->Render();
+  
+   //::wxWakeUpIdle();
   } 
   //================================================================
   
@@ -271,12 +271,19 @@ namespace creaImageIO
     //    mInteractor->Refresh();
        if(images.size()>0)
        {
-        mInteractor->Render();
+//      mInteractor->Render();
        }
     //mViewer->Render();      
   }
+
+   //================================================================
+  
+  //==================================================
+  void WxViewer::StopPlayer()
+  {
+    mPlayer->Delete();  
+  }
   
-  //=================================================
  
 
   //  BEGIN_EVENT_TABLE(WxGimmickFrame, wxDialog)
@@ -298,11 +305,19 @@ namespace creaImageIO
     GimmickMessage(1,"WxViewerPlayer::Entry()"<<std::endl);
                        
     while(true)
-      {                
-       mWxViewer->ShowNextImage();
-       clock_t endwait;
-       endwait = clock () + 0.2 * CLOCKS_PER_SEC ;
-       while (clock() < endwait) {}
+      { 
+               if(!TestDestroy())
+           { 
+                       mWxViewer->ShowNextImage();
+                       mWxViewer->Refresh();
+                       clock_t endwait;
+                       endwait = clock () + 0.2 * CLOCKS_PER_SEC ;
+                       while (clock() < endwait) {}
+               }
+               else
+               {
+                       break;
+               }
        /*
        for(i=mImagesToPlay.begin();i!=mImagesToPlay.end();++i)
          {
@@ -315,7 +330,7 @@ namespace creaImageIO
                mParent->Refresh();
                endwait = clock () + 0.2 * CLOCKS_PER_SEC ;
                while (clock() < endwait) {}
-             }
+             
            
          }
        */
@@ -331,8 +346,6 @@ namespace creaImageIO
     GimmickMessage(1,"WxViewerPlayer::OnExit() "<<std::endl);
   }
 
-   //=====================================================================
-
  
 } // EO namespace creaImageIO