
    f5                    t    d dl mZ d dlmZ d dlmZmZ d dlmZ erd dl	m
Z
 ddgZeegdf   Z G d	 d      Zy
)    )annotationsdefaultdict)TYPE_CHECKINGCallable)
MouseEvent)NotImplementedOrNoneMouseHandlerMouseHandlersr	   c                  8    e Zd ZdZddZ	 	 	 	 	 	 	 	 	 	 	 	 ddZy)r   z?
    Two dimensional raster of callbacks for mouse events.
    c                4    ddt        fd      | _        y )Nc                    t         S )zD
            :param mouse_event: `MouseEvent` instance.
            )NotImplemented)mouse_events    _/var/www/cvtools/html/venv/lib/python3.12/site-packages/prompt_toolkit/layout/mouse_handlers.pydummy_callbackz.MouseHandlers.__init__.<locals>.dummy_callback   s
     "!    c                      t         fd      S )Nc                      S )N r   s   r   <lambda>z:MouseHandlers.__init__.<locals>.<lambda>.<locals>.<lambda>&   s    N r   r   r   s   r   r   z(MouseHandlers.__init__.<locals>.<lambda>&   s    ,B C r   )r   r   returnr	   )r   mouse_handlers)selfr   s    @r   __init__zMouseHandlers.__init__   s    	" CD 	r   c                p    t        ||      D ]'  }| j                  |   }t        ||      D ]  }|||<   	 ) y)z1
        Set mouse handler for a region.
        N)ranger   )	r   x_minx_maxy_miny_maxhandleryrowxs	            r   set_mouse_handler_for_rangez)MouseHandlers.set_mouse_handler_for_range)   sI     ue$ 	!A%%a(C5%( ! A!	!r   N)r   None)r   intr    r)   r!   r)   r"   r)   r#   z,Callable[[MouseEvent], NotImplementedOrNone]r   r(   )__name__
__module____qualname____doc__r   r'   r   r   r   r   r      sK    
 !! ! 	!
 ! >! 
!r   N)
__future__r   collectionsr   typingr   r   prompt_toolkit.mouse_eventsr   'prompt_toolkit.key_binding.key_bindingsr	   __all__r
   r   r   r   r   <module>r4      sD    " # * 2L  &<<=$! $!r   