
    5bhp                       	 d dl Z d dlZd dlZd dlZd dlZej
                  Zd dl d dlZdZdZ	 e
ej                        Z e
ej                        Zej                  Zej                   Zej"                  Z ej$                  d      Z ej$                  dej(                        Zd Zd Zd	 Zej0                  Zd
 Zej4                  ZdtdZ G d d e j8                  dd            Zd Z ej>                  ej@                         G d d             Z! G d d      Z"da#da$d Z%dudZ&d Z'd Z(d Z)dvdZ*d a+ G d d      Z, G d de,      Z- G d d e,      Z. G d! d"e,      Z/ G d# d$e,      Z0dvd%Z1e2Z3e
Z4d& Z5 G d' d(      Z6 G d) d*      Z7 G d+ d,      Z8 G d- d.      Z9 G d/ d0      Z: G d1 d2e6e:      Z;ejx                  d3d4Z=dwd5Z> G d6 d7      Z? G d8 d9      Z@ G d: d;      ZA G d< d=e6      ZB G d> d?eBe?e@eA      ZC G d@ dAeBe:      ZD G dB dCeC      ZE G dD dEeCe8e9      ZFd aG G dF dGeC      ZH G dH dIeCe8      ZI G dJ dKeC      ZJ G dL dMeC      ZK G dN dOeCe8e9      ZL G dP dQeC      ZM G dR dSeC      ZN G dT dUeC      ZO G dV dWeC      ZP G dX dYeC      ZQ G dZ d[eC      ZR G d\ d]eCe8e9      ZS G d^ d_      ZT G d` daeN      ZU G db dc      ZV G dd deeV      ZW G df dgeV      ZXdh ZYdi ZZ G dj dkeCe8      Z[ G dl dmeC      Z\ G dn doeC      Z]dp Z^ e_       j                         D  cg c]/  \  } }| j                  dq      s eb|ej                        s| drvr| 1 c}} Zdeedsk(  r e^        yy# e$ r Y w xY w# e$ r Y w xY wc c}} w )x    N)*   Fz([\\{}])z([\s])c                 B    	 dj                  t        t        |             S )N )joinmap
_stringifyvalues    :/opt/python-3.12.12/usr/lib/python3.12/tkinter/__init__.py_joinr   :   s    88C
E*++    c                 (   	 t        | t        t        f      rHt        |       dk(  r*t	        | d         } t
        j                  |       rd| z  } | S dt        |       z  } | S t        | t              rt        | d      } nt        |       } | sd} | S t
        j                  |       rMt
        j                  d|       } | j                  dd      } t        j                  d|       } | d   d	k(  rd
| z   } | S | d   d	k(  st        j                  |       rd| z  } | S )Nr   r   z{%s}latin1z{}z\\\1
z\n"\)
isinstancelisttuplelenr	   	_magic_researchr   bytesstrsubreplace	_space_rer
   s    r   r	   r	   ?   s   %$'u:?uQx(E&& L# U5\)E" L eU#x(EJEE L e$MM'51EMM$.EMM'51EQx3u L 1X_	 0 0 7UNELr   c                 v    	 d}| D ]0  }t        |t        t        f      r|t        |      z   }(|+||fz   }2 |S )N )r   r   r   _flatten)seqresitems      r   r!   r!   [   sH    
CdUDM*&C-C	 
 Jr   c                 8   	 t        | t              r| S t        | t        d       t        f      r| S i }t	        |       D ]  }	 |j                  |        |S # t        t        f$ r3}t        d|       |j                         D ]
  \  }}|||<    Y d }~Vd }~ww xY w)Nz_cnfmerge: fallback due to:)
r   dicttyper   r!   updateAttributeError	TypeErrorprintitems)cnfscnfcmsgkvs         r   	_cnfmerger3   j   s    $	D4:s+	,$A

1   
	 #I. 3S9GGIDAqCF &s   AB&)BBTc                     	 | j                  |      }t        |      dz  rt        d      t        |      }i }t	        ||      D ].  \  }}t        |      }|r|d   dk(  r|dd  }|r ||      }|||<   0 |S )N   zNTcl list representing a dict is expected to contain an even number of elementsr   -r   )	splitlistr   RuntimeErroriterzipr   )	tkr2   	cut_minusconvtitr&   keyr   s	            r   
_splitdictrA      s     	QA
1vz C D 	D	aBD"bk
U#hQ3ab'CKES	 " Kr   c                       e Zd Zd Zy)_VersionInfoTypec                     | j                   dk(  r(| j                   d| j                   d| j                   S | j                   d| j                   | j                   d    | j                   S )Nfinal.r   )releaselevelmajorminormicroserialselfs    r   __str__z_VersionInfoType.__str__   sd    'jj\4::,a

|<<jj\4::,t/@/@/C.DT[[MRRr   N)__name__
__module____qualname__rN   r    r   r   rC   rC      s    Sr   rC   )rH   rI   rJ   rG   rK   c                     dd l } |j                  d|       }|j                         \  }}}}t        |      t        |      t        |      }}}|dk(  r|}d}d}n
d}ddd|   }t	        |||||      S )Nr   z(\d+)\.(\d+)([ab.])(\d+)rF   rE   alphabeta)ab)re	fullmatchgroupsintrC   )versionrW   mrH   rI   rG   rK   rJ   s           r   _parse_versionr]      s    0':A)*&E5,u:s5z3v;&5Es$62<@E5%vFFr   c                       e Zd ZdZeZdZdZeZdZdZ	dZ
dZdZd	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#d Z$d!Z%d"Z&d#Z'd$Z(d%Z)y&)'	EventType234567891011121314151617181920212223242526272829303132333435363738N)*rO   rP   rQ   KeyPressKey
KeyReleaseButtonPressButtonButtonReleaseMotionEnterLeaveFocusInFocusOutKeymapExposeGraphicsExposeNoExpose
VisibilityCreateDestroyUnmapMap
MapRequestReparent	ConfigureConfigureRequestGravityResizeRequest	CirculateCirculateRequestPropertySelectionClearSelectionRequest	SelectionColormapClientMessageMappingVirtualEventActivate
Deactivate
MouseWheelr    r   r   r_   r_      s    H
CJKFMFEEGHFFNHJFGE
CJHIGMIHNIHMGLHJJr   r_   c                       e Zd Z	 d Zy)Eventc                   	 | j                   j                         D ci c]  \  }}|dk7  s|| c}}	| j                  s	d= n'| j                  dk7  rt        | j                        	d<   t	        | dd      s	d= | j
                  dk(  r	d= nt        | j
                  t              r| j
                  }d}g }t        |      D ]  \  }}|d|z  z  s|j                  |       ! |dt        |      z  dz
   z  }|s|s|j                  t        |             d	j                  |      	d<   | j                  dk(  r	d
= d}dt	        | j                  d| j                        ddj                  	fd|D              dS c c}}w )Nz??char
send_eventTr   state)ShiftLockControlMod1Mod2Mod3Mod4Mod5Button1Button2Button3Button4Button5r   |delta)r   r   keysymkeycoder   numr   focusxywidthheight<namez event c              3   >   K   | ]  }|v sd |d|     yw)r   =Nr    ).0r1   attrss     r   	<genexpr>z!Event.__repr__.<locals>.<genexpr>'  s!     Ida5j58,ds   	>)__dict__r,   r   reprgetattrr   r   rZ   	enumerateappendr   hexr   r   r'   )
rM   r1   r2   r   modssinkeysr   s
            @r   __repr__zEvent.__repr__  sh   "&--"5"5"7E"7$!Q19A"7EyyfYY$ OE&Mt\40l#::?g

C(JJEKD A!$1AF#HHQK ( q3t9}122EAU$ XXa[E'N::?g
-
 DIIvtyy1GGIdII
 	
A Fs
   FFN)rO   rP   rQ   r   r    r   r   r   r      s    (T$
r   r   c                      	 da d aby )NF)_support_default_root_default_rootr    r   r   NoDefaultRootr   /  s     " Mr   c                 r    t         st        d      t        | rt        d|  d      t               }t        S )NINo master specified and tkinter is configured to not support default rootzToo early to z: no default root window)r   r8   r   Tk)whatroots     r   _get_default_rootr   =  sE      D E 	Etf4LMNNtr   c                      t         st        d      t        } | %da t               } da | j	                          d| _        | S )Nr   FT)r   r8   r   r   withdraw
_temporaryr   s    r   _get_temp_rootr   I  sL      D E 	ED| %t $Kr   c                 `    t        | dd      r	 | j                          y y # t        $ r Y y w xY w)Nr   F)r   destroyTclErrormasters    r   _destroy_temp_rootr   Z  s6    v|U+	NN ,  		s   ! 	--c                      	 y Nr    )errs    r   _tkerrorr   b  s    r   c                 d    	 	 t        |       } t        |       # t        $ r Y t        |       w xY wr   )rZ   
ValueError
SystemExit)codes    r   _exitr   g  s?    L4y T
  
T
s    	//c                   r    e Zd Z	 dZdZdZddZd Zd Zd Z	e	Z
d Zd Zd	 Zd
 Zd Zd ZeZd Zd Zd Zy)Variabler   Nc                    	 |t        |t              st        d      |t        d      }|j	                         | _        |j
                  | _        |r|| _        n dt        t              z   | _        t        dz  a	|| j                  |       y | j                  j                  | j                  j                  dd| j                              s| j                  | j                         y y )Nzname must be a stringzcreate variablePY_VARr   infoexists)r   r   r*   r   _rootr;   _tk_namer   _varnum
initialize
getbooleancall_defaultrM   r   r   r   s       r   __init__zVariable.__init__|  s    	 JtS$9344>&'89F\\^
99DJ!DM1DJqLGOOE"$$TXX]]68TZZ%PQOODMM* Rr   c                 j   	 | j                   y | j                   j                  | j                   j                  dd| j                              r%| j                   j	                  | j                         | j
                  4| j
                  D ]  }| j                   j                  |        d | _        y y )Nr   r  )r  r  r  r  globalunsetvar_tclCommandsdeletecommandrM   r   s     r   __del__zVariable.__del__  s    (8888txx}}VXtzzJKHH##DJJ/())&&t, * $D )r   c                     	 | j                   S r   )r  rL   s    r   rN   zVariable.__str__  s    5zzr   c                 P    	 | j                   j                  | j                  |      S r   )r  globalsetvarr  rM   r   s     r   setzVariable.set  s     (xx$$TZZ77r   c                 N    	 | j                   j                  | j                        S r   )r  globalgetvarr  rL   s    r   getzVariable.get  s    'xx$$TZZ00r   c                 z   t        |d | j                        j                  }t        t	        |            }	 |j
                  }	 ||j                  z   }| j                  j                  ||       | j                  g | _
        | j                  j                  |       |S # t        $ r Y gw xY w# t        $ r Y fw xY wr   )CallWrapperr  __call__r   id__func__r)   rO   r  createcommandr  r   )rM   callbackfcbnames       r   	_registerzVariable._register  s    $

3<<be	((H	h///F 	vq)$ "D  (  		  		s#   B B. 	B+*B+.	B:9B:c                     	 | j                  |      }| j                  j                  ddd| j                  ||f       |S )Ntraceaddvariabler#  r  r  r  rM   moder   r"  s       r   	trace_addzVariable.trace_add  s?    	 )gujjj$		3r   c                 \   	 | j                   j                  ddd| j                  ||       | j                         D ](  \  }}| j                   j	                  |      d   |k(  s( y  | j                   j                  |       	 | j                  j                  |       y # t        $ r Y y w xY w)Nr%  remover'  r   )	r  r  r  
trace_infor7   r  r  r-  r   rM   r*  r"  r\   cas        r   trace_removezVariable.trace_remove  s    	 	gxjj$	0__&EArxx!!"%a(F2 ' HH""6*!!((0 s   B 	B+*B+c                     	 | j                   j                  }t        | || j                   j                  ddd| j                                    D cg c]  \  }} ||      |f c}}S c c}}w )Nr%  r   r'  )r  r7   r   r  r  )rM   r7   r1   r2   s       r   r.  zVariable.trace_info  st    4HH&&	.1)dhhmmGVZLM/O P /Oda1q! /O P 	P Ps   A+c                 |    	 | j                  |      }| j                  j                  dd| j                  ||       |S )Nr%  r'  r(  r)  s       r   trace_variablezVariable.trace_variable  s8    
	 )gz4::tVDr   c                    	 | j                   j                  dd| j                  ||       | j                   j                  |      d   }| j	                         D ](  \  }}| j                   j                  |      d   |k(  s( y  | j                   j                  |       	 | j                  j                  |       y # t        $ r Y y w xY w)Nr%  vdeleter   )	r  r  r  r7   r.  r  r  r-  r   r/  s        r   trace_vdeletezVariable.trace_vdelete  s    	 	gy$**dFC##F+A.__&EArxx!!"%a(F2 ' HH""6*!!((0 s    B< <	CCc                     	 | j                   j                  | j                   j                  dd| j                              D cg c]  }| j                   j                  |       c}S c c}w )Nr%  vinfo)r  r7   r  r  rM   r   s     r   trace_vinfozVariable.trace_vinfo  se    	 04xx/A/AHHMM'7DJJ709 : 09!""1% 09 : 	: :s   "A)c                     t        |t              st        S | j                  |j                  k(  xrH | j                  j
                  |j                  j
                  k(  xr | j                  |j                  k(  S r   )r   r   NotImplementedr  	__class__rO   r  )rM   others     r   __eq__zVariable.__eq__  s]    %*!!

ekk) *NN++u/G/GG*HH		)	+r   NNN)rO   rP   rQ   r	  r  r  r  r  rN   r  r  r  r#  r+  r1  r.  r4  r%  r7  r;  r@  r    r   r   r   r   s  si    A H
CL+<	%8 J1"&P" E,:+r   r   c                        e Zd Z	 dZddZd Zy)	StringVarr   Nc                 6    	 t         j                  | |||       y r   r   r  r
  s       r   r  zStringVar.__init__+      	 	$t4r   c                     	 | j                   j                  | j                        }t        |t              r|S t	        |      S r   )r  r  r  r   r   r  s     r   r  zStringVar.get7  s6    1%%djj1eS!L5zr   rA  rO   rP   rQ   r	  r  r  r    r   r   rC  rC  '  s    -H
5r   rC  c                        e Zd Z	 dZddZd Zy)IntVarr   Nc                 6    	 t         j                  | |||       y r   rE  r
  s       r   r  zIntVar.__init__C  rF  r   c                     	 | j                   j                  | j                        }	 | j                   j                  |      S # t        t
        f$ r' t        | j                   j                  |            cY S w xY wr   )r  r  r  getintr*   r   rZ   	getdoubler  s     r   r  z
IntVar.getO  sc    =%%djj1	288??5))8$ 	2txx))%011	2s   A 3A98A9rA  rH  r    r   r   rJ  rJ  ?  s    -H
52r   rJ  c                        e Zd Z	 dZddZd Zy)	DoubleVarg        Nc                 6    	 t         j                  | |||       y r   rE  r
  s       r   r  zDoubleVar.__init__\  rF  r   c                     	 | j                   j                  | j                   j                  | j                              S r   )r  rN  r  r  rL   s    r   r  zDoubleVar.geth  s-    :xx!!$(("7"7

"CDDr   rA  rH  r    r   r   rP  rP  X  s    +H
5Er   rP  c                   *    e Zd Z	 dZddZd ZeZd Zy)
BooleanVarFNc                 6    	 t         j                  | |||       y r   rE  r
  s       r   r  zBooleanVar.__init__q  rF  r   c                     	 | j                   j                  | j                  | j                   j                  |            S r   )r  r  r  r  r  s     r   r  zBooleanVar.set}  s/    (xx$$TZZ1D1DU1KLLr   c                     	 	 | j                   j                  | j                   j                  | j                              S # t        $ r t        d      w xY wN invalid literal for getboolean())r  r  r  r  r   r   rL   s    r   r  zBooleanVar.get  sP    9	A88&&txx'<'<TZZ'HII 	A?@@	As   =A ArA  )rO   rP   rQ   r	  r  r  r  r  r    r   r   rT  rT  m  s"    -H
5M JAr   rT  c                 N    	 t        d      j                  j                  |        y )Nzrun the main loop)r   r;   mainloop)r   s    r   r[  r[    s    #)*--66q9r   c                 ~    	 	 t        d      j                  j                  |       S # t        $ r t	        d      w xY w)Nzuse getboolean()rY  )r   r;   r  r   r   )r   s    r   r  r    sB    .= !3477BB1EE =;<<=s   #' <c                   V   e Zd Z	 dZdZd Zd ZddZd Zd Z	ddZ
e
ZddZdd	Zdd
ZddZd Zd Zd Zd ZeZd Zd Zd Zd Zd Zd Zd ZddZd Zd ZddZd Z d Z!d Z"d Z#d Z$d  Z%d! Z&d" Z'dd#Z(d$ Z)d% Z*dd&Z+d' Z,d( Z-d) Z.d* Z/d+ Z0d, Z1dd-Z2dd.Z3e3Z4d/ Z5dd0Z6dd1Z7d2 Z8d3 Z9d4 Z:d5 Z;dd6Z<d7 Z=d8 Z>d9 Z?d: Z@d; ZAd< ZBdd=ZCd> ZDd? ZEd@ ZFdA ZGddBZHdC ZIdD ZJdE ZKdF ZLdG ZMdH ZNdI ZOdJ ZPdK ZQdL ZRdM ZSdN ZTdO ZUdP ZVdQ ZWdR ZXdS ZYdT ZZdU Z[dV Z\dW Z]dX Z^ddYZ_dZ Z`d[ Zad\ Zbd] Zcd^ Zdd_ Zed` Zfda Zgdb Zhdc Zidd ZjddeZkddfZlddgZmddhZnddiZoddjZpdk ZqddlZrdm ZsddnZtdo Zudp Zvdq Zwdr Zxds Zyezdt        Z{dduZ|dv Z}e}Z~ddwZeZdx ZdyZdzj                  e      Zd{ Zd| Zd} Zd~ Zd ZddZeZd ZeZd Zd Zd Zd ZdgZefdZeZd ZeZd ZddZeZddZeZd Zd Zi fdZeZd ZefdZi fdZeZd ZeZddZd Zd Zd ZddZd Zd Zy)MiscNc                     	 | j                   4| j                   D ]  }| j                  j                  |        d | _         y y r   )r  r;   r  r  s     r   r   zMisc.destroy  sD    	/ ())%%d+ * $D )r   c                     	 | j                   j                  |       	 | j                  j                  |       y # t        $ r Y y w xY wr   )r;   r  r  r-  r   r  s     r   r  zMisc.deletecommand  sF    	4 	d#	$$T* 		s   : 	AAc                 p    	 | j                   j                  | j                   j                  dd|            S )Nr  tk_strictMotif)r;   r  r  rM   booleans     r   rb  zMisc.tk_strictMotif  s7    	" ww!!$'',,#W#. / 	/r   c                 <    	 | j                   j                  d       y )N	tk_bisquer;   r  rL   s    r   rf  zMisc.tk_bisque  s    R[!r   c           	          	 | j                   j                  dt        |      z   t        t        |j	                                     z          y )N)tk_setPalette)r;   r  r!   r   r,   rM   argskws      r   ri  zMisc.tk_setPalette  s@    		> 	'!)$rxxz*:!;< 	=r   c                 @    	 | j                   j                  dd|       y )Ntkwaitr'  rg  r  s     r   wait_variablezMisc.wait_variable  s    	% 	Xz40r   c                 \    	 || }| j                   j                  dd|j                         y )Nrn  windowr;   r  _wrM   rq  s     r   wait_windowzMisc.wait_window  s+    	2 >FXx3r   c                 \    	 || }| j                   j                  dd|j                         y )Nrn  
visibilityrr  rt  s     r   wait_visibilityzMisc.wait_visibility  s+    	2 >FX|VYY7r   c                 >    	 | j                   j                  ||       y r   )r;   setvar)rM   r   r   s      r   rz  zMisc.setvar  s    -tU#r   c                 :    	 | j                   j                  |      S r   )r;   getvarr  s     r   r|  zMisc.getvar  s    0ww~~d##r   c                     	 | j                   j                  |      S # t        $ r}t        t	        |            d }~ww xY wr   )r;   rM  r   r   r   rM   r   excs      r   rM  zMisc.getint  s9    	'77>>!$$ 	'SX&&	'    	?:?c                     	 | j                   j                  |      S # t        $ r}t        t	        |            d }~ww xY wr   )r;   rN  r   r   r   r~  s      r   rN  zMisc.getdouble  s;    	'77$$Q'' 	'SX&&	'r  c                 l    	 	 | j                   j                  |      S # t        $ r t        d      w xY wrX  )r;   r  r   r   )rM   r   s     r   r  zMisc.getboolean  s=    ^	A77%%a(( 	A?@@	As    3c                 R    	 | j                   j                  d| j                         y Nr   rr  rL   s    r   	focus_setzMisc.focus_set  s    	1
 	Wdgg&r   c                 T    	 | j                   j                  dd| j                         y )Nr   z-forcerr  rL   s    r   focus_forcezMisc.focus_force  s!    	 	Wh0r   c                 l    	 | j                   j                  d      }|dk(  s|sy | j                  |      S )Nr   none)r;   r  _nametowidgetr  s     r   	focus_getzMisc.focus_get  s7    	 ww||G$6>d!!$''r   c                     	 | j                   j                  dd| j                        }|dk(  s|sy | j                  |      S )Nr   
-displayofr  r;   r  rs  r  r  s     r   focus_displayofzMisc.focus_displayof(  s@    	C ww||G\477;6>d!!$''r   c                     	 | j                   j                  dd| j                        }|dk(  s|sy | j                  |      S )Nr   z-lastforr  r  r  s     r   focus_lastforzMisc.focus_lastfor1  s>    	Cww||GZ96>d!!$''r   c                 <    	 | j                   j                  d       y )Ntk_focusFollowsMouserg  rL   s    r   r  zMisc.tk_focusFollowsMouse8  s    	+,r   c                 x    	 | j                   j                  d| j                        }|sy | j                  |      S )Ntk_focusNextr  r  s     r   r  zMisc.tk_focusNext=  s7    	 ww||NDGG4D!!$''r   c                 x    	 | j                   j                  d| j                        }|sy | j                  |      S )Ntk_focusPrevr  r  s     r   r  zMisc.tk_focusPrevJ  s3    Vww||NDGG4D!!$''r   c                 ,    	  j                   j                  d|       y  fd}	 j                  |_         j                  |       j                   j                  d|      S # t        $ r t	              j                  |_        Y Sw xY w)Nafterc                      	     	 j                         y # t        $ r Y y w xY w# 	 j                         w # t        $ r Y w w xY wxY wr   )r  r   )rk  funcr   rM   s   r   callitzMisc.after.<locals>.callit\  sY    $K**40# **40# s5   *  	''A>A	A
A	A

A)r;   r  rO   r)   r'   r#  )rM   msr  rk  r  r   s   ` `` @r   r  z
Misc.afterP  s    	> <GGLL"%6"&-- >>&)D77<<T22	 " 6"&t*"5"56s   A- -#BBc                 ,    	  | j                   d|g| S )Nidle)r  )rM   r  rk  s      r   
after_idlezMisc.after_idlel  s!    	
 tzz&$...r   c                    	 |st        d      	 | j                  j                  dd|      }| j                  j                  |      d   }| j	                  |       | j                  j                  dd|       y # t
        $ r Y )w xY w)Nz?id must be a valid identifier returned from after or after_idler  r   r   cancel)r   r;   r  r7   r  r   )rM   r  datascripts       r   after_cancelzMisc.after_cancelt  s    	
  3 4 4	77<<4DWW&&t,Q/Fv& 	Wh+  		s   AA: :	BBc                 `    	 | j                   j                  d| j                  |      z          y )N)bell)r;   r  
_displayofrM   	displayofs     r   r  z	Misc.bell  s#    $Y!;;<r   c                    	 d|vrB| j                   dk(  r3	 d|d<   | j                  j                  d| j                  |      z         S | j                  j                  d| j                  |      z         S # t        $ r |d= Y ;w xY w)Nr'   x11UTF8_STRING)	clipboardr  )_windowingsystemr;   r  _optionsr   rM   rl  s     r   clipboard_getzMisc.clipboard_get  s    	  5 5 >*6
ww||$84==;L$LMM ww||04==3DDEE  vJs   1A5 5BBc                     	 d|vr| j                   |d<   | j                  j                  d| j                  |      z          y )Nr  )r  clearrs  r;   r  r  r  s     r   clipboard_clearzMisc.clipboard_clear  s<    	2 b DGG"[/+dmmB.??@r   c                     	 d|vr| j                   |d<   | j                  j                  d| j                  |      z   d|fz          y )Nr  )r  r   --r  )rM   stringrl  s      r   clipboard_appendzMisc.clipboard_append  sJ    	0
 b DGG"[/,t}}R/@@v 	 r   c                 z    	 | j                   j                  dd| j                        }|sy | j                  |      S )Ngrabcurrentr  r  s     r   grab_currentzMisc.grab_current  s7    	ww||FItww7D!!$''r   c                 T    	 | j                   j                  dd| j                         y )Nr  releaserr  rL   s    r   grab_releasezMisc.grab_release  s    <VY0r   c                 T    	 | j                   j                  dd| j                         y )Nr  r  rr  rL   s    r   grab_setzMisc.grab_set  s!    	' 	VUDGG,r   c                 V    	 | j                   j                  ddd| j                         y )Nr  r  z-globalrr  rL   s    r   grab_set_globalzMisc.grab_set_global  s#    	9
 	VUItww7r   c                 d    	 | j                   j                  dd| j                        }|dk(  rd }|S )Nr  statusr  rr  )rM   r  s     r   grab_statuszMisc.grab_status  s2    	)fh8VdVr   c                 D    	 | j                   j                  dd|||       y )Noptionr&  rg  )rM   patternr   prioritys       r   
option_addzMisc.option_add  s!    	
 	Xuguh?r   c                 >    	 | j                   j                  dd       y )Nr  r  rg  rL   s    r   option_clearzMisc.option_clear  s    	8 	Xw'r   c                 V    	 | j                   j                  dd| j                  ||      S )Nr  r  rr  )rM   r   	classNames      r   
option_getzMisc.option_get  s(    	> ww||HeTWWdIFFr   c                 B    	 | j                   j                  dd||       y )Nr  readfilerg  )rM   fileNamer  s      r   option_readfilezMisc.option_readfile  s    	 	Xz8X>r   c                     	 d|vr| j                   |d<   | j                  j                  d| j                  |      z          y )Nr  )	selectionr  r  r  s     r   selection_clearzMisc.selection_clear  s8    ,b DGG"[/+dmmB.??@r   c                 4   	 d|vr| j                   |d<   d|vrB| j                  dk(  r3	 d|d<   | j                  j                  d| j	                  |      z         S | j                  j                  d| j	                  |      z         S # t
        $ r |d= Y ;w xY w)Nr  r'   r  r  )r  r  )rs  r  r;   r  r  r   r  s     r   selection_getzMisc.selection_get  s    	 b DGG"[/ 5 5 >*6
ww||$84==;L$LMM ww||04==3DDEE  vJs   1B BBc                     	 | j                  |      }| j                  j                  d| j                  |      z   | j                  |fz          y )N)r  handle)r#  r;   r  r  rs  )rM   commandrl  r   s       r   selection_handlezMisc.selection_handle  sI    
	B ~~g&,t}}R/@@$  	!r   c                 |    	 | j                   j                  d| j                  |      z   | j                  fz          y )Nr  own)r;   r  r  rs  r  s     r   selection_ownzMisc.selection_own  s;    	, 	)r"#&*ggZ0 	1r   c                     	 d|vr| j                   |d<   | j                  j                  d| j                  |      z         }|sy | j	                  |      S )Nr  r  )rs  r;   r  r  r  )rM   rl  r   s      r   selection_own_getzMisc.selection_own_get   sU    	B b DGG"[/ww||04==3DDED!!$''r   c                 F    	 | j                   j                  d||f|z         S )Nsendrg  )rM   interpcmdrk  s       r   r  z	Misc.send,  s$    Rww||VVS1D899r   c                 T    	 | j                   j                  d| j                  |       y Nlowerrr  )rM   	belowThiss     r   r  z
Misc.lower0      6Wdggy1r   c                 T    	 | j                   j                  d| j                  |       y Nraiserr  )rM   	aboveThiss     r   tkraisezMisc.tkraise4  r  r   c                 R    	 | j                   j                  dd      }t        |      S )Nr   
patchlevel)r;   r  r]   )rM   r  s     r   info_patchlevelzMisc.info_patchlevel:  s$    ;WW\\&,7
j))r   c                     	 d| j                  |      z   |fz   }| j                  j                  | j                  j                  |            S )N)winfoatom)r  r;   rM  r  )rM   r   r  rk  s       r   
winfo_atomzMisc.winfo_atom?  s?    8 4??9#==Gww~~dggll4011r   c                 j    	 d| j                  |      z   |fz   }| j                  j                  |      S )N)r  atomname)r  r;   r  rM   r  r  rk  s       r   winfo_atomnamezMisc.winfo_atomnameD  s8    5$+,/1e4ww||D!!r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  cellsr;   rM  r  rs  rL   s    r   winfo_cellszMisc.winfo_cellsJ  s2    Eww~~GGLL'47735 	5r   c                     	 g }| j                   j                  | j                   j                  dd| j                              D ]#  }	 |j	                  | j                  |             % |S # t        $ r Y 3w xY w)Nr  children)r;   r7   r  rs  r   r  KeyError)rM   resultchilds      r   winfo_childrenzMisc.winfo_childrenO  st    MWW&&GGLL*dgg68E d00788   s    A,,	A87A8c                 R    	 | j                   j                  dd| j                        S )Nr  classrr  rL   s    r   winfo_classzMisc.winfo_class\  s     6ww||GWdgg66r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  colormapfullr;   r  r  rs  rL   s    r   winfo_colormapfullzMisc.winfo_colormapfull`  s4    Mww!!GGLL.$'':< 	<r   c                     	 d| j                  |      z   ||fz   }| j                  j                  |      }|sy | j                  |      S )N)r  
containing)r  r;   r  r  )rM   rootXrootYr  rk  r   s         r   winfo_containingzMisc.winfo_containinge  sO    N&+,/4en=ww||D!D!!$''r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  depthr  rL   s    r   winfo_depthzMisc.winfo_depthm  s-    2ww~~dggll7GTWWEFFr   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  r  r  rL   s    r   winfo_existszMisc.winfo_existsq  s2    0ww~~GGLL(DGG46 	6r   c                     	 | j                   j                  | j                   j                  dd| j                  |            S )Nr  fpixelsr;   rN  r  rs  rM   numbers     r   winfo_fpixelszMisc.winfo_fpixelsv  s:    	!ww  Y"1 2 	2r   c                 R    	 | j                   j                  dd| j                        S )Nr  geometryrr  rL   s    r   winfo_geometryzMisc.winfo_geometry|  s     Tww||GZ99r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  r   r  rL   s    r   winfo_heightzMisc.winfo_height  s2    +ww~~GGLL(DGG46 	6r   c                 f    	 t        | j                  j                  dd| j                        d      S )Nr  r  r   )rZ   r;   r  rs  rL   s    r   winfo_idzMisc.winfo_id  s'    3477<<tww7;;r   c                     	 d| j                  |      z   }| j                  j                  | j                  j                  |            S )N)r  interps)r  r;   r7   r  )rM   r  rk  s      r   winfo_interpszMisc.winfo_interps  s:    G#dooi&@@ww  d!344r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  ismappedr  rL   s    r   winfo_ismappedzMisc.winfo_ismapped  s2    3ww~~GGLL*dgg68 	8r   c                 R    	 | j                   j                  dd| j                        S )Nr  managerrr  rL   s    r   winfo_managerzMisc.winfo_manager  s     =ww||GY88r   c                 R    	 | j                   j                  dd| j                        S )Nr  r   rr  rL   s    r   
winfo_namezMisc.winfo_name  s     -ww||GVTWW55r   c                 R    	 | j                   j                  dd| j                        S )Nr  parentrr  rL   s    r   winfo_parentzMisc.winfo_parent  s     ;ww||GXtww77r   c                     	 t        |t              rt        |      }d| j                  |      z   |fz   }| j                  j                  |      S )N)r  pathname)r   rZ   r   r  r;   r  r  s       r   winfo_pathnamezMisc.winfo_pathname  sK    <b#RB$+,/1e4ww||D!!r   c                     	 | j                   j                  | j                   j                  dd| j                  |            S )Nr  pixelsr  r  s     r   winfo_pixelszMisc.winfo_pixels  s4    5ww~~GGLL(DGGV<> 	>r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  pointerxr  rL   s    r   winfo_pointerxzMisc.winfo_pointerx  2    Hww~~GGLL*dgg68 	8r   c                 p    	 | j                  | j                  j                  dd| j                              S )Nr  	pointerxy_getintsr;   r  rs  rL   s    r   winfo_pointerxyzMisc.winfo_pointerxy  s.    V}}GGLL+tww79 	9r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  pointeryr  rL   s    r   winfo_pointeryzMisc.winfo_pointery  r>  r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  	reqheightr  rL   s    r   winfo_reqheightzMisc.winfo_reqheight  s2    5ww~~GGLL+tww79 	9r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  reqwidthr  rL   s    r   winfo_reqwidthzMisc.winfo_reqwidth  s2    4ww~~GGLL*dgg68 	8r   c                 r    	 | j                  | j                  j                  dd| j                  |            S )Nr  rgbrA  )rM   colors     r   	winfo_rgbzMisc.winfo_rgb  s0    \}}GGLL%%8: 	:r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  rootxr  rL   s    r   winfo_rootxzMisc.winfo_rootx  4    	ww~~GGLL'47735 	5r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  rootyr  rL   s    r   winfo_rootyzMisc.winfo_rooty  rT  r   c                 R    	 | j                   j                  dd| j                        S )Nr  screenrr  rL   s    r   winfo_screenzMisc.winfo_screen  s     4ww||GXtww77r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  screencellsr  rL   s    r   winfo_screencellszMisc.winfo_screencells  s4    	ww~~GGLL-9; 	;r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  screendepthr  rL   s    r   winfo_screendepthzMisc.winfo_screendepth  s4    	"ww~~GGLL-9; 	;r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  screenheightr  rL   s    r   winfo_screenheightzMisc.winfo_screenheight  s4    	ww~~GGLL.$'':< 	<r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  screenmmheightr  rL   s    r   winfo_screenmmheightzMisc.winfo_screenmmheight  s5    	ww~~GGLL"2DGG<> 	>r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  screenmmwidthr  rL   s    r   winfo_screenmmwidthzMisc.winfo_screenmmwidth  s4    	ww~~GGLL/477;= 	=r   c                 R    	 | j                   j                  dd| j                        S )Nr  screenvisualrr  rL   s    r   winfo_screenvisualzMisc.winfo_screenvisual  s$    	& ww||G^TWW==r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  screenwidthr  rL   s    r   winfo_screenwidthzMisc.winfo_screenwidth  s4    	!ww~~GGLL-9; 	;r   c                 R    	 | j                   j                  dd| j                        S )Nr  serverrr  rL   s    r   winfo_serverzMisc.winfo_server  s"    	9ww||GXtww77r   c                 p    	 | j                  | j                  j                  dd| j                              S )Nr  toplevel)r  r;   r  rs  rL   s    r   winfo_toplevelzMisc.winfo_toplevel	  s2    8!!$'',,Z#* + 	+r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  viewabler  rL   s    r   winfo_viewablezMisc.winfo_viewable  s2    Pww~~GGLL*dgg68 	8r   c                 R    	 | j                   j                  dd| j                        S )Nr  visualrr  rL   s    r   winfo_visualzMisc.winfo_visual  s$    	& ww||GXtww77r   c                 R    	 | j                   j                  dd| j                        S )Nr  visualidrr  rL   s    r   winfo_visualidzMisc.winfo_visualid  s     Eww||GZ99r   c                 0   	 | j                   j                  dd| j                  |rdnd       }| j                   j                  |      D cg c]  }| j                   j                  |       }}|D cg c]  }| j	                  |       c}S c c}w c c}w )Nr  visualsavailable
includeids)r;   r  rs  r7   _Misc__winfo_parseitem)rM   r  r  r   s       r   winfo_visualsavailablezMisc.winfo_visualsavailable  s    	K
 ww||G%7,6LDB.2gg.?.?.EF.E!!!$.EF3784a&&q)488 G8s   "B3Bc           	      T    	 |d d t        t        | j                  |dd              z   S Nr   )r   r   _Misc__winfo_getint)rM   r>   s     r   __winfo_parseitemzMisc.__winfo_parseitem(  s.     !uuS!4!4ae<===r   c                     	 t        |d      S )Nr   )rZ   r:  s     r   __winfo_getintzMisc.__winfo_getint,  s     1ayr   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  vrootheightr  rL   s    r   winfo_vrootheightzMisc.winfo_vrootheight0  s6    	! ww~~GGLL-9; 	;r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  
vrootwidthr  rL   s    r   winfo_vrootwidthzMisc.winfo_vrootwidth7  s6    	  ww~~GGLL,8: 	:r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  vrootxr  rL   s    r   winfo_vrootxzMisc.winfo_vrootx>  4    	0ww~~GGLL(DGG46 	6r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  vrootyr  rL   s    r   winfo_vrootyzMisc.winfo_vrootyD  r  r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  r   r  rL   s    r   winfo_widthzMisc.winfo_widthJ  s2    .ww~~GGLL'47735 	5r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  r   r  rL   s    r   winfo_xzMisc.winfo_xO  4    	ww~~GGLL#tww/1 	1r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nr  r   r  rL   s    r   winfo_yzMisc.winfo_yU  r  r   c                 <    	 | j                   j                  d       y )Nr(   rg  rL   s    r   r(   zMisc.update[  s    SXr   c                 >    	 | j                   j                  dd       y )Nr(   	idletasksrg  rL   s    r   update_idletaskszMisc.update_idletasks_  s    	 	X{+r   c                     	 |?| j                   j                  | j                   j                  d| j                              S | j                   j                  d| j                  |       y )Nbindtagsr;   r7   r  rs  )rM   tagLists     r   r  zMisc.bindtagse  sU    	! ?77$$Z13 3 GGLLTWWg6r   c                    	 t        |t              r!| j                  j                  |||fz          y |r\| j	                  || j
                  |      }|xr dxs dd|d| j                  d}| j                  j                  |||fz          |S |r| j                  j                  ||fz         S | j                  j                  | j                  j                  |            S )N+r   if {"[r   z]" == "break"} break
)r   r   r;   r  r#  _substitute_subst_format_strr7   )rM   r   sequencer  r&  needcleanupfuncidr  s           r   _bindz
Misc._bindr  s     dC GGLL4 001^^D$*:*:#%F KC%2%..0C GGLL3/0M77<<{ 23377$$TWW\\$%788r   c                 D    	 | j                  d| j                  f|||      S Nbindr  rs  rM   r  r  r&  s       r   r  z	Misc.bind  s(    $	)L zz6477+XtSAAr   c                 D    	 | j                  d| j                  |f|       y r  _unbindrs  )rM   r  r  s      r   unbindzMisc.unbind  s"    	 	fdggx0&9r   c                 ^   | | j                   j                  g |d  y | j                   j                  |      j                  d      }d| ddj                  fd|D              }|j	                         sd} | j                   j                  g ||  | j                  |       y )Nr   r   r  r   c              3   D   K   | ]  }|j                        s|  y wr   )
startswith)r   lineprefixs     r   r   zMisc._unbind.<locals>.<genexpr>  s#      =ed$(OOF$; "es    )r;   r  splitr   stripr  )rM   r   r  lineskeepr  s        @r   r  zMisc._unbind  s    >DGGLL#$##GGLL&,,T2Evha(F99 =e = =D::<DGGLL%$%%v&r   c                 J    	 | j                         j                  d|||d      S )N)r  allTr  r  r  s       r   bind_allzMisc.bind_all  s)    	Q zz|!!/8T3MMr   c                 J    	 | j                         j                  dd|f       y )Nr  r  r  r  )rM   r  s     r   
unbind_allzMisc.unbind_all  s     F

feX67r   c                 N    	 | j                         j                  d|f|||d      S )Nr  Tr  )rM   r  r  r  r&  s        r   
bind_classzMisc.bind_class  s-    	 zz|!!69"5xsDQQr   c                 J    	 | j                         j                  d||f       y r  r  )rM   r  r  s      r   unbind_classzMisc.unbind_class  s"    	

fi:;r   c                 <    	 | j                   j                  |       y r   )r;   r[  )rM   r   s     r   r[  zMisc.mainloop  s    &r   c                 :    	 | j                   j                          y r   )r;   quitrL   s    r   r  z	Misc.quit  s    Fr   c                     	 |rBt        t        | j                  j                  | j                  j	                  |                  S y r   )r   r   r;   rM  r7   rM   r  s     r   rB  zMisc._getints  s6     TWW^^TWW->->v-FGHH r   c                     	 |rBt        t        | j                  j                  | j                  j	                  |                  S y r   )r   r   r;   rN  r7   r  s     r   _getdoubleszMisc._getdoubles  s8     TWW..0A0A&0IJKK r   c                 @    	 |r| j                   j                  |      S y r   )r;   r  r  s     r   _getbooleanzMisc._getboolean  s"     77%%f-- r   c                 2    	 |rd|fS |d| j                   fS y)Nr  r    rs  r  s     r   r  zMisc._displayof  s+      ),, $''**r   c                     	 	 | j                         j                  S # t        $ r6 | j                  j	                  dd      x}| j                         _        |cY S w xY w)Nr;   windowingsystem)r  _windowingsystem_cachedr)   r;   r  )rM   wss     r   r  zMisc._windowingsystem  sU     	::<777 	T+<=>B5I	s    <AAc                    	 |rt        ||f      }nt        |      }d}|j                         D ]  \  }}|	|d   dk(  r|d d }t        |      r| j                  |      }nt	        |t
        t        f      rqg }|D ]Y  }t	        |t              r|j                  t        |             .t	        |t              r|j                  t        |             Y n dj                  |      }|d|z   |fz   } |S )Nr    _r   r6   )r3   r,   callabler#  r   r   r   rZ   r   r   r	   r   )rM   r.   rl  r#   r1   r2   nvr$   s           r   r  zMisc._options  s     S"I&CC.CIIKDAq}R5C<QsVA;q)AE4=1B !%dC0IIc$i0'c2IIj&67! !"  HHRLSUAJ&!  " 
r   c                     	 t        |      j                  d      }| }|d   s|j                         }|dd  }|D ]  }|s |S |j                  |   } |S )NrF   r   r   )r   r  r  r  )rM   r   wr   s       r   nametowidgetzMisc.nametowidget"  sh    	4ys#Aw	A8DA  

1A 
 r   c                 l   	 t        |||       j                  }t        t        |            }	 |j                  }	 ||j                  z   }| j                  j                  ||       |r.| j                  g | _	        | j                  j                  |       |S # t
        $ r Y iw xY w# t
        $ r Y hw xY wr   )r  r  r   r  r  r)   rO   r;   r  r  r   )rM   r  substr  r!  r   s         r   r#  zMisc._register5  s    	8 eT*33BqE{	==D	$--'D 	dA&  ($&!$$T*  		  		s"   B B' 	B$#B$'	B32B3c                 V    	 | }|j                   |j                   }|j                   |S r   r   )rM   r  s     r   r  z
Misc._rootM  s*     hh"Aahh"r   )z%#z%bz%fz%hz%kz%sz%tz%wz%xz%yz%Az%Ez%Kz%Nz%Wz%Tz%Xz%Yz%Dr   c                    	 t        |      t        | j                        k7  r|S | j                  j                  }| j                  j                  fd}|\  }}}}}}	}
}}}}}}}}}}}}t               } |      |_         ||      |_         ||      |_         ||      |_
         ||      |_         ||	      |_         ||
      |_         ||      |_         ||      |_         ||      |_        ||_         ||      |_        ||_         ||      |_        	 t+        |      |_        	 | j1                  |      |_         ||      |_         ||      |_        	  |      |_        |fS # t        $ r Y w xY w# t        $ r Y w xY w# t.        $ r
 ||_        Y rw xY w# t4        $ r
 ||_        Y qw xY w# t.        t        f$ r d|_        Y |fS w xY w)Nc                 F    	 	  |       S # t         t        f$ r | cY S w xY wr   )r   r   )r   rM  s    r   getint_eventz&Misc._substitute.<locals>.getint_event]  s.    Qay ) s      r   )r   _subst_formatr;   r  rM  r   rK   r   r   r   r   r   r   timer   r   r   r   r   r   
keysym_numr_   r'   r   r  widgetr  x_rooty_rootr   )rM   rk  r  r  nsignrV   r!  hr1   r   r>   r  r   r   AEKNWTXYDerM  s                           @r   r  zMisc._substituteW  s    t9D..//WW''
	 GKCq!Q1aAq!Q1aAq!G %=Q!!}QW? O	q/aq/1o1o&qMQ\#A	q\AF	))!,AH  ??	QiAG t7  
  	AF	  	AH	 H% 	AGt	sZ   E4  F "F 3F( $F> 4	F ?F 	FFF%$F%(F;:F;>GGc                 |    	 t        j                         \  }}}| j                         }|j                  |||       y r   )sysexc_infor  report_callback_exception)rM   r  valtbr   s        r   _report_exceptionzMisc._report_exception  s3     ||~S"zz|&&sC4r   c                     	 i }| j                   j                   | j                   j                  |       D ]5  }| j                   j                  |      }|d   dd  f|dd  z   ||d   dd  <   7 |S Nr   r   r;   r7   r  )rM   rk  r.   r   s       r   _getconfigurezMisc._getconfigure  sw    I""<477<<#67A!!!$AqT!"XK!AB%/C!QRM 8 
r   c                     | j                   j                   | j                   j                  |       }|d   dd  f|dd  z   S r  r  rM   rk  r   s      r   _getconfigure1zMisc._getconfigure1  sB    GGldggllD12!QR{QqrU""r   c                    	 |rt        ||f      }n|rt        |      }|&| j                  t        | j                  |f            S t	        |t
              r*| j                  t        | j                  |d|z   f            S | j                  j                  t        | j                  |f      | j                  |      z          y )Nr6   )
r3   r  r!   rs  r   r   r  r;   r  r  )rM   r  r.   rl  s       r   
_configurezMisc._configure  s     S"I&CC.C;%%h~&>??c3&&x#s3w0G'HIIXtwwn-c0BBCr   c                 *    	 | j                  d||      S )N	configurer
  rM   r.   rl  s      r   r  zMisc.configure  s    	 {C44r   c                 X    	 | j                   j                  | j                  dd|z         S Ncgetr6   rr  rM   r@   s     r   r  z	Misc.cget  s$    Bww||DGGVS3Y77r   c                 *    | j                  ||i       y r   )r  rM   r@   r   s      r   __setitem__zMisc.__setitem__  s    U|$r   c                     	 | j                   j                  } || j                   j                  | j                  d            D cg c]  } ||      d   dd   c}S c c}w )Nr  r   r   r  )rM   r7   r   s      r   r   z	Misc.keys  s`    AGG%%	$'',,tww<=?= )*	!Q#=? 	? ?s   Ac                     	 | j                   S r   r  rL   s    r   rN   zMisc.__str__  s    9wwr   c                 ~    d| j                   j                  d| j                   j                  d| j                  dS )Nr   rF   z object r   )r>  rP   rQ   rs  rL   s    r   r   zMisc.__repr__  s-    NN%%t~~'B'BDGGM 	Mr   _noarg_c                     	 |t         j                  u r6| j                  | j                  j	                  dd| j
                              S | j                  j	                  dd| j
                  |       y )Npack	propagater^  r  r  r;   r  rs  rM   flags     r   pack_propagatezMisc.pack_propagate  ^    	 4<<##DGGLLTWW%. / / GGLLdggt<r   c                     	 | j                   j                  | j                   j                  dd| j                              D cg c]  }| j	                  |       c}S c c}w )Nr  slavesr;   r7   r  rs  r  r:  s     r   pack_slaveszMisc.pack_slaves  sd    	! !!77<<$'':<=< +,""1%<= 	= =   Ac                     	 | j                   j                  | j                   j                  dd| j                              D cg c]  }| j	                  |       c}S c c}w )Nplacer#  r$  r:  s     r   place_slaveszMisc.place_slaves  sg    	! !!77<<$''3454 +,""1%45 	5 5r&  c                 V    	 | j                   j                  dd| j                  |       y )Ngridanchorrr  )rM   r,  s     r   grid_anchorzMisc.grid_anchor  s#    	% 	VXtww7r   c                     	 dd| j                   f}|	||||fz   }|	||||fz   }| j                   | j                  j                  |       xs d S )Nr+  bbox)rs  rB  r;   r  )rM   columnrowcol2row2rk  s         r   	grid_bboxzMisc.grid_bbox  sm    
	 (#/63-'D 04,&D}}\TWW\\4019T9r   c                    t        |t        t        j                  f      rI	 t        |      }|sy d|v r| j                  j                  |      S | j                  j                  |      S |S # t        t        f$ r Y |S w xY w)NrF   )	r   r   _tkinterTcl_Objr;   rN  rM  r   r   )rM   r   svalues      r   _gridconvvaluezMisc._gridconvvalue  s    ec8#3#345	UF]77,,V4477>>&11  ) s   A, A, A, ,A?>A?c           	         	 t        |t              r |s|dd  dk(  r|d d }|d d dk7  rd|z   }|f}n| j                  ||      }|sHt        | j                  | j                  j                  d|| j                  |      | j                        S | j                  j                  d|| j                  |f|z         }t        |      dk(  r| j                  |      S y )Nr  r  r   r6   r+  )r=   )	r   r   r  rA   r;   r  rs  r9  r   )rM   r  indexr.   rl  optionsr#   s          r   _grid_configurezMisc._grid_configure'  s     c323x3#2h2Aw#~#gfGmmC,GVWdggu=((* * ggll7DGGU3 w<1&&s++ r   c                 ,    	 | j                  d|||      S )Ncolumnconfigurer=  rM   r;  r.   rl  s       r   grid_columnconfigurezMisc.grid_columnconfigure<  s!    	9
 ##$5uc2FFr   c           	      |    	 | j                  | j                  j                  dd| j                  ||            xs d S )Nr+  locationrA  rM   r   r   s      r   grid_locationzMisc.grid_locationF  sA    	 }}GGLL
DGGQ34 <7;	<r   c                     	 |t         j                  u r6| j                  | j                  j	                  dd| j
                              S | j                  j	                  dd| j
                  |       y )Nr+  r  r  r  s     r   grid_propagatezMisc.grid_propagateN  r!  r   c                 ,    	 | j                  d|||      S )Nrowconfigurer@  rA  s       r   grid_rowconfigurezMisc.grid_rowconfigure[  s     	9
 ##NE3CCr   c                 x    	 | j                  | j                  j                  dd| j                              xs d S )Nr+  sizerA  rL   s    r   	grid_sizezMisc.grid_sizee  s6    J}}GGLL13 ;6:	;r   c                     	 d}||d|fz   }||d|fz   }| j                   j                  | j                   j                  dd| j                  f|z               D cg c]  }| j	                  |       c}S c c}w )Nr    z-rowz-columnr+  r#  r$  )rM   r1  r0  rk  r   s        r   grid_slaveszMisc.grid_slavesl  s    	!?63-'D9f--D!!$'',,Hdgg.5#7 898 +,""1%89 	9 9s   A7c                 L    	 dd|f|z   }| j                   j                  |       y )Neventr&  rg  rM   virtual	sequencesrk  s       r   	event_addzMisc.event_add{  s*    	% (94Tr   c                 L    	 dd|f|z   }| j                   j                  |       y )NrR  deleterg  rS  s       r   event_deletezMisc.event_delete  s&    ;7+i7Tr   c                     	 dd| j                   |f}|j                         D ]  \  }}|d|z  t        |      fz   } | j                  j	                  |       y )NrR  generate-%s)rs  r,   r   r;   r  )rM   r  rl  rk  r1   r2   s         r   event_generatezMisc.event_generate  sV    	& TWWh7HHJDAq519c!f--D Tr   c                 p    	 | j                   j                  | j                   j                  dd|            S )NrR  r   r  )rM   rT  s     r   
event_infozMisc.event_info  s3    	Bww  GGLL&'24 	4r   c                 n    	 | j                   j                  | j                   j                  dd            S Nimagenamesr  rL   s    r   image_nameszMisc.image_names  s)    8ww  gw!?@@r   c                 n    	 | j                   j                  | j                   j                  dd            S )Nrb  typesr  rL   s    r   image_typeszMisc.image_types  s)    Mww  gw!?@@r   r   )r   )r   1r   F)r   rA  r  NNNNNN)rO   rP   rQ   _last_child_idsr  r   r  rb  rf  ri  ro  waitvarru  rx  rz  r|  rM  rN  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  liftr  r  r  r  r  r  r  r  r  r  r  r"  r$  r&  r)  r,  r/  r1  r4  r7  r:  r=  rC  rF  rI  rL  rP  rS  rW  rZ  r]  r`  rc  rf  ri  rl  ro  rr  ru  rx  r{  r~  r  r  r  r  r  r  r  r  r  r  r(   r  r  r  r  r  r  r  r  r  r  r[  r  rB  r  r  r  propertyr  r  r  r  r#  registerr  r  r   r  r  r  r  r  r
  r  configr  __getitem__r  r   rN   r   r  r   r  r%  r#  r)  r-  r,  r4  r/  r9  r=  rB  r?  rF  rH  rK  rJ  rN  rM  rP  rV  rY  r]  r_  rd  rg  r    r   r   r^  r^    s   E
 O L%/"=1 G48$$''A' E1	(((-
((38/,"=
F.A (1-8@(G?A
F$! 1
(:22 D*
2
"5
7<
(G6
2:6
<5
8
968">
8
9
8
9
8
:
558;;<>=>;8
+
8
8:	9>;:665
11,79$'BR	:'N8R<
I
L
.
  4" !M, H
CM /;z5#
D5 F8 K%?M
 kG") = I= F58 F:& D,* /1 G +O< #* = ,. D %L;
 D
9
4AAr   r^  c                       e Zd Z	 d Zd Zy)r  c                 0    	 || _         || _        || _        y r   )r  r  r  )rM   r  r  r  s       r   r  zCallWrapper.__init__  s    6	
r   c                     	 	 | j                   r | j                   | } | j                  | S # t        $ r   | j                  j	                          Y y xY wr   )r  r  r   r  r  rM   rk  s     r   r  zCallWrapper.__call__  sT    A	,zz!tzz4(499d## 		,KK))+s	   )- %ANrO   rP   rQ   r  r  r    r   r   r  r    s    D	,r   r  c                        e Zd Z	 d Zd Zd Zy)XViewc                 |    	  | j                   j                  | j                  dg| }|s| j                  |      S y )Nxviewr;   r  rs  r  rM   rk  r#   s      r   r|  zXView.xview  s=    Cdggll477G3d3##C(( r   c                 V    	 | j                   j                  | j                  dd|       y )Nr|  movetorr  rM   fractions     r   xview_movetozXView.xview_moveto  "    	@TWWgx:r   c                 X    	 | j                   j                  | j                  dd||       y )Nr|  scrollrr  rM   r  r   s      r   xview_scrollzXView.xview_scroll  s#    	TWWgx>r   N)rO   rP   rQ   r|  r  r  r    r   r   rz  rz        );
?r   rz  c                        e Zd Z	 d Zd Zd Zy)YViewc                 |    	  | j                   j                  | j                  dg| }|s| j                  |      S y )Nyviewr}  r~  s      r   r  zYView.yview  s=    Adggll477G3d3##C(( r   c                 V    	 | j                   j                  | j                  dd|       y )Nr  r  rr  r  s     r   yview_movetozYView.yview_moveto  r  r   c                 X    	 | j                   j                  | j                  dd||       y )Nr  r  rr  r  s      r   yview_scrollzYView.yview_scroll  s#    	&TWWgx>r   N)rO   rP   rQ   r  r  r  r    r   r   r  r    r  r   r  c                   z   e Zd Z	 	 	 d!dZeZd ZeZd"dZeZd Z	e	Z
d"dZeZd ZeZd"dZeZd	 ZeZd
 ZeZd"dZeZ	 	 d!dZeZd"dZeZd#dZeZd ZeZd"dZeZ d"dZ!e!Z"d$dZ#e#Z$d#dZ%e%Z&d"dZ'e'Z(d Z)e)Z*d#dZ+e+Z,d#dZ-e-Z.d"dZ/e/Z0d"dZ1e1Z2d#dZ3e3Z4d#dZ5e5Z6d"dZ7e7Z8d"dZ9e9Z:d"dZ;e;Z<d"dZ=e=Z>d  Z?e?Z@y)%WmNc                 x    	 | j                  | j                  j                  dd| j                  ||||            S )NwmaspectrA  )rM   minNumerminDenommaxNumermaxDenoms        r   	wm_aspectzWm.wm_aspect  s>    	9 }}GGLLxxx)* 	*r   c                 ^    	 dd| j                   f|z   }| j                  j                  |      S )Nr  
attributes)rs  r;   r  rw  s     r   wm_attributeszWm.wm_attributes  s1    	" lDGG,t3ww||D!!r   c                 T    	 | j                   j                  dd| j                  |      S )Nr  clientrr  r  s     r   	wm_clientzWm.wm_client  s$    	ww||D(DGGT::r   c                 2   	 t        |      dkD  r|f}dd| j                  f|z   }|r| j                  j                  |       y | j                  j	                  | j                  j                  |            D cg c]  }| j                  |       c}S c c}w )Nr   r  colormapwindows)r   rs  r;   r  r7   r  )rM   wlistrk  r   s       r   wm_colormapwindowszWm.wm_colormapwindows  s    	F u:>HE'1E9GGLL "WW..tww||D/ABDB &&q)BD D Ds   9Bc                 T    	 | j                   j                  dd| j                  |      S )Nr  r  rr  r  s     r   
wm_commandzWm.wm_command  s&    	% ww||D)TWWe<<r   c                 R    	 | j                   j                  dd| j                        S )Nr  	deiconifyrr  rL   s    r   wm_deiconifyzWm.wm_deiconify&  s#    	Gww||D+tww77r   c                 T    	 | j                   j                  dd| j                  |      S )Nr  
focusmodelrr  )rM   models     r   wm_focusmodelzWm.wm_focusmodel-  s'    	C ww||D,??r   c                 @    	 | j                   j                  dd|       y )Nr  forgetrg  rt  s     r   	wm_forgetzWm.wm_forget5  s    	-
 	T8V,r   c                 R    	 | j                   j                  dd| j                        S )Nr  framerr  rL   s    r   wm_framezWm.wm_frame?  s     Oww||D'47733r   c                 T    	 | j                   j                  dd| j                  |      S )Nr  r!  rr  )rM   newGeometrys     r   wm_geometryzWm.wm_geometryE  s$    	+ww||D*dgg{CCr   c                 x    	 | j                  | j                  j                  dd| j                  ||||            S )Nr  r+  rA  )rM   	baseWidth
baseHeightwidthInc	heightIncs        r   wm_gridz
Wm.wm_gridL  s>    	A }}TWW\\&$''z8Y8 9 	9r   c                 T    	 | j                   j                  dd| j                  |      S )Nr  grouprr  rM   pathNames     r   wm_groupzWm.wm_groupY  s$    	=ww||D'477H==r   c                     	 |)| j                   j                  dd| j                  d|      S | j                   j                  dd| j                  |      S )Nr  
iconbitmap-defaultrr  )rM   bitmapdefaults      r   wm_iconbitmapzWm.wm_iconbitmap`  sK    	/ 77<<lDGGZQQ77<<lDGGVDDr   c                 R    	 | j                   j                  dd| j                        S )Nr  iconifyrr  rL   s    r   
wm_iconifyzWm.wm_iconifyp  s     %ww||D)TWW55r   c                 T    	 | j                   j                  dd| j                  |      S )Nr  iconmaskrr  )rM   r  s     r   wm_iconmaskzWm.wm_iconmaskv  s$    	"ww||D*dggv>>r   c                 T    	 | j                   j                  dd| j                  |      S )Nr  iconnamerr  )rM   newNames     r   wm_iconnamezWm.wm_iconname}  s$    	ww||D*dggw??r   c                     	 |r+ | j                   j                  dd| j                  dg|  y  | j                   j                  dd| j                  g|  y )Nr  	iconphotor  rr  )rM   r  rk  s      r   wm_iconphotozWm.wm_iconphoto  sL    	6& DGGLL{DGGZG$GDGGLL{DGG;d;r   c           	      t    	 | j                  | j                  j                  dd| j                  ||            S )Nr  iconpositionrA  rE  s      r   wm_iconpositionzWm.wm_iconposition  s7    	F}}TWW\\.$''1a1 2 	2r   c                 T    	 | j                   j                  dd| j                  |      S )Nr  
iconwindowrr  r  s     r   wm_iconwindowzWm.wm_iconwindow  s$    	#ww||D,BBr   c                 @    	 | j                   j                  dd|       y )Nr  managerg  )rM   r  s     r   	wm_managezWm.wm_manage  s    	 	T8V,r   c           	      t    	 | j                  | j                  j                  dd| j                  ||            S )Nr  maxsizerA  rM   r   r   s      r   
wm_maxsizezWm.wm_maxsize  8    	 }}TWW\\)TWWeV5 6 	6r   c           	      t    	 | j                  | j                  j                  dd| j                  ||            S )Nr  minsizerA  r  s      r   
wm_minsizezWm.wm_minsize  r  r   c                 r    	 | j                  | j                  j                  dd| j                  |            S )Nr  overrideredirect)r  r;   r  rs  rc  s     r   wm_overrideredirectzWm.wm_overrideredirect  s9    	 $dggw!8 9 	9r   c                 T    	 | j                   j                  dd| j                  |      S )Nr  positionfromrr  rM   whos     r   wm_positionfromzWm.wm_positionfrom  s&    	 ww||D.$''3??r   c                     	 t        |      r| j                  |      }n|}| j                  j                  dd| j                  ||      S )Nr  protocol)r  r#  r;   r  rs  )rM   r   r  r  s       r   wm_protocolzWm.wm_protocol  sG    	: D>nnT*GGww||*dggtW6 	6r   c                 V    	 | j                   j                  dd| j                  ||      S )Nr  	resizablerr  r  s      r   wm_resizablezWm.wm_resizable  s&    	?ww||D+twwvFFr   c                 T    	 | j                   j                  dd| j                  |      S )Nr  sizefromrr  r  s     r   wm_sizefromzWm.wm_sizefrom  s&    	 ww||D*dggs;;r   c                 T    	 | j                   j                  dd| j                  |      S )Nr  r   rr  )rM   newstates     r   wm_statezWm.wm_state  s%    	Lww||D'477H==r   c                 T    	 | j                   j                  dd| j                  |      S )Nr  titlerr  r  s     r   wm_titlezWm.wm_title  s"    +ww||D'477F;;r   c                 T    	 | j                   j                  dd| j                  |      S )Nr  	transientrr  )rM   r   s     r   wm_transientzWm.wm_transient	  s$    	)ww||D+tww??r   c                 R    	 | j                   j                  dd| j                        S )Nr  r   rr  rL   s    r   wm_withdrawzWm.wm_withdraw		  s#    	Nww||D*dgg66r   rk  r   rl  rj  )ArO   rP   rQ   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r  r+  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r   r  r  r   r    r   r   r  r    s   K '+&*	* F"* J;
 FD )O= G8
 I@ J- F4 ED
 H %)"&	9 D>
 EE J6 G?
 H@
 H<2 I2 #LC
 J- F6 G6 G9 +@ #L	6 HG
 I< H>
 E< E@
 I7
 Hr   r  c                   B    e Zd Z	 dZ	 	 d
dZd Zd Zd Zd Zd Z	d	 Z
y)r   rF   Nc           
         	 d | _         i | _        d| _        d | _        |Wdd l}|j
                  j                  t        j                  d         }|j
                  j                  |      \  }}|dvr||z   }d}	t        j                  ||||	t        |||      | _        t        r| j                  j                  t               |r| j!                          t        j"                  j$                  s| j'                  ||       y y )NFr   )z.pyz.pyc)r   r  	_tkloadedr;   ospathbasenamer  argvsplitextr6  createwantobjects_debugsettrace_print_command_loadtkflagsignore_environmentreadprofile)
rM   
screenNamebaseNamer  useTksyncuser  extinteractives
             r   r  zTk.__init__	  s    	,
  ww''4HGG,,X6MHc/)#c>//*h	;P[]bdhjmnGG^,LLNyy++Xy1 ,r   c                 r    | j                   s+| j                  j                          | j                          y y r   )r  r;   loadtkr  rL   s    r   r  z	Tk.loadtk3	  s%    ~~GGNNLLN r   c                    d| _         | j                  j                  d      }|t        j                  k7  r t        dt        j                  d|d      t        | j                  j                  d            }|t        j                  k7  r t        dt        j                  d|d      | j                  g | _        | j                  j                  d	t               | j                  j                  d
t               | j                  j                  d	       | j                  j                  d
       t        rt        | a| j                  d| j                          y )NT
tk_versionztk.h version (z!) doesn't match libtk.a version ()tcl_versionztcl.h version (z") doesn't match libtcl.a version (tkerrorexitWM_DELETE_WINDOW)r  r;   r|  r6  
TK_VERSIONr8   r   TCL_VERSIONr  r  r   r   r   r   r   r  r   )rM   r  r   s      r   r  z
Tk._loadtk8	  s    WW^^L1
,,,"*"5"5z C D D $''..78(..."*"6"6 E F F
 $ "Di2fe,  +  ( ]%: M($,,7r   c                    	 t        | j                  j                               D ]  }|j                           | j                  j                  d| j                         t        j                  |        t        rt        | u rd a	y y y Nr   )
r   r  valuesr   r;   r  rs  r^  r   r   rM   r/   s     r   r   z
Tk.destroyR	  sb    	8dmm**,-Aqyy{-Y(T ]d%: M &; r   c                 P   	 dd l }d|j                  v r|j                  d   }n|j                  }|j                  j	                  |d|z        }|j                  j	                  |d|z        }|j                  j	                  |d|z        }|j                  j	                  |d|z        }d| i}	t        d|	       |j                  j                  |      r| j                  j                  d|       |j                  j                  |      r#t        t        |      j                         |	       |j                  j                  |      r| j                  j                  d|       |j                  j                  |      r$t        t        |      j                         |	       y y )Nr   HOMEz.%s.tclz.%s.pyrM   zfrom tkinter import *source)r  environcurdirr  r   execisfiler;   r  openread)
rM   r  r  r  home	class_tclclass_pybase_tclbase_pydirs
             r   r  zTk.readprofile\	  s>   	F 	RZZ

6(:YYdGGLLy9'<=	77<<h&:;77<<i(&:;'',,tX%89tn$c*77>>)$GGLL9-77>>(#h$$&,77>>(#GGLL8,77>>'"g##%s+ #r   c                     	 dd l }t        dt        j                         |t        _        |t        _        |t        _        |t        _        |j                  |||       y )Nr   zException in Tkinter callbackfile)		tracebackr+   r  stderrlast_exc	last_type
last_valuelast_tracebackprint_exception)rM   r  r  r   r<  s        r   r  zTk.report_callback_exceptionr	  sJ    	+ 	-CJJ?!!#sB/r   c                 0    	 t        | j                  |      S r   )r   r;   )rM   attrs     r   __getattr__zTk.__getattr__	  s    =tww%%r   )NNr   TFN)rO   rP   rQ   rs  r  r  r  r   r  r  rE  r    r   r   r   r   	  s6    @	BAE-12:
84!,,0&r   r   r:  c                4    t        |       } t        | |       y )Nr:  )r   r+   )r  r;  s     r   r  r  	  s     *C	#Dr   c                     t        | |||      S r   )r   )r  r  r  r  s       r   TclrH  	  s    j(Iu55r   c                   p    e Zd Z	 i fdZexZxZZd ZeZd Z	e	Z
ej                  xZZej                  xZZy)Packc                 |    	 | j                   j                  dd| j                  f| j                  ||      z          y )Nr  r  r;   r  rs  r  r  s      r   pack_configurezPack.pack_configure	  s:    	 	{DGG,c2&'	(r   c                 T    	 | j                   j                  dd| j                         y )Nr  r  rr  rL   s    r   pack_forgetzPack.pack_forget	  s    HVXtww/r   c                     	 t        | j                  | j                  j                  dd| j                              }d|v r| j	                  |d         |d<   |S )Nr  r   inrA   r;   r  rs  r  rM   ds     r   	pack_infozPack.pack_info	  sP    	twwVVTWW EF19''$0AdGr   N)rO   rP   rQ   rM  r  r  rr  rO  r  rU  r   r^  r   r  r%  r#  r    r   r   rJ  rJ  	  sZ    = "$ (( !/.D.9v0 F D!%!4!44I+++F[r   rJ  c                   T    e Zd Z	 i fdZexZxZZd ZeZd Z	e	Z
ej                  xZZy)Placec                 |    	 | j                   j                  dd| j                  f| j                  ||      z          y )Nr(  r  rL  r  s      r   place_configurezPlace.place_configure	  s:    	* 	TWW-c2&'	(r   c                 T    	 | j                   j                  dd| j                         y )Nr(  r  rr  rL   s    r   place_forgetzPlace.place_forget	  s     Wh0r   c                     	 t        | j                  | j                  j                  dd| j                              }d|v r| j	                  |d         |d<   |S )Nr(  r   rQ  rR  rS  s     r   
place_infozPlace.place_info	  sP    	twwWfdgg FG19''$0AdGr   N)rO   rP   rQ   rY  r(  r  rr  r[  r  r]  r   r^  r)  r#  r    r   r   rW  rW  	  sJ    > #% (4 "10E0I1 F D ---F\r   rW  c                      e Zd Z	 i fdZexZxZZej                  xZ	Zej                  xZZ
d ZeZd Zd ZeZej"                  xZZej&                  xZZej*                  xZZej.                  xZZej2                  xZZy)Gridc                 |    	 | j                   j                  dd| j                  f| j                  ||      z          y )Nr+  r  rL  r  s      r   grid_configurezGrid.grid_configure
  s:    	 	{DGG,c2&'	(r   c                 T    	 | j                   j                  dd| j                         y )Nr+  r  rr  rL   s    r   grid_forgetzGrid.grid_forget
  s     VXtww/r   c                 T    	 | j                   j                  dd| j                         y )Nr+  r-  rr  rL   s    r   grid_removezGrid.grid_remove"
  s    >VXtww/r   c                     	 t        | j                  | j                  j                  dd| j                              }d|v r| j	                  |d         |d<   |S )Nr+  r   rQ  rR  rS  s     r   	grid_infozGrid.grid_info&
  sP    	2twwVVTWW EF19''$0AdGr   N)rO   rP   rQ   ra  r+  r  rr  r^  r4  r/  rB  r?  rc  r  re  rg  r   rF  rD  rH  r  rK  rJ  rN  rM  rP  r#  r    r   r   r_  r_  	  s    =
 "$ (& !/.D.9v~~%D9-1-F-FFO*0 F0 D#111H}!%!4!44I'+'='==L$~~%D9+++F[r   r_  c                   0    e Zd Z	 d Zi i dfdZd ZddZy)
BaseWidgetc                    	 |
t               }|| _        |j                  | _        d }d|v r|d   }|d= |s| j                  j                  j                         }|d   j                         r|dz  }|j                  i |_        |j                  j                  |d      dz   }||j                  |<   |dk(  rd|}nd||fz  }|| _	        |j                  dk(  rd|z   | _
        n|j                  dz   |z   | _
        i | _        | j                  | j                  j                  v r1| j                  j                  | j                     j                          | | j                  j                  | j                  <   y )Nr   r  !r   r   z!%s%drF   )r   r   r;   r>  rO   r  isdigitrm  r  r  rs  r  r   )rM   r   r.   r   counts        r   _setupzBaseWidget._setup9
  sV   D>&(F))S=v;DF>>**002DBx!%%-)+&**..tQ7!;E+0F""4(z $$.
99c>DjDGii#o,DG::---KK  ,446+/TZZ(r   r    c                    	 |rt        ||f      }|| _        | j                  ||       | j                  g | _        |j	                         D cg c]  \  }}t        |t              s||f }}}|D ]  \  }}||= 
 | j                  j                  || j                  f|z   | j                  |      z          |D ]  \  }}|j                  | |        y c c}}w r   )r3   
widgetNamern  r  r,   r   r'   r;   r  rs  r  r  )	rM   r   rp  r.   rl  extrar1   r2   classess	            r   r  zBaseWidget.__init__Y
  s    	$S"I&C$FC $ "D&)iikIkdaZ45HAq6kIDAqA !E)DMM#,>>	@DAqKKa   Js   C)Cc                 r   	 t        | j                  j                               D ]  }|j                           | j                  j                  d| j                         | j                  | j                  j                  v r!| j                  j                  | j                  = t        j                  |        y r'  )
r   r  r(  r   r;   r  rs  r  r   r^  r)  s     r   r   zBaseWidget.destroyj
  su    7dmm**,-Aqyy{-Y(::---$$TZZ0Tr   c                 V    | j                   j                  | j                  |f|z         S r   rr  )rM   r   rk  s      r   _dozBaseWidget._dor
  s"    ww||TWWdOd233r   N)r    )rO   rP   rQ   rn  r  r   ru  r    r   r   ri  ri  6
  s#    0@ 02b !"4r   ri  c                       e Zd Z	 y)WidgetN)rO   rP   rQ   r    r   r   rw  rw  w
  s     	r   rw  c                       e Zd Z	 di fdZy)ToplevelNc                    	 |rt        ||f      }d}dD ],  }||v s||   }|d   dk(  r	d|d d z   }nd|z   }|||fz   }||= . t        j                  | |d|i |       | j                         }| j	                  |j	                                | j                  |j                                | j                  d| j                         y )Nr    )rY  class_r
  rz  colormapr  r  r6   rt  r#  )r3   ri  r  r  r  r  r  r   )	rM   r   r.   rl  rq  wmkeyr  optr   s	            r   r  zToplevel.__init__
  s    	 S"I&CE|%j 9#3uSbz>SIcc
*J 	D&*c2uEzz|dmmo&

4::< ($,,7r   rO   rP   rQ   r  r    r   r   ry  ry  
  s    ," 8r   ry  c                   &    e Zd Z	 di fdZd Zd Zy)r   Nc                 8    	 t         j                  | |d||       y )Nbuttonrw  r  rM   r   r.   rl  s       r   r  zButton.__init__
  s    	$ 	fhR8r   c                 R    	 | j                   j                  | j                  d       y Nflashrr  rL   s    r   r  zButton.flash
  s    	 	TWWg&r   c                 P    	 | j                   j                  | j                  d      S Ninvokerr  rL   s    r   r  zButton.invoke
  s"    	 ww||DGGX..r   )rO   rP   rQ   r  r  r  r    r   r   r   r   
  s    " 9*
'/r   r   c                      e Zd Z	 di fdZd Zd Zd Zd Zd;dZd Z	d	 Z
d
 Zd Zd<dZd=dZd<dZd<dZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d  Z!d! Z"d;d"Z#d# Z$d$ Z%d% Z&d& Z'd' Z(d( Z)d) Z*d* Z+d+ Z,d<d,Z-e-Z.d- Z/e/Z0d. Z1d>d/Z2i fd0Z3d1 Z4e4xZ5Z6d2 Z7d3 Z8d?d4Z9d5 Z:d6 Z;d7 Z<d8 Z=d9 Z>d: Z?y)@CanvasNc                 8    	 t         j                  | |d||       y )Ncanvasr  r  s       r   r  zCanvas.__init__
  s    	- 	fhR8r   c                 Z    	 | j                   j                  | j                  df|z          y )Naddtagrr  rw  s     r   r  zCanvas.addtag
  s#     dggx(4/0r   c                 ,    	 | j                  |d|       y Nabover  rM   newtagtagOrIds      r   addtag_abovezCanvas.addtag_above
      8FGW-r   c                 *    	 | j                  |d       y Nr  r  )rM   r  s     r   
addtag_allzCanvas.addtag_all
  s    *FE"r   c                 ,    	 | j                  |d|       y Nbelowr  r  s      r   addtag_belowzCanvas.addtag_below
  r  r   c                 2    	 | j                  |d||||       y Nclosestr  )rM   r  r   r   halostarts         r   addtag_closestzCanvas.addtag_closest
  s     	M 	FIq!T59r   c                 2    	 | j                  |d||||       y Nenclosedr  rM   r  x1y1x2y2s         r   addtag_enclosedzCanvas.addtag_enclosed
  s    	FJBB7r   c                 2    	 | j                  |d||||       y Noverlappingr  r  s         r   addtag_overlappingzCanvas.addtag_overlapping
  s    	#FM2r2r:r   c                 ,    	 | j                  |d|       y Nwithtagr  r  s      r   addtag_withtagzCanvas.addtag_withtag
  s    7FIw/r   c                 ~    	 | j                  | j                  j                  | j                  df|z               xs d S Nr/  rA  rw  s     r   r/  zCanvas.bbox   s?    	F}}GGLL$''6*T124 <7;	<r   c                 F    	 | j                  | j                  d||f|       y r  r  )rM   r  r  r  s       r   
tag_unbindzCanvas.tag_unbind  s"    	,dggvw96Br   c                 F    	 | j                  | j                  d|f|||      S r  r  )rM   r  r  r  r&  s        r   tag_bindzCanvas.tag_bind  s/    	I
 zz477FG4D#' 	'r   c                     	 | j                   j                  | j                   j                  | j                  d||            S )Ncanvasxr  )rM   screenxgridspacings      r   r  zCanvas.canvasx  :    	5ww  GGY"6 7 	7r   c                     	 | j                   j                  | j                   j                  | j                  d||            S )Ncanvasyr  )rM   screenyr  s      r   r  zCanvas.canvasy  r  r   c                     	 t        |      }| j                  j                  | j                  j                  | j                  df|z               D cg c]  }| j                  j                  |       c}S c c}w Ncoords)r!   r;   r7   r  rs  rN  r  s      r   r  zCanvas.coords   ss    F~77,,77<<( 3d :;=>= *+!!!$=> 	> >s   "A7c           
      
   	 t        |      }|d   }t        |t        t        f      r|d d }ni }| j                  j                   | j                  j                  | j                  d|g|| j                  ||      z          S )Nr  r  )	r!   r   r&   r   r;   rM  r  rs  r  )rM   itemTyperk  rl  r.   s        r   _createzCanvas._create'  s~     ~2hcD%=)9DCww~~ldggllGGXx.T]]3++. / 	/r   c                 *    	 | j                  d||      S )Narcr  rj  s      r   
create_arczCanvas.create_arc3  s    D||E4,,r   c                 *    	 | j                  d||      S Nr  r  rj  s      r   create_bitmapzCanvas.create_bitmap7  s    3||HdB//r   c                 *    	 | j                  d||      S )Nrb  r  rj  s      r   create_imagezCanvas.create_image;  s    7||GT2..r   c                 *    	 | j                  d||      S )Nr  r  rj  s      r   create_linezCanvas.create_line?  s    ;||FD"--r   c                 *    	 | j                  d||      S )Novalr  rj  s      r   create_ovalzCanvas.create_ovalC  s    7||FD"--r   c                 *    	 | j                  d||      S )Npolygonr  rj  s      r   create_polygonzCanvas.create_polygonG  s    >||ItR00r   c                 *    	 | j                  d||      S )N	rectangler  rj  s      r   create_rectanglezCanvas.create_rectangleK  s    <||Kr22r   c                 *    	 | j                  d||      S Ntextr  rj  s      r   create_textzCanvas.create_textO  s    1||FD"--r   c                 *    	 | j                  d||      S )Nrq  r  rj  s      r   create_windowzCanvas.create_windowS  s    9||HdB//r   c                 Z    	 | j                   j                  | j                  df|z          y )Ndcharsrr  rw  s     r   r  zCanvas.dcharsW  s&    	Ddggx(4/0r   c                 Z    	 | j                   j                  | j                  df|z          y NrX  rr  rw  s     r   rX  zCanvas.delete\  s#    Jdggx(4/0r   c                 Z    	 | j                   j                  | j                  df|z          y )Ndtagrr  rw  s     r   r  zCanvas.dtag`  s%    	1dggv&-.r   c                 ~    	 | j                  | j                  j                  | j                  df|z               xs dS )Nfindr    rA  rw  s     r   r  zCanvas.finde  <     }}GGLL$''6*T124 :79	:r   c                 (    	 | j                  d|      S r  r  rM   r  s     r   
find_abovezCanvas.find_abovej  s    )yy'**r   c                 &    	 | j                  d      S r  r  rL   s    r   find_allzCanvas.find_alln  s    yyr   c                 (    	 | j                  d|      S r  r  r  s     r   
find_belowzCanvas.find_belowr  s    -yy'**r   c                 .    	 | j                  d||||      S r  r  )rM   r   r   r  r  s        r   find_closestzCanvas.find_closestv  s!    	M yyAq$66r   c                 .    	 | j                  d||||      S r  r  rM   r  r  r  r  s        r   find_enclosedzCanvas.find_enclosed}  s    	yyRR44r   c                 .    	 | j                  d||||      S r  r  r  s        r   find_overlappingzCanvas.find_overlapping  s    	#yyBB77r   c                 (    	 | j                  d|      S r  r  r  s     r   find_withtagzCanvas.find_withtag  s    ,yyG,,r   c                 X    	 | j                   j                  | j                  df|z         S r  rr  rw  s     r   r   zCanvas.focus  s&    <ww||TWWg.566r   c                     	 | j                   j                  | j                   j                  | j                  df|z               S )Ngettagsr  rw  s     r   r  zCanvas.gettags  s:    Kww  GGLL$''9-457 	7r   c                 Z    	 | j                   j                  | j                  df|z          y Nicursorrr  rw  s     r   r  zCanvas.icursor  s%    	*dggy)D01r   c                     	 | j                   j                  | j                   j                  | j                  df|z               S Nr;  r  rw  s     r   r;  zCanvas.index  s3    Mww~~dggllDGGW+=+DEFFr   c                 Z    	 | j                   j                  | j                  df|z          y Ninsertrr  rw  s     r   r
  zCanvas.insert  s%    	 dggx(4/0r   c                 b    	 | j                   j                  | j                  df|d|z   fz         S Nitemcgetr6   rr  )rM   r  r  s      r   r  zCanvas.itemcget  s4    Gww||WWj!Wc&j$99; 	;r   c                 .    	 | j                  d|f||      S Nitemconfigurer  rM   r  r.   rl  s       r   r  zCanvas.itemconfigure  s!    	 93CCr   c                 Z    	 | j                   j                  | j                  df|z          y r  rr  rw  s     r   	tag_lowerzCanvas.tag_lower  %    	*dggw'$./r   c                 Z    	 | j                   j                  | j                  df|z          y )Nmoverr  rw  s     r   r  zCanvas.move  s#    1dggv&-.r   c                 X    	 | j                   j                  | j                  d|||       y )Nr  rr  )rM   r  r   r   s       r   r  zCanvas.moveto  s&    	H 	TWWhA6r   c                 x    	 | j                   j                  | j                  df| j                  ||      z         S )N
postscriptrL  r  s      r   r  zCanvas.postscript  s<    	  ww||TWWl3MM#r*+ , 	,r   c                 Z    	 | j                   j                  | j                  df|z          y r  rr  rw  s     r   	tag_raisezCanvas.tag_raise  r  r   c                 Z    	 | j                   j                  | j                  df|z          y Nscalerr  rw  s     r   r  zCanvas.scale  s#    Gdggw'$./r   c                 X    	 | j                   j                  | j                  dd||       y Nscanmarkrr  rE  s      r   	scan_markzCanvas.scan_mark  !    4TWWffa3r   c                 Z    	 | j                   j                  | j                  dd|||       y Nr!  dragtorr  )rM   r   r   gains       r   scan_dragtozCanvas.scan_dragto  s'    	 	TWWfh1d;r   c                 X    	 | j                   j                  | j                  dd||       y )Nselectadjustrr  rM   r  r;  s      r   select_adjustzCanvas.select_adjust  s!    ZTWWh'5Ar   c                 T    	 | j                   j                  | j                  dd       y )Nr+  r  rr  rL   s    r   select_clearzCanvas.select_clear  s    :TWWh0r   c                 X    	 | j                   j                  | j                  dd||       y )Nr+  fromrr  r-  s      r   select_fromzCanvas.select_from  s!    HTWWh?r   c                 Z    	 | j                   j                  | j                  dd      xs d S )Nr+  r$   rr  rL   s    r   select_itemzCanvas.select_item  s%    6ww||DGGXv6>$>r   c                 X    	 | j                   j                  | j                  dd||       y )Nr+  torr  r-  s      r   	select_tozCanvas.select_to  s!    KTWWhgu=r   c                 Z    	 | j                   j                  | j                  d|      xs d S Nr'   rr  r  s     r   r'   zCanvas.type  s%    2ww||DGGVW5==r   rl  r   rA  )r   r   )
   )@rO   rP   rQ   r  r  r  r  r  r  r  r  r  r/  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rX  r  r  r  r  r  r  r  r  r  r   r  r  r;  r
  r  r  
itemconfigr  r  r  r  r  r  ro  r  r  r#  r)  r.  r0  r3  r5  r8  r'   r    r   r   r  r  
  sK   I" 
91.#.:8
;
0<C
'77>
/-0/..13.01
1/
:
+ +75
8
-77
2
G1
;
D J0
 E/7   ,0
 D704<B1@?>>r   r  c                   J     e Zd Z	 di fdZ fdZd Zd Zd Zd Zd Z	 xZ
S )	CheckbuttonNc                 8    	 t         j                  | |d||       y Ncheckbuttonr  r  s       r   r  zCheckbutton.__init__  s    	3 	fmS"=r   c                     |j                  d      s<| j                  j                  j                         }t        dz  ad| dt         |d<   t
        |   ||       y )Nr   r   rk  r6   )r  r>  rO   r  _checkbutton_countsuperrn  )rM   r   r.   r   r>  s       r   rn  zCheckbutton._setup  s[     wwv>>**002D!# dV1%7$89CKvs#r   c                 R    	 | j                   j                  | j                  d       y Ndeselectrr  rL   s    r   rG  zCheckbutton.deselect  s    *TWWj)r   c                 R    	 | j                   j                  | j                  d       y r  rr  rL   s    r   r  zCheckbutton.flash"      TWWg&r   c                 P    	 | j                   j                  | j                  d      S r  rr  rL   s    r   r  zCheckbutton.invoke&      Jww||DGGX..r   c                 R    	 | j                   j                  | j                  d       y Nr+  rr  rL   s    r   r+  zCheckbutton.select*      )TWWh'r   c                 R    	 | j                   j                  | j                  d       y )Ntogglerr  rL   s    r   rP  zCheckbutton.toggle.  s     TWWh'r   )rO   rP   rQ   r  rn  rG  r  r  r+  rP  __classcell__)r>  s   @r   r>  r>    s.    A" 
>$*'/((r   r>  c                       e Zd Z	 di fdZddZd Zd Zd Zd Zd Z	d	 Z
d
 ZeZd ZeZd ZeZd ZeZd ZeZd ZeZy)EntryNc                 8    	 t         j                  | |d||       y )Nentryr  r  s       r   r  zEntry.__init__6  s    		 	fgsB7r   c                 V    	 | j                   j                  | j                  d||       y r  rr  rM   firstlasts      r   rX  zEntry.deleteC  s    <TWWht4r   c                 P    	 | j                   j                  | j                  d      S Nr  rr  rL   s    r   r  z	Entry.getG  s    ww||DGGU++r   c                 T    	 | j                   j                  | j                  d|       y r  rr  rM   r;  s     r   r  zEntry.icursorK  s    %TWWi/r   c                     	 | j                   j                  | j                   j                  | j                  d|            S r  r  r]  s     r   r;  zEntry.indexO  s4    (ww~~dggllGGWe% & 	&r   c                 V    	 | j                   j                  | j                  d||       y r	  rr  )rM   r;  r  s      r   r
  zEntry.insertT  s    %TWWhv6r   c                 V    	 | j                   j                  | j                  dd|       y r   rr  r:  s     r   r#  zEntry.scan_markX  s    4TWWffa0r   c                 V    	 | j                   j                  | j                  dd|       y r&  rr  r:  s     r   r)  zEntry.scan_dragto\  s#    	 	TWWfh2r   c                 V    	 | j                   j                  | j                  dd|       y )Nr  r,  rr  r]  s     r   selection_adjustzEntry.selection_adjustb  s    GTWWk8U;r   c                 T    	 | j                   j                  | j                  dd       y Nr  r  rr  rL   s    r   r  zEntry.selection_clearh  s    :TWWk73r   c                 V    	 | j                   j                  | j                  dd|       y )Nr  r2  rr  r]  s     r   selection_fromzEntry.selection_fromn  s    8TWWk659r   c                     	 | j                   j                  | j                   j                  | j                  dd            S Nr  presentr  rL   s    r   selection_presentzEntry.selection_presentt  6    	ww!!GGLL+y9; 	;r   c                 X    	 | j                   j                  | j                  dd||       y )Nr  rangerr  rM   r  ends      r   selection_rangezEntry.selection_range|  s!    ATWWk7E3?r   c                 V    	 | j                   j                  | j                  dd|       y )Nr  r7  rr  r]  s     r   selection_tozEntry.selection_to  s    ;TWWk47r   r   )rO   rP   rQ   r  rX  r  r  r;  r
  r#  r)  rc  r.  r  r0  rg  r3  rk  select_presentrq  select_rangers  r8  r    r   r   rS  rS  3  s{    ;" 85,0&
713< %M4 #L: !K; 'N@ #L8 Ir   rS  c                       e Zd Z	 di fdZy)FrameNc                     	 t        ||f      }d}d|v rd|d   f}|d= nd|v r
d|d   f}|d= t        j                  | |d|i |       y )Nr    r{  z-classr
  r  )r3   rw  r  )rM   r   r.   rl  rq  s        r   r  zFrame.__init__  sk    	Q
 b	"s?s8}-EH^s7|,EGfgsB>r   r  r    r   r   rw  rw    s    P" ?r   rw  c                       e Zd Z	 di fdZy)LabelNc                 8    	 t         j                  | |d||       y )Nlabelr  r  s       r   r  zLabel.__init__  s    	" 	fgsB7r   r  r    r   r   rz  rz    s    :" 8r   rz  c                       e Zd Z	 di fdZd Zd Zd ZddZddZd Z	d	 Z
d
 Zd Zd Zd Zd ZeZddZeZd ZeZddZeZd Zd ZddZeZy)ListboxNc                 8    	 t         j                  | |d||       y )Nlistboxr  r  s       r   r  zListbox.__init__  s    	@ 	fib9r   c                 T    	 | j                   j                  | j                  d|       y Nactivaterr  r]  s     r   r  zListbox.activate  s    0TWWj%0r   c                 x    	 | j                  | j                  j                  | j                  d|            xs d S r  rA  r]  s     r   r/  zListbox.bbox  s1    	B}}TWW\\$''65ABJdJr   c                 v    	 | j                  | j                  j                  | j                  d            xs dS )Ncurselectionr    rA  rL   s    r   r  zListbox.curselection  s,    <}}TWW\\$''>BCIrIr   c                 V    	 | j                   j                  | j                  d||       y r  rr  rW  s      r   rX  zListbox.delete  s    9TWWht4r   c                     	 |A| j                   j                  | j                   j                  | j                  d||            S | j                   j                  | j                  d|      S r[  r  rW  s      r   r  zListbox.get  s[    >77$$TWW\\t&- . . 77<<66r   c                     	 | j                   j                  | j                  d|      }|dk(  ry | j                   j                  |      S )Nr;  r  r;   r  rs  rM  rM   r;  r   s      r   r;  zListbox.index  s;    9GGLL'51;tww~~a  r   c                 \    	 | j                   j                  | j                  d|f|z          y r	  rr  )rM   r;  elementss      r   r
  zListbox.insert  s%    'dggx/(:;r   c                     	 | j                   j                  | j                   j                  | j                  d|            S )Nnearestr  )rM   r   s     r   r  zListbox.nearest  s4    Cww~~dggllGGY# $ 	$r   c                 X    	 | j                   j                  | j                  dd||       y r   rr  rE  s      r   r#  zListbox.scan_mark  r$  r   c                 X    	 | j                   j                  | j                  dd||       y r&  rr  rE  s      r   r)  zListbox.scan_dragto  %    	 	TWWfh15r   c                 T    	 | j                   j                  | j                  d|       y Nseerr  r]  s     r   r  zListbox.see  s    0TWWeU+r   c                 V    	 | j                   j                  | j                  dd|       y )Nr  r,  rr  r]  s     r   selection_anchorzListbox.selection_anchor  s    ;TWWk8U;r   c                 X    	 | j                   j                  | j                  dd||       y re  rr  rW  s      r   r  zListbox.selection_clear  s$    @TWWgud	4r   c                     	 | j                   j                  | j                   j                  | j                  dd|            S )Nr  includesr  r]  s     r   selection_includeszListbox.selection_includes  s8    <ww!!$'',,GG[*e#5 6 	6r   c                 X    	 | j                   j                  | j                  dd||       y )Nr  r  rr  rW  s      r   selection_setzListbox.selection_set  s#    	5TWWk5%>r   c                     	 | j                   j                  | j                   j                  | j                  d            S )NrM  r  rL   s    r   rM  zListbox.size  s+    ;ww~~dggll477F;<<r   c                 b    	 | j                   j                  | j                  df|d|z   fz         S r  rr  rM   r;  r  s      r   r  zListbox.itemcget  s4    Bww||WWj!UCJ$779 	9r   c                 .    	 | j                  d|f||      S r  r  rA  s       r   r  zListbox.itemconfigure  s!    	/ 7bAAr   r   )rO   rP   rQ   r  r  r/  r  rX  r  r;  r
  r  r#  r)  r  r  select_anchorr  r0  r  select_includesr  
select_setrM  r  r  r<  r    r   r   r~  r~    s    =" :1K
J57!<$
46,< %M4
 #L6
 )O?
 J=9
B Jr   r~  c                       e Zd Z	 di fdZddZd Zi fdZi fdZi fdZi fdZ	i fd	Z
i fd
Zi fdZi fdZi fdZi fdZi fdZi fdZddZd ZddZeZd Zd Zd Zd Zd Zd Zd Zy)MenuNc                 8    	 t         j                  | |d||       y Nmenur  r  s       r   r  zMenu.__init__,  s    	I 	ffc26r   c                 X    	 | j                   j                  d| j                  |||       y )Ntk_popuprr  )rM   r   r   rU  s       r   r  zMenu.tk_popup5  s!    =Z!Q6r   c                 T    	 | j                   j                  | j                  d|       y r  rr  r]  s     r   r  zMenu.activate9  s    &TWWj%0r   c                 |    	 | j                   j                  | j                  d|f| j                  ||      z          y Nr&  rL  )rM   r  r.   rl  s       r   r&  zMenu.add=  s5     dgguh/sB'( 	)r   c                 2    	 | j                  d|xs |       y Ncascader&  r  s      r   add_cascadezMenu.add_cascadeB  s    )CI2&r   c                 2    	 | j                  d|xs |       y r@  r  r  s      r   add_checkbuttonzMenu.add_checkbuttonF  s    (	r*r   c                 2    	 | j                  d|xs |       y Nr  r  r  s      r   add_commandzMenu.add_commandJ  s    $CI2&r   c                 2    	 | j                  d|xs |       y Nradiobuttonr  r  s      r   add_radiobuttonzMenu.add_radiobuttonN  s    "	r*r   c                 2    	 | j                  d|xs |       y N	separatorr  r  s      r   add_separatorzMenu.add_separatorR  s    ciR(r   c                 ~    	 | j                   j                  | j                  d||f| j                  ||      z          y r	  rL  )rM   r;  r  r.   rl  s        r   r
  zMenu.insertV  s7     dggx9sB'( 	)r   c                 4    	 | j                  |d|xs |       y r  r
  rA  s       r   insert_cascadezMenu.insert_cascade[  s    2E9ciR0r   c                 4    	 | j                  |d|xs |       y r@  r  rA  s       r   insert_checkbuttonzMenu.insert_checkbutton_  s    1E=#)4r   c                 4    	 | j                  |d|xs |       y r  r  rA  s       r   insert_commandzMenu.insert_commandc  s    -E9ciR0r   c                 4    	 | j                  |d|xs |       y r  r  rA  s       r   insert_radiobuttonzMenu.insert_radiobuttong  s    +E=#)4r   c                 4    	 | j                  |d|xs |       y r  r  rA  s       r   insert_separatorzMenu.insert_separatork  s    %E;	r2r   c                 b   	 ||}| j                  |      | j                  |      }}||d\  }}t        ||dz         D ]E  }d| j                  |      v st        | j	                  |d            }|s5| j                  |       G | j                  j                  | j                  d||       y )N)r   r  r   r  rX  )	r;  rn  entryconfigr   	entrycgetr  r;   r  rs  )rM   index1index2
num_index1
num_index2r   r/   s          r   rX  zMenu.deleteo  s    E>F!%F!3TZZ5GJ
J$6%*"J
z:>2AD,,Q//q)45&&q)	 3
 	TWWh7r   c                 Z    	 | j                   j                  | j                  d|d|z         S )Nr  r6   rr  r  s      r   r  zMenu.entrycget  s&    Kww||DGG[%vFFr   c                 .    	 | j                  d|f||      S )Nentryconfigurer  rA  s       r   r  zMenu.entryconfigure  s    - 0%8#rBBr   c                     	 | j                   j                  | j                  d|      }|dv rd S | j                   j                  |      S )Nr;  )r   r  r  r  s      r   r;  z
Menu.index  s>    BGGLL'51L(t?dggnnQ.??r   c                 R    	 | j                   j                  | j                  d|      S r  rr  r]  s     r   r  zMenu.invoke  s"    	#ww||DGGXu55r   c                 V    	 | j                   j                  | j                  d||       y )Npostrr  rE  s      r   r  z	Menu.post  s    -TWWfa+r   c                 R    	 | j                   j                  | j                  d|      S r:  rr  r]  s     r   r'   z	Menu.type  s     8ww||DGGVU33r   c                 R    	 | j                   j                  | j                  d       y )Nunpostrr  rL   s    r   r  zMenu.unpost  s    TWWh'r   c                     	 | j                   j                  | j                   j                  | j                  d|            S )N	xpositionr  r]  s     r   r  zMenu.xposition  s/    	ww~~dggll477KGHHr   c                     	 | j                   j                  | j                   j                  | j                  d|            S )N	ypositionr  r]  s     r   r  zMenu.yposition  s4    Sww~~dggllGG[%) * 	*r   r   r   )rO   rP   rQ   r  r  r  r&  r  r  r  r  r  r
  r  r  r  r  r  rX  r  r  r  r;  r  r  r'   r  r  r  r    r   r   r  r  )  s    Z" 771 !# )
 ! ' #% + ! ' #% + !# ) +- )
 )+ 1 -/ 5 )+ 1 -/ 5 +- 38 GC !K@
6
,4(I
*r   r  c                       e Zd Z	 di fdZy)
MenubuttonNc                 6    t         j                  | |d||       y )N
menubuttonr  r  s       r   r  zMenubutton.__init__  s    flC<r   r  r    r   r   r  r    s    2" =r   r  c                       e Zd Z	 di fdZy)MessageNc                 6    t         j                  | |d||       y )Nmessager  r  s       r   r  zMessage.__init__  s    fib9r   r  r    r   r   r  r    s    U" :r   r  c                   2    e Zd Z	 di fdZd Zd Zd Zd Zy)RadiobuttonNc                 8    	 t         j                  | |d||       y r  r  r  s       r   r  zRadiobutton.__init__  s    	 	fmS"=r   c                 R    	 | j                   j                  | j                  d       y rF  rr  rL   s    r   rG  zRadiobutton.deselect  s    *TWWj)r   c                 R    	 | j                   j                  | j                  d       y r  rr  rL   s    r   r  zRadiobutton.flash  rI  r   c                 P    	 | j                   j                  | j                  d      S r  rr  rL   s    r   r  zRadiobutton.invoke  rK  r   c                 R    	 | j                   j                  | j                  d       y rM  rr  rL   s    r   r+  zRadiobutton.select  rN  r   )rO   rP   rQ   r  rG  r  r  r+  r    r   r   r  r    s#    Q" 
>*
'/(r   r  c                   4    e Zd Z	 di fdZd Zd ZddZd Zy)ScaleNc                 8    	 t         j                  | |d||       y r  r  r  s       r   r  zScale.__init__  s    	; 	fgsB7r   c                     	 | j                   j                  | j                  d      }	 | j                   j                  |      S # t        t
        t        f$ r | j                   j                  |      cY S w xY wr[  )r;   r  rs  rM  r   r*   r   rN  r  s     r   r  z	Scale.get  s`    8TWWe,	,77>>%((Ix0 	,77$$U++	,s   A /A65A6c                 T    	 | j                   j                  | j                  d|       y Nr  rr  r  s     r   r  z	Scale.set  s    %TWWeU+r   c                 p    	 | j                  | j                  j                  | j                  d|            S r  rA  r  s     r   r  zScale.coords  s-    	 }}TWW\\$''8UCDDr   c                 T    	 | j                   j                  | j                  d||      S Nidentifyrr  rE  s      r   r  zScale.identify  s$    	$ww||DGGZA66r   r   )rO   rP   rQ   r  r  r  r  r  r    r   r   r  r    s$    ;" 	8,,E7r   r  c                   @    e Zd Z	 di fdZd	dZd Zd Zd Zd Zd Z	y)
	ScrollbarNc                 8    	 t         j                  | |d||       y )N	scrollbarr  r  s       r   r  zScrollbar.__init__  s    	 	fk3;r   c                 Z    	 | j                   j                  | j                  d|      xs d S r  rr  r]  s     r   r  zScrollbar.activate  s)    	, ww||DGGZ7?4?r   c                     	 | j                   j                  | j                   j                  | j                  d||            S )Nr   r  )rM   deltaxdeltays      r   r   zScrollbar.delta  s8    	6ww  GGLL'66:< 	<r   c                     	 | j                   j                  | j                   j                  | j                  d||            S )Nr  r  rE  s      r   r  zScrollbar.fraction  s3    	ww  dggz1a!HIIr   c                 T    	 | j                   j                  | j                  d||      S r  rr  rE  s      r   r  zScrollbar.identify"  s$    	-ww||DGGZA66r   c                 n    	 | j                  | j                  j                  | j                  d            S r[  )r  r;   r  rs  rL   s    r   r  zScrollbar.get'  s+    	#TWWe <==r   c                 V    	 | j                   j                  | j                  d||       y r  rr  rW  s      r   r  zScrollbar.set,  s!    	1TWWeUD1r   r   )
rO   rP   rQ   r  r  r   r  r  r  r  r    r   r   r  r     s/    I" 	<@<J
7
>
2r   r  c                      e Zd Z	 di fdZd Zd Zd Zd7dZd7dZd Z	d8d	Z
d
 Zd7dZd Zd Zd Zd Zd7dZd Zd7dZi fdZd Zd Zd Zd7dZd Zd Zd Zd Zd Zi fdZd Zd Z d  Z!d! Z"	 	 	 d9d"Z#d# Z$d$ Z%d7d%Z&d7d&Z'd:d'Z(d( Z)d7d)Z*e*Z+d* Z,d7d+Z-d7d,Z.d7d-Z/d7d.Z0d7d/Z1d0 Z2d7d1Z3d2 Z4d7d3Z5e5Z6i fd4Z7d5 Z8d6 Z9y);TextNc                 8    	 t         j                  | |d||       y r  r  r  s       r   r  zText.__init__5  s    	, 	ffc26r   c                 x    	 | j                  | j                  j                  | j                  d|            xs d S r  rA  r]  s     r   r/  z	Text.bboxN  s9    	H}}TWWfe46 >9=	>r   c           	          	 | j                   j                  | j                   j                  | j                  d|||            S )Ncomparer  )rM   r  opr  s       r   r  zText.compareT  s=    	Kww!!$'',,GGYF#4 5 	5r   c                     	 |D cg c]  }d|z  	 }}|||gz  } | j                   j                  | j                  dg| xs d }|t        |      dk  r|fS |S c c}w )Nr\  rm     )r;   r  rs  r   )rM   r  r  rk  argr#   s         r   rm  z
Text.countZ  su    
	F (,,tt,  dggll477G3d3;t?s4yA~7NJ -s   Ac                     	 |?| j                   j                  | j                   j                  | j                  d            S | j                   j                  | j                  d|       y )Ndebugr  rc  s     r   r  z
Text.debugn  sL    	(?77%%dggll477G&DEETWWgw/r   c                 V    	 | j                   j                  | j                  d||       y r  rr  rM   r  r  s      r   rX  zText.deleteu  s    MTWWh7r   c                 p    	 | j                  | j                  j                  | j                  d|            S )N	dlineinforA  r]  s     r   r  zText.dlineinfoy  s-    	# }}TWW\\$'';FGGr   c                    	 g }d }d }|s	g }|fd}|}	 t        |t              s| j                  |      x}}|d|gz  }|D ]  }	||	   s	|j                  d|	z           |j                  |       |r|j                  |        | j                  j
                  | j                  dg|  ||r| j                  |       S S # |r| j                  |       w w xY w)Nc                 ,    |j                  | ||f       y r   )r   )r@   r   r;  r  s       r   append_triplez Text.dump.<locals>.append_triple  s    sE512r   z-commandr6   dump)r   r   r#  r   r;   r  rs  r  )
rM   r  r  r  rl  rk  	func_namer  r  r@   s
             r   r  z	Text.dump  s    
	M 	
 F8> 3#G	.gs+&*nnW&==	GZ))Dc7DKKc	2 KKF#DGGLL&040""9- y""9- s   4C 	A#C Cc                 T    	  | j                   j                  | j                  dg| S )Neditrr  rw  s     r   r  z	Text.edit  s)    	 tww||DGGV3d33r   c                 (    	 | j                  d|      S )Nmodifiedr  )rM   r  s     r   edit_modifiedzText.edit_modified  s    	 yyS))r   c                 &    	 | j                  d      S )Nredor!  rL   s    r   	edit_redozText.edit_redo  s    	 yy  r   c                 &    	 | j                  d      S )Nresetr!  rL   s    r   
edit_resetzText.edit_reset  s    	yy!!r   c                 &    	 | j                  d      S r  r!  rL   s    r   edit_separatorzText.edit_separator  s    	 yy%%r   c                 &    	 | j                  d      S )Nundor!  rL   s    r   	edit_undozText.edit_undo  s    	 yy  r   c                 T    	 | j                   j                  | j                  d||      S r[  rr  r  s      r   r  zText.get  s"    Cww||DGGUFF;;r   c                     	 |d d dk7  rd|z   }|dd  dk(  r|d d }| j                   j                  | j                  dd||      S )Nr   r6   r  r  rb  r  rr  r  s      r   
image_cgetzText.image_cget  sT    G"1:6\F"#;#CR[Fww||DGGWfeVDDr   c                 0    	 | j                  dd|f||      S )Nrb  r  r  rA  s       r   image_configurezText.image_configure  s    3e<c2FFr   c                 x    	  | j                   j                  | j                  dd|g| j                  ||       S )Nrb  r  rL  rA  s       r   image_createzText.image_create  s<    0tww||'8U*--R(* 	*r   c                 R    	 | j                   j                  | j                  dd      S ra  rr  rL   s    r   rd  zText.image_names  s     Aww||DGGWg66r   c                 d    	 t        | j                  j                  | j                  d|            S r  )r   r;   r  rs  r]  s     r   r;  z
Text.index  s%    ?477<<%899r   c                 ^    	 | j                   j                  | j                  d||f|z          y r	  rr  )rM   r;  charsrk  s       r   r
  zText.insert  s*    	Sdggx6=>r   c                 X    	 | j                   j                  | j                  dd||f      S )Nr"  gravityrr  )rM   markName	directions      r   mark_gravityzText.mark_gravity  s/    	Dww||WWfi9=? 	?r   c                     	 | j                   j                  | j                   j                  | j                  dd            S )Nr"  rc  r  rL   s    r   
mark_nameszText.mark_names  s6    $ww  GGVW"& ' 	'r   c                 X    	 | j                   j                  | j                  dd||       y )Nr"  r  rr  )rM   r;  r;  s      r   mark_setzText.mark_set  s!    >TWWfeXu=r   c                 \    	 | j                   j                  | j                  ddf|z          y )Nr"  unsetrr  )rM   	markNamess     r   
mark_unsetzText.mark_unset  s%    ,dggvw/);<r   c                 \    	 | j                   j                  | j                  dd|      xs d S )Nr"  nextrr  r]  s     r   	mark_nextzText.mark_next  s'    ;ww||DGGVVU;CtCr   c                 \    	 | j                   j                  | j                  dd|      xs d S )Nr"  previousrr  r]  s     r   mark_previouszText.mark_previous  s'    @ww||DGGVZ?G4Gr   c                 z    	  | j                   j                  | j                  dd|g| j                  ||        y )Npeerr  rL  )rM   newPathNamer.   rl  s       r   peer_createzText.peer_create!  s;    	L 	TWWfh 	%]]3#	%r   c                     	 | j                   j                  | j                   j                  | j                  dd            S )NrM  rc  r  rL   s    r   
peer_nameszText.peer_names)  s1    	ww  dggvw!GHHr   c                 \    	  | j                   j                  | j                  d|||g|  y )Nr   rr  )rM   r  r  r8  rk  s        r   r   zText.replace.  s,    	<
 	TWWiFFr   c                 X    	 | j                   j                  | j                  dd||       y r   rr  rE  s      r   r#  zText.scan_mark6  r$  r   c                 X    	 | j                   j                  | j                  dd||       y r&  rr  rE  s      r   r)  zText.scan_dragto:  r  r   c                 F   	 | j                   dg}|r|j                  d       |r|j                  d       |r|j                  d       |r|j                  d       |r|j                  d       |
r|j                  d       |	r"|j                  d       |j                  |	       |r|d	   d
k(  r|j                  d       |j                  |       |j                  |       |r|j                  |       t        | j                  j	                  t        |                  S )Nr   z	-forwardsz
-backwardsz-exactz-regexpz-nocasez-elidez-countr   r6   r  )rs  r   r   r;   r  r   )rM   r  r;  	stopindexforwards	backwardsexactregexpnocaserm  eliderk  s               r   r   zText.search@  s    	 "T[[-dkk,/$++h'4;;y)4;;y)$++h'$++h'U);wqzS($++d*;GEdkk),477<<d,--r   c                 T    	 | j                   j                  | j                  d|       y r  rr  r]  s     r   r  zText.seeT  s    ATWWeU+r   c                 `    	 | j                   j                  | j                  dd||f|z          y )Ntagr&  rr  )rM   tagNamer  rk  s       r   tag_addzText.tag_addX  s.    	;WWeUGV4t;	=r   c                 F    	 | j                  | j                  dd||f|      S Nr_  r  r  )rM   r`  r  r  s       r   r  zText.tag_unbind^  s'    	,||TWWeVWhGPPr   c                 H    	 | j                  | j                  dd|f|||      S rc  r  rM   r`  r  r  r&  s        r   r  zText.tag_bindc  s1    	I
 zz477E67;D#' 	'r   c                 F    | j                  | j                  dd|f|||      S rc  r  re  s        r   	_tag_bindzText._tag_bindl  s)    zz477E67;D#' 	'r   c                     	 |d d dk7  rd|z   }|dd  dk(  r|d d }| j                   j                  | j                  dd||      S )Nr   r6   r  r  r_  r  rr  )rM   r`  r  s      r   tag_cgetzText.tag_cgetq  sT    9"1:6\F"#;#CR[Fww||DGGUFGVDDr   c                 0    	 | j                  dd|f||      S )Nr_  r  r  )rM   r`  r.   rl  s       r   tag_configurezText.tag_configurey  s    &{G<c2FFr   c                 \    	 | j                   j                  | j                  ddf|z          y )Nr_  rX  rr  )rM   tagNamess     r   
tag_deletezText.tag_delete  s%    *dgguh/(:;r   c                 X    	 | j                   j                  | j                  dd||       y )Nr_  r  rr  )rM   r`  r  s      r   r  zText.tag_lower  s#    	+TWWeWgyAr   c                     	 | j                   j                  | j                   j                  | j                  dd|            S )Nr_  rc  r  r]  s     r   	tag_nameszText.tag_names  s6    -ww  GGLL%%8: 	:r   c           
          	 | j                   j                  | j                   j                  | j                  dd|||            S )Nr_  	nextranger  rM   r`  r  r  s       r   tag_nextrangezText.tag_nextrange  sC    	5 ww  GGUK&&"B C 	Cr   c           
          	 | j                   j                  | j                   j                  | j                  dd|||            S )Nr_  	prevranger  rt  s       r   tag_prevrangezText.tag_prevrange  sC    	7 ww  GGUK&&"B C 	Cr   c                 X    	 | j                   j                  | j                  dd||       y )Nr_  r  rr  )rM   r`  r  s      r   r  zText.tag_raise  s&    	+GGUGWi	9r   c                     	 | j                   j                  | j                   j                  | j                  dd|            S )Nr_  rangesr  )rM   r`  s     r   
tag_rangeszText.tag_ranges  s8    Eww  GGUHg"/ 0 	0r   c                 Z    	 | j                   j                  | j                  dd|||       y )Nr_  r-  rr  rt  s       r   
tag_removezText.tag_remove  s&    OGGUHgvv	?r   c                     	 |d d dk7  rd|z   }|dd  dk(  r|d d }| j                   j                  | j                  dd||      S )Nr   r6   r  r  rq  r  rr  r  s      r   window_cgetzText.window_cget  sT    H"1:6\F"#;#CR[Fww||DGGXvufEEr   c                 0    	 | j                  dd|f||      S )Nrq  r  r  rA  s       r   window_configurezText.window_configure  s    4+u=sBGGr   c                 ~    	 | j                   j                  | j                  dd|f| j                  ||      z          y )Nrq  r  rL  rA  s       r   window_createzText.window_create  s8    'ww(E2c2&'	(r   c                     	 | j                   j                  | j                   j                  | j                  dd            S )Nrq  rc  r  rL   s    r   window_nameszText.window_names  s4    Bww  GGLL(G46 	6r   c                 \    	 | j                   j                  | j                  ddf|z          y )Nr  z
-pickplacerr  )rM   r   s     r   yview_pickplacezText.yview_pickplace  s%    )dggw5<=r   r   rl  )NNNNNNNNrA  ):rO   rP   rQ   r  r/  r  rm  r  rX  r  r  r  r"  r%  r(  r*  r-  r  r0  r2  r4  rd  r;  r
  r=  r?  rA  rE  rH  rK  rO  rQ  r   r#  r)  r   r  ra  r  r  rg  ri  rk  
tag_configrn  r  rq  ru  rx  r  r|  r~  r  r  window_configr  r  r  r    r   r   r	  r	  2  sI   >" 72>5(08H%.P4	*!"
&	!<
EG ') *7:?
?'
>=DH ,. %I
G46 04047;.(,=Q
''
EG J<B
:
CC90
?
FH %M') (6
>r   r	  c                       e Zd Z	 ddZd Zy)_setitNc                 .    || _         || _        || _        y r   )_setit__value_setit__var_setit__callback)rM   varr   r   s       r   r  z_setit.__init__  s    
"r   c                     | j                   j                  | j                         | j                   | j                  | j                  g|  y y r   )r  r  r  r  rw  s     r   r  z_setit.__call__  s<    

t||$??&DOODLL040 'r   r   rx  r    r   r   r  r    s    H#
1r   r  c                        e Zd Z	 d Zd Zd Zy)
OptionMenuc           	         	 d|dt         ddd}t        j                  | |d|       d| _        t	        | dd	      x}| _        |j                  | _        |j                  d
      }d
|v r|d
= |r t        dt        t        |            z         |j                  |t        |||             |D ]   }	|j                  |	t        ||	|             " || d<   y )Nr5   r   r/   )borderwidthtextvariableindicatoronreliefr,  highlightthicknessr  tk_optionMenur  r   )r   tearoffr  zunknown option -)r|  r  )RAISEDrw  r  rp  r  _OptionMenu__menurs  menunamer  r   rG  r9   r  r  )
rM   r   r'  r   r(  kwargsrl  r  r   r2   s
             r   r  zOptionMenu.__init__  s    	% &C$%' 	flB7)!$VQ??t{::i(y!-d4<.@@AAu%: 	 	<A1#Ha:  <  Vr   c                 P    |dk(  r| j                   S t        j                  | |      S r  )r  rw  rs  r  s     r   rs  zOptionMenu.__getitem__  s&    6>;;!!$--r   c                 >    	 t         j                  |        d | _        y r   )r  r   r  rL   s    r   r   zOptionMenu.destroy  s    :4 r   N)rO   rP   rQ   r  rs  r   r    r   r   r  r    s    I2.
r   r  c                   T    e Zd Z	 dZdi dfdZd Zd Zd Zd Zd Z	e	Z
d	 Zd
 Zd Zy)Imager   Nc                 r   d | _         |t        d      }t        |d|      | _        |s,t        xj
                  dz  c_        dt        j
                  }|r|rt        ||f      }n|r|}d}|j                         D ]  \  }}|d|z   |fz   } | j                  j                  dd||f|z          || _         y )	Nzcreate imager;   r   pyimager    r6   rb  r  )	r   r   r   r;   r  _last_idr3   r,   r  )	rM   imgtyper   r.   r   rl  r<  r1   r2   s	            r   r  zImage.__init__  s    	>&~6F&$/NNaN"'..2D#YRy1srIIKDAqQ
*G  gx$87BC	r   c                     | j                   S r   )r   rL   s    r   rN   zImage.__str__  s    dii'r   c                     | j                   r)	 | j                  j                  dd| j                          y y # t        $ r Y y w xY w)Nrb  rX  )r   r;   r  r   rL   s    r   r  zImage.__del__  s?    99Wh		:   s   '7 	AAc                 Z    | j                   j                  | j                  dd|z   |       y Nr  r6   r;   r  r   r  s      r   r  zImage.__setitem__  s     TYYSWe<r   c                 V    | j                   j                  | j                  dd|z         S r  r  r  s     r   rs  zImage.__getitem__  s!    ww||DII{CG<<r   c                     	 d}t        |      j                         D ]  \  }}|	|d   dk(  r|d d }|d|z   |fz   }! | j                  j                  | j                  df|z          y )Nr    r  r  r6   rr  )r3   r,   r;   r  r   )rM   rl  r#   r1   r2   s        r   r  zImage.configure"  sq    "bM'')DAq}R5C<QsVSUAJ& * 	dii*S01r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nrb  r   r;   rM  r  r   rL   s    r   r   zImage.height-  s2    -ww~~GGLL(DII68 	8r   c                 R    	 | j                   j                  dd| j                        S )Nrb  r'   r  rL   s    r   r'   z
Image.type2  s     Eww||GVTYY77r   c                     	 | j                   j                  | j                   j                  dd| j                              S )Nrb  r   r  rL   s    r   r   zImage.width6  s2    ,ww~~GGLL'49957 	7r   )rO   rP   rQ   r  r  rN   r  r  rs  r  rr  r   r'   r   r    r   r   r  r    sE     H%)r$   (==2 F8
87r   r  c                   f    e Zd Z	 di dfdZd Zd Zd Zd ZddZddZ	d	 Z
dd
ZddZd Zd Zy)
PhotoImageNc                 :    	 t        j                  | d|||fi | y )Nphotor  r  rM   r   r.   r   rl  s        r   r  zPhotoImage.__init__?  s"    	 	tWdC>2>r   c                 R    	 | j                   j                  | j                  d       y )Nblankr  rL   s    r   r  zPhotoImage.blankF  s    *TYY(r   c                 X    	 | j                   j                  | j                  dd|z         S r  r  )rM   r  s     r   r  zPhotoImage.cgetJ  s$    )ww||DIIvsV|<<r   c                 V    | j                   j                  | j                  dd|z         S r  r  r  s     r   rs  zPhotoImage.__getitem__O  s!    ww||DIIvsSy99r   c                     	 t        | j                        }| j                  j                  |d| j                         |S )Nr   copyr  r;   r  r   )rM   	destImages     r   r  zPhotoImage.copyS  s1    Idgg.	Y		2r   c                     	 t        | j                        }|dk(  r|}| j                  j                  |d| j                  d||       |S )Nr   r   r  z-zoomr  rM   r   r   r  s       r   zoomzPhotoImage.zoomY  sF    	 dgg.	b5A!Y		71Q?r   c                     	 t        | j                        }|dk(  r|}| j                  j                  |d| j                  d||       |S )Nr   r   r  z
-subsampler  r  s       r   	subsamplezPhotoImage.subsamplec  sF    	 dgg.	b5A!Y		<!Dr   c                 T    	 | j                   j                  | j                  d||      S r[  r  rE  s      r   r  zPhotoImage.getm  s"    Fww||DIIua33r   c                     	 | j                   d|f}|r|d   dk(  r|dd  }|dz   t        |      z   }| j                  j                  |       y )Nputr   -tor   )r  r   r   r;   r  )rM   r  r7  rk  s       r   r  zPhotoImage.putq  sS    	N		5$'!u~V(?U2Y.DTr   c                     	 | j                   d|f}|r|d|fz   }|r|dz   t        |      z   }| j                  j                  |       y )Nwritez-format)z-fromr  )rM   filenameformatfrom_coordsrk  s        r   r  zPhotoImage.write|  sP    	!		7H-9f--D*$u['99DTr   c           	          	 | j                   j                  | j                   j                  | j                  dd||            S )Ntransparencyr  )r;   r  r  r   rE  s      r   transparency_getzPhotoImage.transparency_get  s:    =ww!!$'',,II~ua#4 5 	5r   c                 Z    	 | j                   j                  | j                  dd|||       y )Nr  r  r  )rM   r   r   rd  s       r   transparency_setzPhotoImage.transparency_set  s#    7TYYq!WEr   r  r   rl  )rO   rP   rQ   r  r  r  rs  r  r  r  r  r  r  r  r  r    r   r   r  r  <  sI    G b ?)=
:45
Fr   r  c                       e Zd Z	 di dfdZy)BitmapImageNc                 :    	 t        j                  | d|||fi | y r  r  r  s        r   r  zBitmapImage.__init__  s#    	Y 	tXtS&?B?r   r  r    r   r   r  r    s    8 b @r   r  c                  n    t        d      j                  } | j                  | j                  dd            S )Nzuse image_names()rb  rc  r   r;   r7   r  r;   s    r   rd  rd    -    	.	/	2	2B<<122r   c                  n    t        d      j                  } | j                  | j                  dd            S )Nzuse image_types()rb  rf  r  r  s    r   rg  rg    r  r   c                       e Zd Z	 di fdZd ZddZd Zd Zd Zd Z	d	 Z
d
 Zd Zd Zd Zd Zd Zd ZddZd Zd Zd Zd Zy)SpinboxNc                 8    	 t         j                  | |d||       y )Nspinboxr  r  s       r   r  zSpinbox.__init__  s    	4 	fib9r   c                 x    	 | j                  | j                  j                  | j                  d|            xs d S r  rA  r]  s     r   r/  zSpinbox.bbox  s2    
	 }}TWW\\$''65ABJdJr   c                 T    	 | j                   j                  | j                  d||      S r  rr  rW  s      r   rX  zSpinbox.delete  s&    	 ww||DGGXud;;r   c                 P    	 | j                   j                  | j                  d      S r[  rr  rL   s    r   r  zSpinbox.get  s    *ww||DGGU++r   c                 R    	 | j                   j                  | j                  d|      S r  rr  r]  s     r   r  zSpinbox.icursor  s$    	
 ww||DGGY66r   c                 T    	 | j                   j                  | j                  d||      S r  rr  rE  s      r   r  zSpinbox.identify  s&    	 ww||DGGZA66r   c                 R    	 | j                   j                  | j                  d|      S r  rr  r]  s     r   r;  zSpinbox.index  s"    	ww||DGGWe44r   c                 T    	 | j                   j                  | j                  d||      S r	  rr  )rM   r;  r   s      r   r
  zSpinbox.insert  s&    	 ww||DGGXua88r   c                 R    	 | j                   j                  | j                  d|      S r  rr  rM   elements     r   r  zSpinbox.invoke  s$    	
 ww||DGGXw77r   c                 ~    	 | j                  | j                  j                  | j                  df|z               xs dS )Nr!  r    rA  rw  s     r   r!  zSpinbox.scan  r  r   c                 (    	 | j                  d|      S Nr"  r!  r:  s     r   r#  zSpinbox.scan_mark	  s    	 yy##r   c                 (    	 | j                  d|      S )Nr'  r  r:  s     r   r)  zSpinbox.scan_dragto  s    	 yy1%%r   c                 ~    	 | j                  | j                  j                  | j                  df|z               xs dS )Nr  r    rA  rw  s     r   r  zSpinbox.selection  s<     }}GGLL$'';/$679 ?<>	?r   c                 (    	 | j                  d|      S )Nr,  r  r]  s     r   rc  zSpinbox.selection_adjust#  s    
	 ~~h..r   c                 &    	 | j                  d      S )Nr  r  rL   s    r   r  zSpinbox.selection_clear1  s    	
 ~~g&&r   c                 T    	 | j                   j                  | j                  dd|      S )Nr  r  rr  r  s     r   selection_elementzSpinbox.selection_element9  s&    	
 ww||DGG[)WEEr   c                 *    	 | j                  d|       y )Nr2  r  r]  s     r   rg  zSpinbox.selection_fromA  s    8vu%r   c                     	 | j                   j                  | j                   j                  | j                  dd            S ri  r  rL   s    r   rk  zSpinbox.selection_presentE  rl  r   c                 ,    	 | j                  d||       y )Nrn  r  ro  s      r   rq  zSpinbox.selection_rangeK  s    Aws+r   c                 *    	 | j                  d|       y )Nr7  r  r]  s     r   rs  zSpinbox.selection_toO  s    ;tU#r   r   )rO   rP   rQ   r  r/  rX  r  r  r  r;  r
  r  r!  r#  r)  r  rc  r  r  rg  rk  rq  rs  r    r   r   r  r    sp    " ::K	<,775
98:
$
&?
/'F&;,$r   r  c                       e Zd Z	 di fdZy)
LabelFrameNc                 8    	 t         j                  | |d||       y )N
labelframer  r  s       r   r  zLabelFrame.__init__Y  s    	 	flC<r   r  r    r   r   r  r  V  s    " =r   r  c                   x    e Zd Z	 di fdZd Zd ZeZd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd ZddZeZd Zy)PanedWindowNc                 8    	 t         j                  | |d||       y )Npanedwindowr  r  s       r   r  zPanedWindow.__init__q  s    	 	fmS"=r   c                 z    	 | j                   j                  | j                  d|f| j                  |      z          y r  rL  )rM   r  rl  s      r   r&  zPanedWindow.add  s2    	 	dggue,t}}R/@@Ar   c                 T    	 | j                   j                  | j                  d|       y Nr  rr  )rM   r  s     r   r-  zPanedWindow.remove  s!    	 	TWWh.r   c                 T    	 | j                   j                  | j                  d||      S r  rr  rE  s      r   r  zPanedWindow.identify  s&    	 ww||DGGZA66r   c                 ~    	 | j                  | j                  j                  | j                  df|z               xs dS )Nproxyr    rA  rw  s     r   r  zPanedWindow.proxy  s<     }}GGLL$''7+d235 ;8:	;r   c                 &    	 | j                  d      S Ncoordr  rL   s    r   proxy_coordzPanedWindow.proxy_coord  s    	zz'""r   c                 &    	 | j                  d      S r  r  rL   s    r   proxy_forgetzPanedWindow.proxy_forget  s    	zz(##r   c                 *    	 | j                  d||      S Nr(  r  rE  s      r   proxy_placezPanedWindow.proxy_place  s    	zz'1a((r   c                 ~    	 | j                  | j                  j                  | j                  df|z               xs dS )Nsashr    rA  rw  s     r   r  zPanedWindow.sash  r  r   c                 (    	 | j                  d|      S r
  r  r]  s     r   
sash_coordzPanedWindow.sash_coord  s    
	 yy%((r   c                 (    	 | j                  d|      S r  r  r]  s     r   	sash_markzPanedWindow.sash_mark  s    	 yy''r   c                 ,    	 | j                  d|||      S r  r  )rM   r;  r   r   s       r   
sash_placezPanedWindow.sash_place  s    	yy%A..r   c                 b    	 | j                   j                  | j                  df|d|z   fz         S )Npanecgetr6   rr  )rM   r  r  s      r   r  zPanedWindow.panecget  s8    	 ww||WWj!UCJ$779 	9r   c                 $   	 ||s| j                  | j                  d|      S t        |t              r#|s!| j	                  | j                  d|d|z         S | j
                  j                  | j                  d|f| j                  ||      z          y )Npaneconfigurer6   )r  rs  r   r   r  r;   r  r  r  s       r   r  zPanedWindow.paneconfigure  s    B	F ;r%%dggHHc3&&'3s7< <dgg8sB'( 	)r   c                     	 | j                   j                  | j                   j                  | j                  d            S )Npanesr  rL   s    r   r!  zPanedWindow.panes)  s-    9ww  dggw!?@@r   r   )rO   rP   rQ   r  r&  r-  r  r  r  r  r  r  r  r  r  r  r  r  
paneconfigr!  r    r   r   r   r   n  sg    " > B/ F
7;
#
$
)
:
)(/
9J)X JAr   r   c                     t               } d| j                  d      z  }|dz  }t        | |      }|j                          t	        | d| fd      }|j                          || _        t	        | d| j                        }|j                          | j                          | j                          | j                          | j                          y )	NzThis is Tcl/Tk %stk_patchLevelu   
This should be a cedilla: çr  z	Click me!c                 Z    | j                   j                  d| j                   d   z        S )Nz[%s]r  r%  )testr  r   s    r   <lambda>z_test.<locals>.<lambda>7  s)    		(;(;		& 11 )< )3r   )r  r  QUIT)r   r  rz  r  r   r'  r   r  r(   r  r[  )r   r  r|  r'  r  s        r   _testr*  0  s    4D!2!2?!CCD..D$T"E	JJL$["& 34D 	IIKDI$VT\\:DIIK 	LLNKKMNNMMOr   r  >   r  __main__)TNr   ri  )NNr   F)fcollectionsenumr  rf  r6  r   tkinter.constantsrW   r  r  floatr$  	TkVersionr%  
TclVersionREADABLEWRITABLE	EXCEPTIONcompiler   ASCIIr   r   r	   r!   r)   r3   rA   
namedtuplerC   r]   _simple_enumStrEnumr_   r   r   r   r   r   r   r   r   r   r  r   rC  rJ  rP  rT  r[  rZ   rM  rN  r  r^  r  rz  r  r  r   r=  r  rH  rJ  rW  r_  ri  rw  ry  r   r  rC  r>  rS  rw  rz  r~  r  r  r  r  r  r  r	  r  r  r  r  r  rd  rg  r  r  r   r*  globalsr,   r  r   
ModuleType__all__rO   )r   objs   00r   <module>r>     s@  @   
    		(%%&	8''(
	 BJJ{#	BJJy"((+	,
8 !!X$ ##Y.S-{--.@=? SG 4<< ' ' !'TO
 O
d  	"	
 q+ q+h 02X 22E E*A A<:
 
	=A AD(, ,,? ?*? ?*m m`	p&r p&f !$

 ,6+, +,\0. 0.f4, 4,n>4 >4B	Zud 	8z2 8<,/V ,/^q>VUE q>h	  .(& .(bSFE Sl?F ?(8F 80qfeU qh~*6 ~*B= =:f :(& (B$7F $7N/2 /2dT>65% T>n1 1$ $N;7 ;7|QF QFh@% @3
3
m$fe m$d= =0}A& }AD* ")!2 ,!2ID#//#&z#u?O?O/P?* !2 , z	G EO  t ,  t PN,s*   /M1 >M= +4N	1M:9M:=NN