+
    öÙ†jå-  ã                   óú   € R t ^ RI5 ^ RIHtHt ^ RIHt  ! R R4      t ! R R]4      tRR	 ltR
 t	 ! R R]4      t
 ! R R]
4      tR t ! R R]
4      tR t ! R R]
4      tR t]R8X  d   R t]! 4        R# R# )a&  This modules handles dialog boxes.

It contains the following public symbols:

SimpleDialog -- A simple but flexible modal dialog box

Dialog -- a base class for dialogs

askinteger -- get an integer from the user

askfloat -- get a float from the user

askstring -- get a string from the user
)Ú*)Ú_get_temp_rootÚ_destroy_temp_root)Ú
messageboxc                   óN   a € ] tR t^t o R. RRRR3R ltR tR tR tR tRt	V t
R# )	ÚSimpleDialogÚ Nc                óò  € V'       d   \        WR 7      V n        M\        V4      V n        V'       d7   V P                  P                  V4       V P                  P                  V4       \	        V P                  4       \        V P                  VRR7      V n        V P                  P                  ^\        R7       \        V P                  4      V n
        V P                  P                  4        W@n        WPn        W@n        V P                  P                  RV P                  4       \!        \#        V4      4       F`  pW8,          p	\%        V P                  V	W3R lR7      p
W„8X  d   V
P'                  \(        ^R7       V
P                  \*        \        ^R7       Kb  	  V P                  P-                  R	V P.                  4       V P                  P1                  V4       \3        V P                  V4       R
# ))Úclass_i�  )ÚtextÚaspect)ÚexpandÚfillú<Return>c                 ó$   € V P                  V4      # ©N)Údone©ÚselfÚnums   &&Ú+/usr/lib/python3.14/tkinter/simpledialog.pyÚ<lambda>Ú'SimpleDialog.__init__.<locals>.<lambda>9   s   € ¸4¿9¹9ÀS¼>ó    ©r   Úcommand)ÚreliefÚborderwidth)Úsider   r   ÚWM_DELETE_WINDOWN)ÚToplevelÚrootÚtitleÚiconnameÚ_setup_dialogÚMessageÚmessageÚpackÚBOTHÚFrameÚframer   ÚcancelÚdefaultÚbindÚreturn_eventÚrangeÚlenÚButtonÚconfigÚRIDGEÚLEFTÚprotocolÚwm_delete_windowÚ	transientÚ_place_window)r   Úmasterr   Úbuttonsr,   r+   r"   r
   r   ÚsÚbs   &&&&&&&&   r   Ú__init__ÚSimpleDialog.__init__!   sW  € ÷ Ü  Ô7ˆD�Iä  Ó(ˆDŒIßØ�I‰I�O‰O˜EÔ"Ø�I‰I×Ñ˜uÔ%ä�d—i‘iÔ ä˜tŸy™y¨t¸CÔ@ˆŒØ�‰×Ñ ¬ÐÔ.Ü˜4Ÿ9™9Ó%ˆŒ
Ø�
‰
�‰ÔØŒØŒØŒØ�	‰	�‰�z 4×#4Ñ#4Ô5Üœ˜W›Ö&ˆCØ•ˆAÜ�t—z‘z¨Ø,0Ó IôLˆAàŒ~Ø—‘¤°1�Ô5Ø�F‰Fœ¤4°ˆFÖ2ñ 'ð 	�	‰	×ÑÐ-¨t×/DÑ/DÔEØ�	‰	×Ñ˜FÔ#Ü�d—i‘i Ö(r   c                óê   € V P                   P                  4        V P                   P                  4        V P                   P                  4        V P                   P	                  4        V P
                  # r   )r!   Úwait_visibilityÚgrab_setÚmainloopÚdestroyr   ©r   s   &r   ÚgoÚSimpleDialog.goA   sK   € Ø�	‰	×!Ñ!Ô#Ø�	‰	×ÑÔØ�	‰	×ÑÔØ�	‰	×ÑÔØ�x‰xˆr   c                ó�   € V P                   f   V P                  P                  4        R # V P                  V P                   4       R # r   )r,   r!   Úbellr   ©r   Úevents   &&r   r.   ÚSimpleDialog.return_eventH   s*   € Ø�<‰<ÒØ�I‰I�N‰NÖà�I‰I�d—l‘lÖ#r   c                ó�   € V P                   f   V P                  P                  4        R # V P                  V P                   4       R # r   )r+   r!   rH   r   rD   s   &r   r6   ÚSimpleDialog.wm_delete_windowN   s*   € Ø�;‰;ÒØ�I‰I�N‰NÖà�I‰I�d—k‘kÖ"r   c                óF   € Wn         V P                  P                  4        R # r   )r   r!   Úquitr   s   &&r   r   ÚSimpleDialog.doneT   s   € ØŒØ�	‰	�‰Ör   )r+   r,   r*   r&   r   r!   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r=   rE   r.   r6   r   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      s4   ø‡ € ð  "¨d¸4Ø Dô)ò@ò$ò#÷ð r   r   c                   ó`   a € ] tR t^Yt o RtRR ltR tR tR tRR lt	RR lt
R	 tR
 tRtV tR# )ÚDialogzRClass to open dialogs.

This class is intended as a base class for custom dialogs
Nc                ó¼  € TpVf   \        4       p\        P                  W4       V P                  4        Ve(   VP	                  4       '       d   V P                  V4       V'       d   V P                  V4       \        V 4       Wn        RV n	        \        V 4      pV P                  V4      V n        VP                  ^^R7       V P                  4        V P                  f   W n        V P                  RV P                   4       \#        W4       V P                  P%                  4        V P'                  4        V P)                  4        V P+                  V 4       R# )zxInitialize a dialog.

Arguments:

    parent -- a parent window (the application window)

    title -- the dialog title
N)ÚpadxÚpadyr   )r   r    r=   ÚwithdrawÚwinfo_viewabler7   r"   r$   ÚparentÚresultr)   ÚbodyÚinitial_focusr'   Ú	buttonboxr5   r+   r8   Ú	focus_setr@   rA   Úwait_window)r   r`   r"   r9   rb   s   &&&  r   r=   ÚDialog.__init__`   s	  € ð ˆØŠ>Ü#Ó%ˆFä×Ñ˜$Ô'à�‰Œð Ò &×"7Ñ"7×"9Ò"9Ø�N‰N˜6Ô"çØ�J‰J�uÔä�dÔàŒàˆŒä�T‹{ˆØ!ŸY™Y t›_ˆÔØ�	‰	�q˜qˆ	Ô!à�‰Ôà×ÑÒ%Ø!%Ôà�‰Ð(¨$¯+©+Ô6ä�dÔ#à×Ñ×$Ñ$Ô&ð 	×ÑÔØ�‰ŒØ×Ñ˜Ör   c                óh   € RV n         \        P                  V 4       \        V P                  4       R# )zDestroy the windowN)rc   r    rC   r   r9   rD   s   &r   rC   ÚDialog.destroy“   s$   € à!ˆÔÜ×Ñ˜ÔÜ˜4Ÿ;™;Ö'r   c                ó   € R# )z‹create dialog body.

return widget that should have initial focus.
This method should be overridden, and is called
by the __init__ method.
N© )r   r9   s   &&r   rb   ÚDialog.bodyœ   ó   € ñ 	r   c                óz  € \        V 4      p\        VR^
V P                  \        R7      pVP	                  \
        ^^R7       \        VR^
V P                  R7      pVP	                  \
        ^^R7       V P                  RV P                  4       V P                  RV P                  4       VP	                  4        R# )	zKadd standard button box.

override if you do not want the standard buttons
ÚOK)r   Úwidthr   r,   )r   r\   r]   ÚCancel)r   rp   r   r   z<Escape>N)r)   r1   ÚokÚACTIVEr'   r4   r+   r-   )r   ÚboxÚws   &  r   rd   ÚDialog.buttonbox¥   sˆ   € ô �D‹kˆä�3˜T¨°T·W±WÄfÔMˆØ	�‰”D˜q qˆÔ)Ü�3˜X¨R¸¿¹ÔEˆØ	�‰”D˜q qˆÔ)à�	‰	�*˜dŸg™gÔ&Ø�	‰	�*˜dŸk™kÔ*à�‰Ž
r   c                ó  € V P                  4       '       g   V P                  P                  4        R # V P                  4        V P	                  4         V P                  4        V P                  4        R #   T P                  4        i ; ir   )Úvalidaterc   re   r^   Úupdate_idletasksÚapplyr+   rI   s   &&r   rr   Ú	Dialog.okº   sX   € à�}‰}�ŠØ×Ñ×(Ñ(Ô*Ùà�‰ŒØ×ÑÔð	Ø�J‰JŒLà�K‰KŽMøˆD�K‰K�Mús   ÁA6 Á6Bc                óv   € V P                   e   V P                   P                  4        V P                  4        R # r   )r`   re   rC   rI   s   &&r   r+   ÚDialog.cancelÈ   s'   € ð �;‰;Ò"Ø�K‰K×!Ñ!Ô#Ø�‰Žr   c                ó   € ^# )z�validate the data

This method is called automatically to validate the data before the
dialog is destroyed. By default, it always validates OK.
rk   rD   s   &r   rx   ÚDialog.validateÒ   s   € ñ r   c                ó   € R# )z‰process the data

This method is called automatically to process the data, *after*
the dialog is destroyed. By default, it does nothing.
Nrk   rD   s   &r   rz   ÚDialog.applyÛ   rm   r   )rc   r`   ra   r   )rQ   rR   rS   rT   Ú__doc__r=   rC   rb   rd   rr   r+   rx   rz   rU   rV   rW   s   @r   rZ   rZ   Y   s8   ø‡ € ñô
1òf(òòô*ôò÷ð r   rZ   Nc                 óÀ  € V P                  4        V P                  4        V P                  4       pV P                  4       pV P	                  4       pV P                  4       pVEe   VP                  4       '       dí   VP                  4       VP                  4       V,
          ^,          ,           pVP                  4       VP                  4       V,
          ^,          ,           pV P                  4       pV P                  4       p	\        WhV,           V,
          4      p\        Wh4      p\        WyV,           V,
          4      p\        Wy4      pV P                  R8X  d   \        V^4      pM<V P!                  4       V,
          ^,          pV P#                  4       V,
          ^,          pV P%                  WE4       V P'                  RWg3,          4       V P)                  4        R # )NÚaquaz+%d+%d)Úwm_withdrawry   Úwinfo_reqwidthÚwinfo_reqheightÚwinfo_vrootwidthÚwinfo_vrootheightÚwinfo_ismappedÚwinfo_rootxÚwinfo_widthÚwinfo_rootyÚwinfo_heightÚwinfo_vrootxÚwinfo_vrootyÚminÚmaxÚ_windowingsystemÚwinfo_screenwidthÚwinfo_screenheightÚ
wm_maxsizeÚwm_geometryÚwm_deiconify)
ru   r`   ÚminwidthÚ	minheightÚmaxwidthÚ	maxheightÚxÚyÚvrootxÚvrootys
   &&        r   r8   r8   ç   st  € Ø‡M�M„OØ×ÑÔà×ÑÓ!€HØ×!Ñ!Ó#€IØ×!Ñ!Ó#€HØ×#Ñ#Ó%€IØÓ˜f×3Ñ3×5Ò5Ø×ÑÓ  F×$6Ñ$6Ó$8¸8Õ$CÈÕ#IÕIˆØ×ÑÓ  F×$7Ñ$7Ó$9¸IÕ$EÈ!Õ#KÕKˆØ—‘Ó!ˆØ—‘Ó!ˆÜ�˜HÕ$ xÕ/Ó0ˆÜ�‹NˆÜ�˜IÕ%¨	Õ1Ó2ˆÜ�‹NˆØ×Ñ Ô'ä�A�r“
ˆAøà× Ñ Ó" XÕ-°!Õ3ˆØ×!Ñ!Ó# iÕ/°AÕ5ˆà‡L�L�Ô%Ø‡M�M�(˜a˜VÕ#Ô$Ø‡N�NÖr   c                 ó´   € V P                   R 8X  d"   V P                  P                  RRV RR4       R# V P                   R8X  d   V P                  RR7       R# R# )	r„   z!::tk::unsupported::MacWindowStyleÚstyleÚmoveableModalr   Úx11Údialog)ÚtypeN)r“   ÚtkÚcallÚwm_attributes)ru   s   &r   r$   r$     sM   € Ø×Ñ˜VÔ#Ø	�‰�	‰	Ð5°wØ�_ bö	*à	
×	Ñ	˜uÔ	$Ø	�‰˜XˆÖ&ñ 
%r   c                   ó<   a € ] tR tRt o RR ltR tR tR tRtV t	R# )	Ú_QueryDialogi  Nc                ób   € W n         W@n        WPn        W0n        \        P                  WV4       R # r   )ÚpromptÚminvalueÚmaxvalueÚinitialvaluerZ   r=   )r   r"   r­   r°   r®   r¯   r`   s   &&&&&&&r   r=   Ú_QueryDialog.__init__  s'   € ð
 ŒØ ŒØ Œà(Ôä�‰˜ eÖ,r   c                ó>   € R V n         \        P                  V 4       R # r   )ÚentryrZ   rC   rD   s   &r   rC   Ú_QueryDialog.destroy  s   € ØˆŒ
Ü�‰�tÖr   c                ó¦  € \        WP                  \        R 7      pVP                  ^ ^\        R7       \        VRR7      V n        V P                  P                  ^^\        \        ,           R7       V P                  eG   V P                  P                  ^ V P                  4       V P                  P                  ^ \        4       V P                  # ))r   Újustify)Úrowr\   Ústickyr³   )Úname)ÚLabelr­   r4   ÚgridÚWÚEntryr³   ÚEr°   ÚinsertÚselect_rangeÚEND)r   r9   ru   s   && r   rb   Ú_QueryDialog.body!  s�   € ä�&Ÿ{™{´DÔ9ˆØ	�‰�1˜1¤QˆÔ'ä˜6¨Ô0ˆŒ
Ø�
‰
�‰˜A A¬a´­cˆÔ2à×ÑÒ(Ø�J‰J×Ñ˜a ×!2Ñ!2Ô3Ø�J‰J×#Ñ# A¤sÔ+à�z‰zÐr   c                óÔ  €  V P                  4       pT P
                  e=   YP
                  8  d-   \        P                  ! RRT P
                  ,          T R7       ^ # T P                  e=   YP                  8”  d-   \        P                  ! RRT P                  ,          T R7       ^ # Yn        ^#   \         d/    \        P                  ! R T P                  R,           T R7        ^ # i ; i)zIllegal valuez
Please try again)r`   z	Too smallz2The allowed minimum value is %s. Please try again.z	Too largez2The allowed maximum value is %s. Please try again.)Ú	getresultÚ
ValueErrorr   ÚshowwarningÚerrormessager®   r¯   ra   )r   ra   s   & r   rx   Ú_QueryDialog.validate/  sÐ   € ð	Ø—^‘^Ó%ˆFð �=‰=Ò$¨·-±-Ô)?Ü×"Ò"Øð$Ø&*§m¡mõ4àõ	ñ à�=‰=Ò$¨·-±-Ô)?Ü×"Ò"Øð$Ø&*§m¡mõ4àõ	ñ àŒáøô9 ô 	Ü×"Ò"ØØ×!Ñ!Ð$8Õ8Øõò
 ð	ús   ‚B. Â.5C'Ã&C')r³   r°   r¯   r®   r­   ra   )NNNN)
rQ   rR   rS   rT   r=   rC   rb   rx   rU   rV   rW   s   @r   r«   r«     s   ø‡ € ô-òò÷ð r   r«   c                   ó*   a € ] tR tRt o RtR tRtV tR# )Ú_QueryIntegeriQ  zNot an integer.c                óT   € V P                  V P                  P                  4       4      # r   )Úgetintr³   ÚgetrD   s   &r   rÄ   Ú_QueryInteger.getresultT  s   € Ø�{‰{˜4Ÿ:™:Ÿ>™>Ó+Ó,Ð,r   rk   N©rQ   rR   rS   rT   rÇ   rÄ   rU   rV   rW   s   @r   rÊ   rÊ   Q  s   ø‡ € Ø$€L÷-ð -r   rÊ   c                ó2   € \        W3/ VB pVP                  # )z¤get an integer from the user

Arguments:

    title -- the dialog title
    prompt -- the label text
    **kw -- see SimpleDialog class

Return value is an integer
)rÊ   ra   ©r"   r­   ÚkwÚds   &&, r   Ú
askintegerrÔ   X  s   € ô 	�eÑ* rÑ*€AØ�8‰8€Or   c                   ó*   a € ] tR tRt o RtR tRtV tR# )Ú_QueryFloatig  zNot a floating-point value.c                óT   € V P                  V P                  P                  4       4      # r   )Ú	getdoubler³   rÍ   rD   s   &r   rÄ   Ú_QueryFloat.getresultj  s   € Ø�~‰~˜dŸj™jŸn™nÓ.Ó/Ð/r   rk   NrÏ   rW   s   @r   rÖ   rÖ   g  s   ø‡ € Ø0€L÷0ð 0r   rÖ   c                ó2   € \        W3/ VB pVP                  # )zžget a float from the user

Arguments:

    title -- the dialog title
    prompt -- the label text
    **kw -- see SimpleDialog class

Return value is a float
)rÖ   ra   rÑ   s   &&, r   ÚaskfloatrÛ   n  s   € ô 	�EÑ( RÑ(€AØ�8‰8€Or   c                   ó2   a € ] tR tRt o R tR tR tRtV tR# )Ú_QueryStringi}  c                óz   € R V9   d   VR ,          V n         VR  MRV n         \        P                  ! V .VO5/ VB  R# )ÚshowN)Ú_QueryString__showr«   r=   )r   ÚargsrÒ   s   &*,r   r=   Ú_QueryString.__init__~  s:   € Ø�RŒ<Ø˜V�*ˆDŒKØ�6‘
àˆDŒKÜ×Ò˜dÐ0 TÒ0¨RÔ0r   c                ó„   € \         P                  W4      pV P                  e   VP                  V P                  R7       V# )N)rß   )r«   rb   rà   Ú	configure)r   r9   r³   s   && r   rb   Ú_QueryString.body†  s3   € Ü×!Ñ! $Ó/ˆØ�;‰;Ò"Ø�O‰O §¡ˆOÔ-Øˆr   c                ó6   € V P                   P                  4       # r   )r³   rÍ   rD   s   &r   rÄ   Ú_QueryString.getresultŒ  s   € Ø�z‰z�~‰~ÓÐr   )Ú__showN)	rQ   rR   rS   rT   r=   rb   rÄ   rU   rV   rW   s   @r   rÝ   rÝ   }  s   ø‡ € ò1ò÷ ð  r   rÝ   c                ó2   € \        W3/ VB pVP                  # )z get a string from the user

Arguments:

    title -- the dialog title
    prompt -- the label text
    **kw -- see SimpleDialog class

Return value is a string
)rÝ   ra   rÑ   s   &&, r   Ú	askstringrê   �  s   € ô 	�UÑ) bÑ)€AØ�8‰8€Or   Ú__main__c                  óÒ   € \        4       p V 3R  lp\        V RVR7      pVP                  4        \        V RVP                  R7      pVP                  4        VP	                  4        R# )c           	      óæ   € \        V R . R
O^ ^RR7      p\        VP                  4       4       \        \        RR^�R7      4       \        \	        RR^^dR7      4       \        \        RR4      4       R	# )z‘This is a test dialog.  Would this have been an actual dialog, the buttons below would have been glowing in soft pink light.
Do you believe this?zTest Dialog)r   r:   r,   r+   r"   ÚSpamz	Egg count)r°   zEgg weight
(in tons))r®   r¯   z	Egg labelN)ÚYesÚNorq   )r   ÚprintrE   rÔ   rÛ   rê   )r!   rÓ   s   & r   ÚdoitÚtest.<locals>.doit£  si   € Ü˜Tð5ò
 "9Ø!"Ø !Ø,ô	.ˆAô �!—$‘$“&ŒMÜ”*˜V [¸uÔEÔFÜ”(˜6Ð#:ÀQØ$'ô)ô *ä”)˜F KÓ0Ö1r   ÚTestr   ÚQuitN)ÚTkr1   r'   rO   rB   )r!   rò   ÚtÚqs       r   Útestrù   ¡  sN   € Ü‹tˆØô 	2ô  �4˜f¨dÔ3ˆØ	�‰ŒÜ�4˜f¨a¯f©fÔ5ˆØ	�‰ŒØ	�
‰
Žr   r   )r‚   Útkinterr   r   r   r   r    rZ   r8   r$   r«   rÊ   rÔ   rÖ   rÛ   rÝ   rê   rQ   rù   rk   r   r   Ú<module>rû      s–   ðñô ß 6Ý ÷7ñ 7ôtIˆXô Iô\ò:'ô@�6ô @ôF-�Lô -òô0�,ô 0òô �<ô  ò&ð ˆzÔòñ0 	†Fñ5 r   