]> Creatis software - creaRigidRegistration.git/blob - PackRecalage/src/bbPackRecalageImageSwitcherBox.h
*** empty log message ***
[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_DECLARE_INPUT(On,bool);
35   BBTK_PROCESS(Process);
36   BBTK_DECLARE_OUTPUT(Out,vtkImageData*);
37   void Process();
38   BBTK_CREATE_WIDGET(CreateWidget);
39   void CreateWidget(wxWindow*);
40
41   private:
42         bool change;
43         MyTimer *myTimer;
44         int time;
45         int oldTime;
46         bool _on;
47 };
48
49 BBTK_BEGIN_DESCRIBE_BLACK_BOX(ImageSwitcherBox,bbtk::WxBlackBox);
50 BBTK_NAME("ImageSwitcherBox");
51 BBTK_AUTHOR("jn.trillos44@uniandes.edu.co");
52 BBTK_DESCRIPTION("Switches between 2 images for comparison");
53 BBTK_CATEGORY("__CategoryBlackBox__");
54 BBTK_INPUT(ImageSwitcherBox,Title,"Title prepended to the Widget",std::string,"");
55 BBTK_INPUT(ImageSwitcherBox,In1,"First Image",vtkImageData*,"");
56 BBTK_INPUT(ImageSwitcherBox,In2,"Second Image",vtkImageData*,"");
57 BBTK_INPUT(ImageSwitcherBox,Time,"Time between image change",int,"");
58 BBTK_INPUT(ImageSwitcherBox,On,"Timer status. True = On.",bool,"");
59 BBTK_OUTPUT(ImageSwitcherBox,Out,"Image to be placed",vtkImageData*,"");
60 BBTK_END_DESCRIBE_BLACK_BOX(ImageSwitcherBox);
61 }
62 // EO namespace bbPackRecalage
63
64 #endif // __bbPackRecalageImageSwitcherBox_h_INCLUDED__
65 #endif // _USE_WXWIDGETS_
66