]> 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  OnMouseWheelForward();
35         virtual void  OnMouseWheelBackward();
36
37         virtual void  TransformCoordinate(double &X, double &Y, double &Z);
38         
39         void  AddInteractorStyleMaracas(InteractorStyleMaracas* interactorStyleMaracas);
40         void  RemoveInteractorStyleMaracas(InteractorStyleMaracas* interactorStyleMaracas);
41         void  InsertInteractorStyleMaracas(int pos, InteractorStyleMaracas* interactorStyleMaracas);
42         void  CallLstInteractorStyleMaracas(int type);
43 //JCP 13/05/2009
44         //wxVtk2DBaseView               *GetWxVtk2DBaseView();
45         //wxVtk3DBaseView               *GetWxVtk3DBaseView();
46         wxVtkBaseView   *GetWxVtk2DBaseView();
47         wxVtkBaseView   *GetWxVtk3DBaseView();
48 //JCP 13/05/2009
49                         void            SetwxVtkBaseView(wxVtkBaseView *wxvtkbaseview);
50                         void            SetActiveAllInteractors(bool ok);
51
52                         void            SetRefresh_waiting();
53                         void            SetParent_refresh_waiting();
54                         void            AddParentToReport(wxEvtHandler* parentToReport);
55
56                         bool            GetRefresh_waiting();
57                         bool            GetParent_refresh_waiting();
58                         wxEvtHandler* GetParentToReport(int i);
59
60                         void            EvaluateToRefresh();
61                         void            BlockRefresh();
62                         void            UnBlockRefresh();
63
64 protected:
65                 std::vector< InteractorStyleMaracas* >  _lstInteractorStyleMaracas;
66
67 private:
68         bool                                            _blockRefresh;
69         bool                                            _refresh_waiting;
70         bool                                            _parent_refresh_waiting;
71         wxVtkBaseView                           *_wxvtkbaseview;
72         std::vector<wxEvtHandler*>      _lstParentToReport;
73 };
74
75 #endif /*VTKINTERACTORSTYLEBASEVIEW_H_*/