o
    ÞË·e   ã                   @   sd   d dl mZ d dlmZ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„ dƒZd	S )
é    ©Údefaultdict)ÚTYPE_CHECKINGÚCallableÚDefaultDict)Ú
MouseEvent)ÚNotImplementedOrNoneÚMouseHandlerÚMouseHandlersr   c                   @   sF   e Zd ZdZddd„Zdededed	ed
eegdf ddfdd„ZdS )r
   z?
    Two dimensional raster of callbacks for mouse events.
    ÚreturnNc                    s(   dt ddfdd„‰ t‡ fdd„ƒ| _d S )NÚmouse_eventr   r   c                 S   s   t S )zD
            :param mouse_event: `MouseEvent` instance.
            )ÚNotImplemented)r   © r   ú[/var/www/ideatree/venv/lib/python3.10/site-packages/prompt_toolkit/layout/mouse_handlers.pyÚdummy_callback   s   z.MouseHandlers.__init__.<locals>.dummy_callbackc                      s   t ‡ fdd„ƒS )Nc                      s   ˆ S )Nr   r   ©r   r   r   Ú<lambda>%   s    z:MouseHandlers.__init__.<locals>.<lambda>.<locals>.<lambda>r   r   r   r   r   r   %   s    z(MouseHandlers.__init__.<locals>.<lambda>)r   r   Úmouse_handlers)Úselfr   r   r   Ú__init__   s   þzMouseHandlers.__init__Úx_minÚx_maxÚy_minÚy_maxÚhandlerr   c           	      C   s6   t ||ƒD ]}| j| }t ||ƒD ]}|||< qqdS )z1
        Set mouse handler for a region.
        N)Úranger   )	r   r   r   r   r   r   ÚyÚrowÚxr   r   r   Úset_mouse_handler_for_range'   s   

ÿýz)MouseHandlers.set_mouse_handler_for_range)r   N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úintr   r   r   r   r   r   r   r
      s     
þýüûúùN)Úcollectionsr   Útypingr   r   r   Úprompt_toolkit.mouse_eventsr   Ú'prompt_toolkit.key_binding.key_bindingsr   Ú__all__r	   r
   r   r   r   r   Ú<module>   s    þ