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