class_docstr: Helper for drawing the complete menu to the screen.
  
  :param scroll_offset: Number (integer) representing the preferred amount of
      completions to be displayed before and after the current one. When this
      is a very high number, the current completion will be shown in the
      middle most of the time.
class_docstr_tok: ["Helper","for","drawing","the","complete","menu","to","the","screen",".",":","param","scroll_offset",":","Number","(","integer",")","representing","the","preferred","amount","of","completions","to","be","displayed","before","and","after","the","current","one",".","When","this","is","a","very","high","number",",","the","current","completion","will","be","shown","in","the","middle","most","of","the","time","."]
docstr: Handle mouse events: clicking and scrolling.
docstr_tok: ["Handle","mouse","events",":","clicking","and","scrolling","."]
code: def mouse_handler(self, cli, mouse_event):
      """
      Handle mouse events: clicking and scrolling.
      """
      b = cli.current_buffer
  
      if mouse_event.event_type == MouseEventType.MOUSE_UP:
          # Select completion.
          b.go_to_completion(mouse_event.position.y)
          b.complete_state = None
  
      elif mouse_event.event_type == MouseEventType.SCROLL_DOWN:
          # Scroll up.
          b.complete_next(count=3, disable_wrap_around=True)
  
      elif mouse_event.event_type == MouseEventType.SCROLL_UP:
          # Scroll down.
          b.complete_previous(count=3, disable_wrap_around=True)
  
imports: from __future__ import unicode_literals
  from six.moves import zip_longest, range
  from prompt_toolkit.filters import HasCompletions, IsDone, Condition, to_cli_filter
  from prompt_toolkit.mouse_events import MouseEventType
  from prompt_toolkit.token import Token
  from prompt_toolkit.utils import get_cwidth
  from .containers import Window, HSplit, ConditionalContainer, ScrollOffsets
  from .controls import UIControl, UIContent
  from .dimension import LayoutDimension
  from .margins import ScrollbarMargin
  from .screen import Point, Char
  import math
label_desc: Use image node_id 11 for calling the CompletionsMenuControl obj's underlying member method code with example usage: obj.mouse_handler(cli, mouse_event) without return types