B YI~dk-�@sdGdd�d�ZGdd�d�ZGdd�d�ZGdd�d�Zdd lmZGd d �d �ZGd d �d �ZdS)c@seZdZdd�ZdS)�EventcKs|j�|�dS)N)�__dict__�update)�self�kwds�r�>/opt/alt/python37/lib64/python3.7/idlelib/idle_test/mock_tk.py�__init__szEvent.__init__N)�__name__� __module__� __qualname__rrrrrrsrc@s&eZdZddd�Zdd�Zdd�ZdS) �VarNcCs||_||_||_dS)N)�master�value�name)rr rrrrrrsz Var.__init__cCs ||_dS)N)r)rrrrr�setszVar.setcCs|jS)N)r)rrrr�get!szVar.get)NNN)r r r rrrrrrrr s r c@seZdZddd�Zdd�ZdS)� Mbox_funcNcCs ||_dS)N)�result)rrrrrr+szMbox_func.__init__cOs||_||_||_||_|jS)N)�title�message�argsrr)rrrrrrrr�__call__-s zMbox_func.__call__)N)r r r rrrrrrr$s rc@s<eZdZe�Ze�Ze�Ze�Ze�Ze�Z e�Z e�Z dS)�MboxN) r r r rZ askokcancelZ askquestionZaskretrycancelZaskyesnoZaskyesnocancelZ showerrorZshowinfo� showwarningrrrrr5sr�)�TclErrorc@s�eZdZdifdd�Zdd�Zd!dd�Zd d �Zd d �Zd"d d�Zd#dd�Z dd�Z dd�Z dd�Z d$dd�Z dd�Zdd�Zdd�Zd%dd �ZdS)&�TextNcKsddg|_dS)N�� )�data)rr Zcnf�kwrrrrgsz Text.__init__cCsd|j|dd�S)Nz%s.%s�)�endflag)�_decode)r�indexrrrr$osz Text.indexrcCst|ttf�rt|�}y |��}Wn"tk rDtd|�d�YnXt|j�d}|dkrr|t|j|�dfS|dkr�|� |�S|� d�\}}t |�}|dkr�dS||kr�|� |�St|j|�d}|� d�s�|dkr�||fSt |�}|dkr�d}n||k�r|}||fS) Nzbad text index "%s"r!�insert�end�.)r!rz lineendr) � isinstance�float�bytes�str�lower�AttributeErrorr�lenr�_endex�split�int�endswith)rr$r"Zlastline�line�charZ linelengthrrrr#ss4    z Text._decodecCs<t|j�}|dkr|dfS|d8}|t|j|�|fSdS)Nr!r)r.r)rr"�nrrrr/�s  z Text._endexcCs�|sdS|�d�}|dddkr,|�d�|�|d�\}}|j|d|�}|j||d�}||d|j|<|dd�|j|d|d�<|j|t|�d|7<dS)NT�����rrrr!)� splitlines�appendr#rr.)rr$�charsr3r4ZbeforeZafterrrrr%�s  z Text.insertc Cs�|�|�\}}|dkr&||d}}n|�|�\}}||krN|j|||�S|j||d�g}x&t|d|�D]}|�|j|�qrW|�|j|d|��d�|�SdS)Nr!r)r#r�ranger8�join) r�index1�index2� startline� startchar�endline�endchar�lines�irrrr�szText.getcCs|�|d�\}}|dkrf|t|j|�dkr>||d}}qv|t|j�dkr`|dd}}qvdSn|�|d�\}}||kr�||kr�|j|d|�|j||d�|j|<n^||k�r|j|d|�|j||d�|j|<|d7}x t||d�D]}|j|=�q�WdS)Nr6r!r)r#r.rr:)rr<r=r>r?r@rArCrrr�delete�s" z Text.deletecCs�|�|�\}}|�|�\}}|dkr<||kp:||ko:||kS|dkr\||kpZ||koZ||kS|dkr|||kpz||koz||kS|dkr�||kp�||ko�||kS|dkr�||ko�||kS|dkr�||kp�||kStd|��dS)N�z>=z==z!=z=bad comparison operator "%s": must be <, <=, ==, >=, >, or !=)r#r)rr<�opr=Zline1Zchar1Zline2Zchar2rrr�compare�s z Text.comparecCsdS)Nr)rrr$rrr�mark_set sz Text.mark_setcGsdS)Nr)rZ markNamesrrr� mark_unsetszText.mark_unsetcCsdS)Nr)rZtagNamer<r=rrr� tag_removeszText.tag_removecCsdS)Nr)r�x�yrrr� scan_dragtoszText.scan_dragtocCsdS)Nr)rrLrMrrr� scan_markszText.scan_markcCsdS)Nr)rr$rrr�see!szText.seecCsdS)Nr)Zsequence�func�addrrr�bind(sz Text.bind)r)N)N)N)NNN)r r r rr$r#r/r%rrDrHrIrJrKrNrOrPrSrrrrrZs  3   rc@seZdZdd�ZdS)�EntrycCsdS)Nr)rrrr� focus_set.szEntry.focus_setN)r r r rUrrrrrT,srTN)rr rrZ_tkinterrrrTrrrr�s # S