]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView.h
no message
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / vtkInteractorStyleBaseView.h
1 #ifndef VTKINTERACTORSTYLEBASEVIEW_H_
2 #define VTKINTERACTORSTYLEBASEVIEW_H_
3
4
5 #include "wxVtkBaseView.h"
6 #include <vector>
7
8
9 //class InteractorStyleMaracas;
10 //#include "InteractorStyleMaracas.h"
11 class InteractorStyleMaracas;
12
13
14 class creaMaracasVisu_EXPORT vtkInteractorStyleBaseView : public vtkInteractorStyleImage
15 {
16 public:
17         vtkInteractorStyleBaseView();
18         ~vtkInteractorStyleBaseView();
19         static vtkInteractorStyleBaseView *New();
20         virtual void  OnChar();
21         virtual void  OnMouseMove();
22         virtual void  OnLeftButtonDown(); 
23         virtual void  OnLeftButtonUp();
24         virtual void  OnMiddleButtonDown(); 
25         virtual void  OnMiddleButtonUp();
26         virtual void  OnRightButtonDown();
27         virtual void  OnRightButtonUp();
28
29         virtual void  OnLeftDClick();
30         virtual void  OnRightDClick();
31         virtual void  OnMiddleDClick();
32         
33
34         virtual void  OnMouseWheel();
35         
36         virtual void  OnMouseWheelForward();
37         virtual void  OnMouseWheelBackward();
38
39         virtual void  TransformCoordinate(double &X, double &Y, double &Z);
40         
41         void  AddInteractorStyleMaracas(InteractorStyleMaracas* interactorStyleMaracas);
42         void  RemoveInteractorStyleMaracas(InteractorStyleMaracas* interactorStyleMaracas);
43         void  InsertInteractorStyleMaracas(int pos, InteractorStyleMaracas* interactorStyleMaracas);
44         void  CallLstInteractorStyleMaracas(int type);
45 //JCP 13/05/2009
46         //wxVtk2DBaseView               *GetWxVtk2DBaseView();
47         //wxVtk3DBaseView               *GetWxVtk3DBaseView();
48         wxVtkBaseView   *GetWxVtk2DBaseView();
49         wxVtkBaseView   *GetWxVtk3DBaseView();
50 //JCP 13/05/2009
51                         void            SetwxVtkBaseView(wxVtkBaseView *wxvtkbaseview);
52                         void            SetActiveAllInteractors(bool ok);
53
54                         void            SetRefresh_waiting();
55                         void            SetParent_refresh_waiting();
56                         void            AddParentToReport(wxEvtHandler* parentToReport);
57
58                         bool            GetRefresh_waiting();
59                         bool            GetParent_refresh_waiting();
60                         wxEvtHandler* GetParentToReport(int i);
61
62                         void            EvaluateToRefresh();
63                         void            BlockRefresh();
64                         void            UnBlockRefresh();
65
66 protected:
67                 std::vector< InteractorStyleMaracas* >  _lstInteractorStyleMaracas;
68
69 private:
70         bool                                            _blockRefresh;
71         bool                                            _refresh_waiting;
72         bool                                            _parent_refresh_waiting;
73         wxVtkBaseView                           *_wxvtkbaseview;
74         std::vector<wxEvtHandler*>      _lstParentToReport;
75 };
76
77 #endif /*VTKINTERACTORSTYLEBASEVIEW_H_*/