ó
±xYc           @  sP   d  d l  m Z d  d l m Z d  d l m Z d Z d e f d „  ƒ  YZ d S(	   iÿÿÿÿ(   t   unicode_literals(   t   product(   t   defaultdictu   MouseHandlerst   MouseHandlersc           B  s#   e  Z d  Z d „  Z d d „ Z RS(   u?   
    Two dimentional raster of callbacks for mouse events.
    c           s%   d „  ‰  t  ‡  f d †  ƒ |  _ d  S(   Nc         S  s   d S(   uD   
            :param mouse_event: `MouseEvent` instance.
            N(    (   t   clit   mouse_event(    (    sC   lib/python2.7/site-packages/prompt_toolkit/layout/mouse_handlers.pyt   dummy_callback   s    c             s   ˆ  S(   N(    (    (   R   (    sC   lib/python2.7/site-packages/prompt_toolkit/layout/mouse_handlers.pyt   <lambda>   s    (   R   t   mouse_handlers(   t   self(    (   R   sC   lib/python2.7/site-packages/prompt_toolkit/layout/mouse_handlers.pyt   __init__   s    	c         C  sI   xB t  t | | ƒ t | | ƒ ƒ D] \ } } | |  j | | f <q" Wd S(   u1   
        Set mouse handler for a region.
        N(   R   t   rangeR   (   R	   t   x_mint   x_maxt   y_mint   y_maxt   handlert   xt   y(    (    sC   lib/python2.7/site-packages/prompt_toolkit/layout/mouse_handlers.pyt   set_mouse_handler_for_range   s    .N(   t   __name__t
   __module__t   __doc__R
   t   NoneR   (    (    (    sC   lib/python2.7/site-packages/prompt_toolkit/layout/mouse_handlers.pyR      s   		N(   u   MouseHandlers(	   t
   __future__R    t	   itertoolsR   t   collectionsR   t   __all__t   objectR   (    (    (    sC   lib/python2.7/site-packages/prompt_toolkit/layout/mouse_handlers.pyt   <module>   s   