1 #ifndef __creaImageIOWxViewer_h_INCLUDED__
2 #define __creaImageIOWxViewer_h_INCLUDED__
9 #include <wx/imaglist.h>
10 #include <wx/splitter.h>
12 #include <creaImageIOSystem.h>
13 #include <creaImageIOImagePointerHolder.h>
16 // vtk and wxvtk classes
17 #include "creawxVTKRenderWindowInteractor.h"
18 #include "vtkImageViewer2.h"
25 class WxViewer : public wxPanel
31 WxViewer(wxWindow *parent,
38 /// Shows the next image in the image vector
40 ///Starts the image player
42 ///Stops the image player
44 ///Refreshes the interface if the current image shown has changed
45 bool RefreshIfNecessary();
46 ///Sets a new image vector to be read
47 void SetImageVector(std::vector<boost::shared_ptr<ImagePointerHolder> > &pointers);
49 /// Set value of slider control
54 /// Event to resume or start cine loop
55 void OnCineLoop(wxCommandEvent &Event);
57 /// Event to change displayed frames with slide control
58 void OnSlide(wxCommandEvent &Event);
61 ///Shows the image passed as parameter
62 void ShowImage(vtkImageData* im);
64 vtkImageViewer2* mViewer;
69 ///CheckBox to cine loop
72 /// Associated wxvtk interactor
73 crea::creawxVTKRenderWindowInteractor *mInteractor;
76 int mx1,mx2,my1,my2,mz1,mz2;
78 double mspx,mspy,mspz;
79 /// Current image shown
81 ///The threaded movie player
82 WxViewerPlayer* mPlayer;
85 /// Boolean that declares if the player needs to be refreshed
88 vtkImageData* mLastImageShown;
89 ///The vectors of images to be shown
90 std::vector< boost::shared_ptr<ImagePointerHolder> > imagePointers;
92 /// Sizers to preview images
93 wxFlexGridSizer *mflexSizer;
94 wxBoxSizer *mtopSizer;
100 #endif // USE_WIDGETS