# MouseEvents

VTKExamples/Python/Interaction/MouseEvents

### Description

This example creates a new vtkInteractorStyle which can be used to implement custom reactions on user events. If you just want to disable single events you can also have a look at MouseEventsObserver. This specific example just prints a simple message and then calls the original eventhandler of the vtkInteractorStyleTrackballCamera.

### Code

MouseEvents.py

    #!/usr/bin/env python
    from __future__ import print_function

    import vtk

    class MyInteractorStyle(vtk.vtkInteractorStyleTrackballCamera):

        def __init__(self, parent=None):
            self.AddObserver("MiddleButtonPressEvent", self.middleButtonPressEvent)
            self.AddObserver("MiddleButtonReleaseEvent", self.middleButtonReleaseEvent)

        def middleButtonPressEvent(self, obj, event):
            print("Middle Button pressed")
            self.OnMiddleButtonDown()
            return

        def middleButtonReleaseEvent(self, obj, event):
            print("Middle Button released")
            self.OnMiddleButtonUp()
            return

    source = vtk.vtkSphereSource()
    source.SetCenter(0, 0, 0)
    source.SetRadius(1)
    source.Update()

    mapper = vtk.vtkPolyDataMapper()
    mapper.SetInputConnection(source.GetOutputPort())

    actor = vtk.vtkActor()
    actor.SetMapper(mapper)

    renderer = vtk.vtkRenderer()
    renderer.SetBackground(1, 1, 1)
    renderer.AddActor(actor)

    renwin = vtk.vtkRenderWindow()
    renwin.AddRenderer(renderer)

    interactor = vtk.vtkRenderWindowInteractor()
    interactor.SetInteractorStyle(MyInteractorStyle())
    interactor.SetRenderWindow(renwin)

    interactor.Initialize()
    interactor.Start()