Go to the documentation of this file.00001 #ifndef __creaImageIOWxViewer_h_INCLUDED__
00002 #define __creaImageIOWxViewer_h_INCLUDED__
00003
00004 #ifdef USE_WXWIDGETS
00005
00006
00007 #include <creaWx.h>
00008 #include <wx/image.h>
00009 #include <wx/imaglist.h>
00010 #include <wx/splitter.h>
00011
00012 #include <creaImageIOSystem.h>
00013 #include <creaImageIOImagePointerHolder.h>
00014
00015
00016
00017 #include "creawxVTKRenderWindowInteractor.h"
00018 #include "vtkImageViewer2.h"
00019
00020 namespace creaImageIO
00021 {
00022
00023 class WxViewerPlayer;
00024
00025 class WxViewer : public wxPanel
00026 {
00027
00028 public:
00030 WxViewer();
00031 WxViewer(wxWindow *parent,
00032 const wxWindowID id,
00033 wxString title,
00034 const wxPoint& pos,
00035 const wxSize& size);
00037 virtual ~WxViewer();
00039 void ShowNextImage();
00041 void StartPlayer();
00043 void StopPlayer();
00045 bool RefreshIfNecessary();
00047 void SetImageVector(std::vector<boost::shared_ptr<ImagePointerHolder> > &pointers);
00048
00050 void SetValue();
00051
00052 private:
00053
00055 void OnCineLoop(wxCommandEvent &Event);
00056
00058 void OnSlide(wxCommandEvent &Event);
00059
00060
00062 void ShowImage(vtkImageData* im);
00064 vtkImageViewer2* mViewer;
00065
00067 wxSlider *mslide ;
00068
00070 wxCheckBox *mcheck;
00071
00073 crea::creawxVTKRenderWindowInteractor *mInteractor;
00074
00076 int mx1,mx2,my1,my2,mz1,mz2;
00078 double mspx,mspy,mspz;
00080 int mCurrent;
00082 WxViewerPlayer* mPlayer;
00084 wxMutex mMutex;
00086 bool mNeedRefresh;
00088 vtkImageData* mLastImageShown;
00090 std::vector< boost::shared_ptr<ImagePointerHolder> > imagePointers;
00091
00093 wxFlexGridSizer *mflexSizer;
00094 wxBoxSizer *mtopSizer;
00095
00096 };
00097
00098 }
00099
00100 #endif // USE_WIDGETS
00101
00102 #endif