HEX
Server: Apache
System: Linux bd12.noc223.com 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User: handcraf (1693)
PHP: 8.1.28
Disabled: NONE
Upload Files
File: //opt/alt/python312/lib64/python3.12/turtledemo/__pycache__/__main__.cpython-312.opt-2.pyc
�

�h�e�;���	ddlZddlZddl�ddlmZmZddlmZddlm	Z	ddl
mZddl
Z
ejjejj!e��Zej&dk(ZdZd	Zd
ZdZdZd
defZdZgd�ZdZdZgd�Z d�Z!defdefde
jffZ"Gd�de#�Z$d�Z%e&dk(re%�yy)�N)�*)�ColorDelegator�color_config)�
Percolator)�	view_text)�__doc__�darwin������Arial�)rr�bold)zLucida Console�
�normal��d)��	r�r������c��tjt�D�cgc] }|jd�r
|ddk7r|dd��"c}Scc}w)Nz.pyr�_���)�os�listdir�demo_dir�endswith)�entrys �:/opt/alt/python312/lib64/python3.12/turtledemo/__main__.py�getExampleEntriesr(tsF��$&�J�J�x�$8�7�5��N�N�5�!�e�A�h�#�o�
�#�2�J�7�7��7s�%AzTurtledemo helpzAbout turtledemozAbout turtle modulec��eZdZdd�Zd�Zd�Zd�Zd�Zdd�Zdd�Z	d	�Z
dd
�Zd�Zd�Z
d
�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�
DemoWindowNc
�N�t�x|_x}t_|j	d�|jd|j�trTddl}|jdddddjtj��ddg|j|j�	�|jdd
��|jdd
��|jd
dd
�
�|jddd
�
�|jddd
�
�t!|t"d��|_|j$j'|j)|j$�dd��|j$j'|j+|j$�dd��|j$j'|j-|j$�dd��|j$|d<t/|t0dt2d��}|j5|j7|��|j5|j9|��|j;ddd��t=|d
ddddt>��|_ trjtC|d tDd!|jF�"�|_$tC|d#tDd!|jJ�"�|_&tC|d$tDd!|jN�"�|_(nltC|d tDd%d&|jF�'�|_$tC|d#tDd%d&|jJ�'�|_&tC|d$tDd%d&|jN�'�|_(|j@j;d
ddd(�)�|jHj;d
d
d*�+�|jLj;d
dd*�+�|jPj;d
dd*�+�tS|jT�jWtY��d,|_-d,|_.|r|j_|�|jatbtbtbd-d.�td|_3y)/NzPython turtle-graphics examples�WM_DELETE_WINDOWr�	osascriptz-ez tell application "System Events"z>set frontmost of the first process whose unix id is {} to truezend tell)�stderr�stdoutr
)�weight�Z)�minsizer0rr)�relief�borderwidth�Examples)�menu�label�	underline�Fontsize�Helpr6rz#ddd)�orient�	sashwidth�
sashrelief�bgr
�news)�row�
columnspan�stickyz --- z#ddf)r�r)�height�textr>�fontr4r3z START z#00cc22)rErF�fg�commandz STOP z CLEAR �whitez#fed)rErFrG�disabledforegroundrH)rr)r@�columnrB�padx�ew)r@rKrBFzChoose example from menu�black)4�Tk�root�turtle�_root�title�wm_protocol�_destroyr	�
subprocess�run�formatr"�getpid�DEVNULL�grid_rowconfigure�grid_columnconfigure�Menu�RAISED�mBar�add_cascade�makeLoadDemoMenu�makeFontMenu�makeHelpMenu�PanedWindow�
HORIZONTAL�SOLID�add�
makeTextFrame�makeGraphFrame�grid�Label�RIDGE�
output_lbl�Button�btnfont�	startDemo�	start_btn�stopIt�stop_btn�clearCanvas�	clear_btnrrE�insertfilterr�dirty�exitflag�loadfile�	configGUI�DISABLED�STARTUP�state)�self�filenamerPrV�panes     r'�__init__zDemoWindow.__init__�s���*,�$�.��	�.�D�6�<��
�
�4�5����+�T�]�]�;���
�N�N�#��@��6�6<�f�R�Y�Y�[�6I��j��&�-�-�%�-�-�
�	
0�	
���q���+��!�!�!�A�!�.��!�!�!�R��!�:��!�!�!�R��!�:��!�!�!�R��!�:���f�!�<��	��	�	���4�#8�#8����#C�$.�!�	�	=��	�	���4�#4�#4�T�Y�Y�#?�$.�!�	�	=��	�	���4�#4�#4�T�Y�Y�#?�$*�a�	�	9��y�y��V���4�
�a�&+��8������#�#�D�)�*�����$�$�T�*�+��	�	�a�A�f�	�5���a�g�&�%<�!�',�.����#�D�y�w�'0�$�.�.�J�D�N�"�4�h�W�&/����F�D�M�#�D�y�w�'0�D�<L�<L�N�D�N�$�D�y�w�'.�V�,0�N�N�<�D�N�#�4�h�W�&-�F�+/�;�;�8�D�M�$�D�y�w�'.�6�.2�.>�.>�@�D�N�	
������1�V�%��H�������!�D��9��
�
���q��4��8�������!�D��9��4�9�9��*�*�>�+;�<���
���
���M�M�(�#����x��8�1�7�	<���
�c�L�|jj�}|jj�}|jjd|j|z
z|jz�|jjd|j|z
z|jz�y)Ng�?)�canvas�winfo_width�winfo_height�xview_moveto�	canvwidth�yview_moveto�
canvheight)r~�event�cwidth�cheights    r'�onResizezDemoWindow.onResize�sx�����(�(�*���+�+�*�*�,����� � ��d�n�n�V�&;�!<�T�^�^�!K�L���� � ��d�o�o�g�&=�!>�t���!N�Or�c��t|�x|_}t|dddd��x|_}t	|�t|d��x|_}|j|d<|jtt�	�t|d
t��x|_}|j|d<|jtt�	�|j |d<|j |d
<t#t$�|d<t&rdnd}|j)d|z|j*�|j)d|z|j*�|j)d|z|j,�|j)d|z|j,�|j/d|j0�|j/d|j,�|j/d|j*�|jtt2d��|S)NrEr�none�-)�namerL�wrap�width�vbar)r�rH)�side�fill�hbar)r�r;�yscrollcommand�xscrollcommandrF�Command�Controlz
<%s-minus>z<%s-underscore>z
<%s-equal>z	<%s-plus>z<Control-MouseWheel>z<Control-Button-4>z<Control-Button-5>r
)r�r��expand)�Frame�
text_frame�TextrEr�	Scrollbarr��yview�pack�LEFT�Yrer��xview�BOTTOM�X�set�tuple�txtfontr	�bind_all�
decrease_size�
increase_size�bind�update_mousewheel�BOTH)r~rPr�rEr�r��shortcuts       r'rhzDemoWindow.makeTextFrame�s���',�T�{�2���*��
��a�%+�2�7�	7��	�D��T��$�Z�f�=�=��	�D��*�*��Y���	�	�t�!�	�$�$�Z�f�Z�P�P��	�D��*�*��Y���	�	�v�A�	�&�!%����
��!%����
���W�~��V�� &�9�I���
�
�l�X�-�t�/A�/A�B��
�
�'�(�2�D�4F�4F�G��
�
�l�X�-�t�/A�/A�B��
�
�k�H�,�d�.@�.@�A��	�	�(�$�*@�*@�A��	�	�&��(:�(:�;��	�	�&��(:�(:�;��	�	�t�$�q�	�1��r�c�
�|tj_d|_d|_tj
|dd|j|j�xtj_x|_}|j�|jjd|j�d|jd<tj�x|_
}tjj||�|gtj _|S)Ni�i iXz<Configure>rr4)rQ�_ScreenrRr�r��ScrolledCanvas�_canvasr��
adjustScrolls�_rootwindowr�r��Screen�screen�TurtleScreenr��	RawTurtle�screens)r~rPr�r�s    r'rizDemoWindow.makeGraphFrame�s���
 $�����������8>�8M�8M��c�3�������9A�	A�����	A���v����������
�t�}�}�=�()����}�%�%�}�}��.���f����$�$�V�V�4�$*�8���� ��
r�c�r�|td<tt�|jd<d|z|jd<y)Nr
rFzFont size %drE)r�r�rErm)r~�sizes  r'�set_txtsizezDemoWindow.set_txtsizes0�����
�!�'�N��	�	�&��"0�4�"7�����r�c�V�|jttddz
t��y�Nr
�break)r��maxr��MINIMUM_FONT_SIZE�r~�dummys  r'r�zDemoWindow.decrease_size�#������W�Q�Z�!�^�->�?�@�r�c�V�|jttddzt��yr�)r��minr��MAXIMUM_FONT_SIZEr�s  r'r�zDemoWindow.increase_sizer�r�c�p�|jdktk(r|j�S|j�S)Nr)�deltar	r�r�)r~r�s  r'r�zDemoWindow.update_mousewheels4��
�K�K�!�O�V��,��%�%�'�'��%�%�'�'r�c���trU|jj|��|jj|��|jj|��nx|jj||t
k(rdnd��|jj||t
k(rdnd��|jj||t
k(rdnd��|jj||��y)N)r}z#d00z#fca)r}r>)rErG)r	rq�configrsru�NORMALrm)r~�start�stop�clear�txt�colors      r'rzzDemoWindow.configGUIs�����N�N�!�!��!�.��M�M� � �t� �,��N�N�!�!��!�.��N�N�!�!��/4���V�F�
"�
L��M�M� � �t�.2�f�n�F�&�
!�
J��N�N�!�!��/4���V�F�
"�
L������C�E��2r�c�|��t|�}t�D]"}|f�fd�	}|j|dt|���$|S)Nc�(���j|�y�N)ry)r&r~s �r'�loadz)DemoWindow.makeLoadDemoMenu.<locals>.load*s����
�
�e�$r�r�r7r8rFrH)r]r(�add_command�menufont)r~�masterr6r&r�s`    r'razDemoWindow.makeLoadDemoMenu&sI����F�|��&�(�	:�E� �
%����5�A�"*�D�
�
:�	:�
�r�c�.��t|�}|jd�jt��|jd�jt��|j�tD]+}|f�fd�	}|jt|�dt|���-|S)NzDecrease (C-'-'))r7rHrFzIncrease (C-'+')c�(���j|�yr�)r�)r�r~s �r'�resizez'DemoWindow.makeFontMenu.<locals>.resize9s���� � ��&r�rr�)r]r�r�r�r��
add_separator�
font_sizes�str)r~r�r6r�r�s`    r'rbzDemoWindow.makeFontMenu0s�����F�|�����1�4�;M�;M�&�	�	(����1�4�;M�;M�&�	�	(������	<�D� �
'����3�t�9��"*�F�
�
<�	<�
�r�c�z��t|�}tD]%\}}||f�fd�	}|j|t|���'|S)Nc�4��t�j||�yr�)rrP)�
help_label�	help_filer~s  �r'�showz%DemoWindow.makeHelpMenu.<locals>.showCs����$�)�)�Z��;r�)r7rFrH)r]�help_entriesr�r�)r~r�r6r�r�r�s`     r'rczDemoWindow.makeHelpMenu?sH����F�|��%1�	L�!�J�	� *�i�
<����:�H�d��K�	L��r�c�`�|jr"|jj�d|_yy�NF)rwr�r��r~s r'�
refreshCanvaszDemoWindow.refreshCanvasHs%���:�:��K�K�����D�J�r�c�,�|j�dtj_d|z}t	|�t
j||_t|jjd�5}|j�}ddd�|jjdd�|jjd�|jj|dz�|j!t"t$t$dd�t&|_y#1swY��xYw)	NFzturtledemo.�rz1.0�endz# - a Python turtle graphics examplezPress start button�red)rtrQr��_RUNNING�
__import__�sys�modules�module�open�__file__�readrE�delete�insertrPrSrzr�r{�READYr})r~r�modname�f�charss     r'ryzDemoWindow.loadfileMs�������',����$��(�*���7���k�k�'�*���
�$�+�+�&�&��
,�	���F�F�H�E�	��	�	�����&��	�	�����&��	�	����#H�H�I����v�x��+�U�	4���
�	�	�s�.D
�
Dc���|j�d|_dtj_|jtttdd�|jj�|jjd�t|_	|jj�}|dk(rt|_nt |_|jt k(r!|jttt|�y|jtk(r)d|_|jtttdd�yy#tj"$r|j$�Yyt |_d}Y��wxYw)	NTzdemo running...rN�standard�	EVENTLOOPzstopped!zuse mouse/keys or STOPr�)r�rwrQr�r�rzr{r�r�r��mode�RUNNINGr}r��main�EVENTDRIVEN�DONE�
TerminatorrPrx)r~�results  r'rpzDemoWindow.startDemo\s��������
�'+����$����x���(�'�	3�������������$���
�
	 ��[�[�%�%�'�F���$�(��
�!��
��:�:����N�N�6�8�V�!�
#�
�Z�Z�;�
&� �D�M��N�N�8�V�X�3�U�
<�'��� � �	 ��y�y� ���D�J��F�		 �s�6D6�6E'�
E'�&E'c���|j�|jjd�|jj	d��|jttt�y)N�all�)�cursor)r�r��_deleter�r�rzr�r{r�s r'rtzDemoWindow.clearCanvasysE�����������E�"������"��%����v�x��2r�c��|jr8|j�d|_|jtttdd�dt
j_y)NFzSTOPPED!r�)rxrtrzr�r{rQr�r�r�s r'rrzDemoWindow.stopItsA���=�=�����!�D�M��N�N�6�8�X�%�u�
.�',����$r�c�p�dtj_|jj	�d|_yr�)rQr�r�rP�destroyr�s r'rUzDemoWindow._destroy�s'��',����$��	�	������	r�r�)r�blue)�__name__�
__module__�__qualname__r�r�rhrir�r�r�r�rzrarbrcr�ryrprtrrrU�r�r'r*r*s_��I�XP��8�(8�
��(�3��
���

�<�:3�-�r�r*c�L�t�}|jj�yr�)r*rP�mainloop)�demos r'rr�s���<�D��I�I���r��__main__)'r�r"�tkinter�idlelib.colorizerrr�idlelib.percolatorr�idlelib.textviewr�
turtledemor�about_turtledemorQ�path�dirname�abspathr�r$�platformr	r|r�rrrr�r�ror�r�r�r�r(r��objectr*rrrr�r'�<module>r&s���T�j�	��:�)�&�2�
�
�7�7�?�?�2�7�7�?�?�8�4�5��	����	!��
��	��
�������R�� ��
��
*������
7�
�7�
�� ��)�*��F�N�N�+���K��K�\��z���F�r�