a
    ‰©lc   ã                   @   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                   @   s@   e Zd ZdZddœdd„Zeeeeeegdf ddœdd	„ZdS )
r
   z?
    Two dimensional raster of callbacks for mouse events.
    N)Úreturnc                    s&   t ddœdd„‰ t‡ fdd„ƒ| _d S )Nr   )Úmouse_eventr   c                 S   s   t S )zD
            :param mouse_event: `MouseEvent` instance.
            )ÚNotImplemented)r   © r   ú`/var/www/html/django/DPS/env/lib/python3.9/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>%   ó    z:MouseHandlers.__init__.<locals>.<lambda>.<locals>.<lambda>r   r   r   r   r   r   %   r   z(MouseHandlers.__init__.<locals>.<lambda>)r   r   Úmouse_handlers)Úselfr   r   r   Ú__init__   s    þzMouseHandlers.__init__r   )Ú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)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úintr   r   r    r   r   r   r   r
      s   ùN)Úcollectionsr   Útypingr   r   r   Zprompt_toolkit.mouse_eventsr   Z'prompt_toolkit.key_binding.key_bindingsr   Ú__all__r	   r
   r   r   r   r   Ú<module>   s   þ