#include <stdio.h>
#include <time.h>
+
using namespace crea;
-// Memory tracking allocation
+
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();
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();
}
//=====================================================================
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;
}
//=====================================================================
void WxViewer::ShowNextImage()
{
+
+ #if WIN32
wxMutexLocker lock(mMutex);
-
-
- GimmickDebugMessage(10,"WxViewer::ShowNextImage() "
+ #endif
+
+ GimmickMessage(2,"WxViewer::ShowNextImage() "
<<mCurrent+1<<"/"
<<imagePointers.size()<<std::endl);