]> Creatis software - creaRigidRegistration.git/blob - PackRecalage/src/bbPackRecalageImageSwitcherBox.h
364775cf2dd7c4bf4fbafe14b5934d0cc474f1c3
[creaRigidRegistration.git] / PackRecalage / src / bbPackRecalageImageSwitcherBox.h
1 #ifdef _USE_WXWIDGETS_
2 #ifndef __bbPackRecalageImageSwitcherBox_h_INCLUDED__
3 #define __bbPackRecalageImageSwitcherBox_h_INCLUDED__
4 #include "bbPackRecalage_EXPORT.h"
5 #include "bbtkWxBlackBox.h"
6
7 #include "vtkImageData.h"
8
9 #include <wx/timer.h>
10
11 namespace bbPackRecalage
12 {
13         class ImageSwitcherBox;
14
15         class MyTimer: public wxTimer
16         {
17         public:
18                 MyTimer(ImageSwitcherBox *box);
19                 ~MyTimer();
20         virtual void Notify();
21
22         ImageSwitcherBox *_box;
23         };
24
25 class bbPackRecalage_EXPORT ImageSwitcherBox
26  : 
27    public bbtk::WxBlackBox
28 {
29   BBTK_BLACK_BOX_INTERFACE(ImageSwitcherBox,bbtk::WxBlackBox);
30   BBTK_DECLARE_INPUT(Title,std::string);
31   BBTK_DECLARE_INPUT(In1,vtkImageData*);
32   BBTK_DECLARE_INPUT(In2,vtkImageData*);
33   BBTK_DECLARE_INPUT(Time,int);
34   BBTK_PROCESS(Process);
35   BBTK_DECLARE_OUTPUT(Out,vtkImageData*);
36   void Process();
37   BBTK_CREATE_WIDGET(CreateWidget);
38   void CreateWidget(wxWindow*);
39
40   private:
41         bool change;
42         MyTimer *myTimer;
43         int time;
44         int oldTime;
45 };
46
47 BBTK_BEGIN_DESCRIBE_BLACK_BOX(ImageSwitcherBox,bbtk::WxBlackBox);
48 BBTK_NAME("ImageSwitcherBox");
49 BBTK_AUTHOR("jn.trillos44@uniandes.edu.co");
50 BBTK_DESCRIPTION("Switches between 2 images for comparison");
51 BBTK_CATEGORY("__CategoryBlackBox__");
52 BBTK_INPUT(ImageSwitcherBox,Title,"Title prepended to the Widget",std::string,"");
53 BBTK_INPUT(ImageSwitcherBox,In1,"First Image",vtkImageData*,"");
54 BBTK_INPUT(ImageSwitcherBox,In2,"Second Image",vtkImageData*,"");
55 BBTK_INPUT(ImageSwitcherBox,Time,"Time between image change",int,"");
56 BBTK_OUTPUT(ImageSwitcherBox,Out,"Image to be placed",vtkImageData*,"");
57 BBTK_END_DESCRIBE_BLACK_BOX(ImageSwitcherBox);
58 }
59 // EO namespace bbPackRecalage
60
61 #endif // __bbPackRecalageImageSwitcherBox_h_INCLUDED__
62 #endif // _USE_WXWIDGETS_
63