]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOWxViewer.cpp
move directory
[creaImageIO.git] / src2 / creaImageIOWxViewer.cpp
index 3aaf583e2a0ceb9d1dffadfe1363ec0108846452..c0180a0afd5b9cb0ff73c57d2190222d7c8ab53b 100644 (file)
@@ -10,8 +10,9 @@
 #include <stdio.h>
 #include <time.h>
 
+
 using namespace crea;
-// Memory tracking allocation
+
 namespace creaImageIO
 {
   
@@ -57,15 +58,8 @@ namespace creaImageIO
 
     mNeedRefresh = false;
     mLastImageShown = NULL;
-
-    wxBoxSizer *topsizer = new wxBoxSizer(wxVERTICAL);
-
-       mslide = new wxSlider(this,-1,0,0,1, wxDefaultPosition, wxSize(400,10), wxSL_HORIZONTAL | wxSL_LABELS);
-       Connect( mslide->GetId(), wxEVT_COMMAND_SLIDER_UPDATED , (wxObjectEventFunction) &WxViewer::OnSlide ); 
-       mcheck = new wxCheckBox(this,5123,crea::std2wx("Cine Loop"));
-       Connect( mcheck->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &WxViewer::OnCineLoop ); 
-       mcheck->SetValue(false);
-    // previewer       
+       
+       // previewer    
     mInteractor = new crea::creawxVTKRenderWindowInteractor(this,-1);
     mInteractor->UseCaptureMouseOn();  
  
@@ -75,10 +69,25 @@ namespace creaImageIO
     mCurrent = 0;
        mPlayer = 0;
 
-       topsizer-> Add( mslide,1,wxALIGN_CENTER  ,0);
-    topsizer-> Add( mInteractor ,1,wxGROW  ,0);
-
-    SetSizer( topsizer );     
+       // Grid to place checkbox and slider 
+       mflexSizer = new wxFlexGridSizer(1,2,1,1);
+       //Slider
+       mslide = new wxSlider(this,-1,0,0,1, wxDefaultPosition, wxSize(400,40), wxSL_HORIZONTAL | wxSL_LABELS);
+       Connect( mslide->GetId(), wxEVT_COMMAND_SLIDER_UPDATED , (wxObjectEventFunction) &WxViewer::OnSlide ); 
+       //CheckBox
+       mcheck = new wxCheckBox(this,5123,crea::std2wx("Cine Loop"));
+       Connect( mcheck->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &WxViewer::OnCineLoop ); 
+       mcheck->SetValue(false);
+       mflexSizer->Add(mcheck,0, wxFIXED_MINSIZE);
+       mflexSizer-> Add( mslide,1,wxALIGN_CENTER | wxFIXED_MINSIZE );
+
+       // Sizer for Previewer and GridSizer
+       mtopSizer = new wxBoxSizer(wxVERTICAL);
+       mtopSizer->Add(mflexSizer,0);
+    mtopSizer-> Add( mInteractor ,1,wxGROW,0);
+       SetSizer(mtopSizer,true);
+       
+       Update();  
     Layout(); 
   }
   //=====================================================================
@@ -91,9 +100,15 @@ namespace creaImageIO
     GimmickDebugMessage(6,"WxViewer::~WxViewer"
                        <<std::endl);
     // TO DO : desallocate cleanly
-    //    delete mPlayer;
-    //    delete mInteractor;
-       delete mslide;
+       if(mPlayer)
+       {
+               mPlayer->Pause();
+               mPlayer->Delete();
+               mPlayer = 0;
+       }
+       delete mInteractor;
+       //delete mslide;
+       //delete mflexSizer;
   }
   //=====================================================================
 
@@ -117,10 +132,13 @@ namespace creaImageIO
 
   void WxViewer::ShowNextImage()
   {
+        
+       
+         mMutex.Unlock();
        wxMutexLocker lock(mMutex);
        
-    
-    GimmickDebugMessage(10,"WxViewer::ShowNextImage() "
+           
+    GimmickMessage(2,"WxViewer::ShowNextImage() "
                   <<mCurrent+1<<"/"
                   <<imagePointers.size()<<std::endl);