#ifndef VTKINTERACTORSTYLEBASEVIEW_H_ #define VTKINTERACTORSTYLEBASEVIEW_H_ #include "wxVtkBaseView.h" #include //class InteractorStyleMaracas; //#include "InteractorStyleMaracas.h" class InteractorStyleMaracas; class creaMaracasVisu_EXPORT vtkInteractorStyleBaseView : public vtkInteractorStyleImage { public: vtkInteractorStyleBaseView(); ~vtkInteractorStyleBaseView(); static vtkInteractorStyleBaseView *New(); virtual void OnChar(); virtual void OnMouseMove(); virtual void OnLeftButtonDown(); virtual void OnLeftButtonUp(); virtual void OnMiddleButtonDown(); virtual void OnMiddleButtonUp(); virtual void OnRightButtonDown(); virtual void OnRightButtonUp(); virtual void OnLeftDClick(); virtual void OnRightDClick(); virtual void OnMiddleDClick(); virtual void OnMouseWheel(); virtual void TransformCoordinate(double &X, double &Y, double &Z); void AddInteractorStyleMaracas(InteractorStyleMaracas* interactorStyleMaracas); void RemoveInteractorStyleMaracas(InteractorStyleMaracas* interactorStyleMaracas); void InsertInteractorStyleMaracas(int pos, InteractorStyleMaracas* interactorStyleMaracas); void CallLstInteractorStyleMaracas(int type); //JCP 13/05/2009 //wxVtk2DBaseView *GetWxVtk2DBaseView(); //wxVtk3DBaseView *GetWxVtk3DBaseView(); wxVtkBaseView *GetWxVtk2DBaseView(); wxVtkBaseView *GetWxVtk3DBaseView(); //JCP 13/05/2009 void SetwxVtkBaseView(wxVtkBaseView *wxvtkbaseview); void SetActiveAllInteractors(bool ok); void SetRefresh_waiting(); void SetParent_refresh_waiting(); void AddParentToReport(wxEvtHandler* parentToReport); bool GetRefresh_waiting(); bool GetParent_refresh_waiting(); wxEvtHandler* GetParentToReport(int i); void EvaluateToRefresh(); void BlockRefresh(); void UnBlockRefresh(); protected: std::vector< InteractorStyleMaracas* > _lstInteractorStyleMaracas; private: bool _blockRefresh; bool _refresh_waiting; bool _parent_refresh_waiting; wxVtkBaseView *_wxvtkbaseview; std::vector _lstParentToReport; }; #endif /*VTKINTERACTORSTYLEBASEVIEW_H_*/