Event handler for mouse wheel actions

        Invokes zoom when mouse when Ctrl is also pressed

def OnMouseWheel(self, event):
        """Event handler for mouse wheel actions

        Invokes zoom when mouse when Ctrl is also pressed

        """

        if event.ControlDown():
            if event.WheelRotation > 0:
                post_command_event(self.grid, self.grid.ZoomInMsg)
            else:
                post_command_event(self.grid, self.grid.ZoomOutMsg)

        elif self.main_window.IsFullScreen():
            if event.WheelRotation > 0:
                newtable = self.grid.current_table - 1
            else:
                newtable = self.grid.current_table + 1

            post_command_event(self.grid, self.GridActionTableSwitchMsg,
                               newtable=newtable)
            return

        else:
            wheel_speed = config["mouse_wheel_speed_factor"]
            x, y = self.grid.GetViewStart()
            direction = wheel_speed if event.GetWheelRotation() < 0 \
                else -wheel_speed
            if event.ShiftDown():
                # Scroll sideways if shift is pressed.
                self.grid.Scroll(x + direction, y)
            else:
                self.grid.Scroll(x, y + direction)