
    ;e-                         	 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dS )    N)TclErrorc                       e Zd Z	 d ZdS )Eventc                 <    	 | j                             |           d S N)__dict__update)selfkwdss     0/usr/lib/python3.11/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dS )VarNc                 0    || _         || _        || _        d S r   )mastervaluename)r
   r   r   r   s       r   r   zVar.__init__   s    
			r   c                     || _         d S r   r   )r
   r   s     r   setzVar.set#   s    


r   c                     | j         S r   r   r
   s    r   getzVar.get%   s
    zr   NNN)r   r   r   r   r   r   r   r   r   r   r      sI        /         r   r   c                       e Zd Z	 ddZd ZdS )	Mbox_funcNc                     || _         d S r   )result)r
   r#   s     r   r   zMbox_func.__init__0   s    r   c                 H    || _         || _        || _        || _        | 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dS )MboxN)r   r   r   r!   askokcancelaskquestionaskretrycancelaskyesnoaskyesnocancel	showerrorshowinfoshowwarningr   r   r   r*   r*   ;   sm        0 )++K)++KY[[Ny{{HY[[N	Iy{{H)++KKKr   r*   c                   z    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dS )TextNc                     	 ddg| _         d S )N 
)data)r
   r   cnfkws       r   r   zText.__init__k   s    	
 J			r   c                 8    	 d|                      |d          z  S )Nz%s.%s   )endflag)_decoder
   indexs     r   r@   z
Text.indexs   s     KeQ7777r   r   c                 \   	 t          |t          t          f          rt          |          }	 |                                }n!# t
          $ r t          d|z            d w xY wt          | j                  dz
  }|dk    r|t          | j        |                   dz
  fS |dk    r| 	                    |          S |
                    d          \  }}t          |          }|dk     rdS ||k    r| 	                    |          S t          | j        |                   dz
  }|                    d          s|dk    r||fS t          j        d|t          j                  x}r'||t          |                    d                    z
  fS t          |          }|d	k     rd	}n||k    r|}||fS )
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^,, 	JJE	D++--EE 	D 	D 	D05899tC	D 	NNQ&HS8!455999e^^;;w'''[[%%
d4yy !884H__;;w'''4))A-
==$$ 	$##]D"$7771 	6c!''!**oo555 4yy!88DDJDTzs   A A!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   sO    	 	NNa<<a4KFAc$)A,'''111r   c                    	 |sd S |                     d          }|d         d         dk    r|                    d           |                     |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<   d S )NTr7   r6   r   r<   )
splitlinesappendr>   r8   rK   )r
   r@   charsrU   rV   beforeafters          r   rB   zText.insert   s    5 	F  &&9R=D  LL\\%,,
d4$'	$& 58+	$#(9	$q&a- 	$s5zz/!#$$$-$$$$$r   c                    	 |                      |          \  }}|||dz   }}n|                      |          \  }}||k    r| j        |         ||         S | j        |         |d          g}t          |dz   |          D ]"}|                    | j        |                    #|                    | j        |         d |                    d                    |          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3	9>()A+WGG#||F33GW9Y'	'(9::Yy))**56E9Q;00 + +TYq\****LL7+HWH5666775>>!r   c                 J   	 |                      |d          \  }}|N|t          | j        |                   dz
  k     r||dz   }}n>|t          | j                  dz
  k     r|dz   d}}nd S |                      |d          \  }}||k    r;||k     r5| j        |         d |         | j        |         |d          z   | j        |<   d S ||k     rV| j        |         d |         | j        |         |d          z   | j        |<   |dz  }t          ||dz             D ]}| j        |= d S d S )Nr\   r<   r   )r>   rK   r8   rc   )r
   re   rf   rg   rh   ri   rj   rl   s           r   deletezText.delete   sq   	
  $||FB77	9>3ty344Q666#,ikS^^a///#,Q; #||FB77GW I$7$7#'9Y#7

#C-1Yy-A'((-K$LDIi     #'9Y#7

#C#'9W#5ghh#?$@DIi NI9gai00 ) )Ii(( ! ) )r   c                    |                      |          \  }}|                      |          \  }}|dk    r||k     p||k    o||k     S |dk    r||k     p||k    o||k    S |dk    r||k    p||k    o||k    S |dk    r||k    p||k    o||k    S |dk    r||k    o||k    S |dk    r||k    p||k    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995=DEUN$Duu}D4ZZ5=EEUN$Eu~E3YY5=DEUN$Duu}D4ZZ5=EEUN$Eu~E4ZZE>4eun44ZZE>4eun4 HJLM N N Nr   c                     	 d S r   r   )r
   r   r@   s      r   mark_setzText.mark_set  s
    8r   c                     d S r   r   )r
   	markNamess     r   
mark_unsetzText.mark_unset  s    ((r   c                     	 d S r   r   )r
   tagNamere   rf   s       r   
tag_removezText.tag_remove  s
    Kr   c                     d S r   r   r
   xys      r   scan_dragtozText.scan_dragto  s    <<r   c                     d S r   r   r   s      r   	scan_markzText.scan_mark!  s    00r   c                     	 d S r   r   r?   s     r   seezText.see$  s
    Br   c                     	 d S 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 8 83 3 3 3j2 2 2. . ." " " "$) ) ) )>N N N,  ) ) )   = = =1 1 1       r   r4   c                       e Zd Z	 d ZdS )Entryc                     d S 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      s+  
 
			      # # # # # # # #&	 	 	 	 	 	 	 	       $               FO O O O O O O Od         r   