
    z%i-                         	 d dl Z d dlmZ  G d d      Z G d d      Z G d d      Z G d	 d
      Z G d d      Z G d d      Zy)    N)TclErrorc                       e Zd Z	 d Zy)Eventc                 <    	 | j                   j                  |       y N)__dict__update)selfkwdss     M/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/idlelib/idle_test/mock_tk.py__init__zEvent.__init__   s    6T"    N)__name__
__module____qualname__r    r   r   r   r   
   s    #r   r   c                   "    e Zd Z	 ddZd Zd Zy)VarNc                 .    || _         || _        || _        y r   )mastervaluename)r
   r   r   r   s       r   r   zVar.__init__   s    
	r   c                     || _         y r   r   )r
   r   s     r   setzVar.set#   s	    
r   c                     | j                   S r   r   r
   s    r   getzVar.get%   s    zzr   NNN)r   r   r   r   r   r   r   r   r   r   r      s    /r   r   c                       e Zd Z	 ddZd Zy)	Mbox_funcNc                     || _         y r   )result)r
   r#   s     r   r   zMbox_func.__init__0   s	    r   c                 R    || _         || _        || _        || _        | j                  S r   )titlemessageargsr   r#   )r
   r%   r&   r'   r   s        r   __call__zMbox_func.__call__2   s(    
		{{r   r   )r   r   r   r   r(   r   r   r   r!   r!   )   s    r   r!   c                   ~    e Zd Z	  e       Z e       Z e       Z e       Z e       Z e       Z	 e       Z
 e       Zy)MboxN)r   r   r   r!   askokcancelaskquestionaskretrycancelaskyesnoaskyesnocancel	showerrorshowinfoshowwarningr   r   r   r*   r*   ;   sA    0 +K+K[N{H[NI{H+Kr   r*   c                   x    e Zd Z	 di fdZd ZddZd Zd ZddZddZ	d	 Z
d
 Zd ZddZd Zd Zd ZddZy)TextNc                     	 ddg| _         y )N 
)data)r
   r   cnfkws       r   r   zText.__init__k   s    	
 J	r   c                 0    	 d| j                  |d      z  S )Nz%s.%s   )endflag)_decoder
   indexs     r   r@   z
Text.indexs   s    KeQ777r   c                    	 t        |t        t        f      rt        |      }	 |j	                         }t        | j                        dz
  }|dk(  r|t        | j                  |         dz
  fS |dk(  r| j                  |      S |j                  d      \  }}t        |      }|dk  ry||kD  r| j                  |      S t        | j                  |         dz
  }|j                  d      s|dk(  r||fS t        j                  d|t        j                        x}r||t        |j!                  d            z
  fS t        |      }|d	k  rd	}||fS ||kD  r|}||fS # t
        $ r t        d|z        d w xY w)
Nzbad text index "%s"r<   insertend.)r<   r   z lineendz
end-(\d*)cr   )
isinstancefloatbytesstrlowerAttributeErrorr   lenr8   _endexsplitintendswithre	fullmatchAgroup)r
   r@   r=   lastlinelinechar
linelengthms           r   r>   zText._decodew   s   	 eeU^,JE	D++-E 		NQ&HS8!45999e^;;w''[[%
d4y !8H_;;w''4)A-
==$##]D"$$7717c!''!*o555 4y!8D Tz JDTz?  	D0589tC	Ds   E E4c                     	 t        | j                        }|dk(  r|dfS |dz  }|t        | j                  |         |z   fS )Nr<   r   )rK   r8   )r
   r=   ns      r   rL   zText._endex   sL    	 		Na<a4KFAc$))A,''111r   c                 ~   	 |sy |j                  d      }|d   d   dk(  r|j                  d       | j                  |d      \  }}| j                  |   d | }| j                  |   |d  }||d   z   | j                  |<   |dd  | j                  |dz   |dz    | j                  |t	        |      z   dz
  xx   |z  cc<   y )NTr7   r6   r   r<   )
splitlinesappendr>   r8   rK   )r
   r@   charsrU   rV   beforeafters          r   rB   zText.insert   s    5  &9R=D LL\\%,
d4$'		$& 58+		$#(9		$q&a 		$s5z/!#$-$r   c                    	 | j                  |      \  }}|||dz   }}n| j                  |      \  }}||k(  r| j                  |   || S | j                  |   |d  g}t        |dz   |      D ]   }|j                  | j                  |          " |j                  | j                  |   d |        dj	                  |      S )Nr<   r6   )r>   r8   ranger^   join)	r
   index1index2	startline	startcharendlineendcharlinesis	            r   r   zText.get   s    E#||F3	9>()A+WG#||F3GW99Y'	'::YYy))*56E9Q;0 +TYYq\*+LL7+HW56775>!r   c                 (   	 | j                  |d      \  }}|J|t        | j                  |         dz
  k  r||dz   }}n9|t        | j                        dz
  k  r|dz   d}}ny | j                  |d      \  }}||k(  r8||k  r3| j                  |   d | | j                  |   |d  z   | j                  |<   y ||k  rY| j                  |   d | | j                  |   |d  z   | j                  |<   |dz  }t        ||dz         D ]  }| j                  |=  y y )Nr\   r<   r   )r>   rK   r8   rc   )r
   re   rf   rg   rh   ri   rj   rl   s           r   deletezText.delete   sB   	
  $||FB7	9>3tyy34Q66#,ikS^a//#,Q; #||FB7GW I$7#'99Y#7
#C-1YYy-A'(-K$LDIIi  #'99Y#7
#C#'99W#5gh#?$@DIIi NI9gai0 )IIi()	 !r   c                 r   | j                  |      \  }}| j                  |      \  }}|dk(  r||k  xs ||k(  xr ||k  S |dk(  r||k  xs ||k(  xr ||k  S |dk(  r||kD  xs ||k(  xr ||kD  S |dk(  r||kD  xs ||k(  xr ||k\  S |dk(  r||k(  xr ||k(  S |dk(  r||k7  xs ||k7  S t        d|z        )N<z<=>z>=z==z!=z=bad comparison operator "%s": must be <, <=, ==, >=, >, or !=)r>   r   )r
   re   oprf   line1char1line2char2s           r   comparezText.compare   s   ||F+u||F+u95=DEUN$Duu}D4Z5=EEUN$Eu~E3Y5=DEUN$Duu}D4Z5=EEUN$Eu~E4ZE>4eun44ZE>4eun4 HJLM N Nr   c                      	 y r   r   )r
   r   r@   s      r   mark_setzText.mark_set  s    8r   c                      y r   r   )r
   	markNamess     r   
mark_unsetzText.mark_unset  s    (r   c                      	 y r   r   )r
   tagNamere   rf   s       r   
tag_removezText.tag_remove  s    Kr   c                      y r   r   r
   xys      r   scan_dragtozText.scan_dragto  s    <r   c                      y r   r   r   s      r   	scan_markzText.scan_mark!  s    0r   c                      	 y r   r   r?   s     r   seezText.see$  s    Br   c                      	 y r   r   )sequencefuncadds      r   bindz	Text.bind+  s    Hr   )r   r   r   )r   r   r   r   r@   r>   rL   rB   r   rn   rw   ry   r|   r   r   r   r   r   r   r   r   r4   r4   ^   s[     # 83j2."$)>N,)=1r   r4   c                       e Zd Z	 d Zy)Entryc                      y r   r   r   s    r   	focus_setzEntry.focus_set2  s    r   N)r   r   r   r   r   r   r   r   r   0  s
    r   r   )	rP   _tkinterr   r   r   r!   r*   r4   r   r   r   r   <module>r      sR   
 
 # #&	 	 $   FO Od r   