diff --git a/invesalius/data/styles.py b/invesalius/data/styles.py index c7c7bb0..c8c73bb 100644 --- a/invesalius/data/styles.py +++ b/invesalius/data/styles.py @@ -34,6 +34,7 @@ class BaseImageInteractorStyle(vtk.vtkInteractorStyleImage): def __init__(self, viewer): self.right_pressed = False self.left_pressed = False + self.middle_pressed = False self.AddObserver("LeftButtonPressEvent", self.OnPressLeftButton) self.AddObserver("LeftButtonReleaseEvent", self.OnReleaseLeftButton) @@ -41,6 +42,9 @@ class BaseImageInteractorStyle(vtk.vtkInteractorStyleImage): self.AddObserver("RightButtonPressEvent",self.OnPressRightButton) self.AddObserver("RightButtonReleaseEvent", self.OnReleaseRightButton) + self.AddObserver("MiddleButtonPressEvent", self._OnMiddleButtonPressEvent) + self.AddObserver("MiddleButtonReleaseEvent", self._OnMiddleButtonReleaseEvent) + def OnPressLeftButton(self, evt, obj): self.left_pressed = True @@ -55,6 +59,12 @@ class BaseImageInteractorStyle(vtk.vtkInteractorStyleImage): def OnReleaseRightButton(self, evt, obj): self.right_pressed = False + def _OnMiddleButtonPressEvent(self, evt, obj): + self.middle_pressed = True + + def _OnMiddleButtonReleaseEvent(self, evt, obj): + self.middle_pressed = False + class DefaultInteractorStyle(BaseImageInteractorStyle): """ @@ -79,6 +89,10 @@ class DefaultInteractorStyle(BaseImageInteractorStyle): evt.Dolly() evt.OnRightButtonDown() + elif self.middle_pressed: + evt.Pan() + evt.OnMiddleButtonDown() + def OnZoomRightClick(self, evt, obj): evt.StartDolly() -- libgit2 0.21.2