Your IP : 216.73.216.85


Current Path : /opt/alt/python310/lib64/python3.10/turtledemo/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/turtledemo/__pycache__/__main__.cpython-310.opt-2.pyc

o

0�i�:�@s�	ddlZddlZddlTddlmZmZddlmZddlm	Z	ddl
mZddl
Z
ej�ej�e��ZejdkZdZd	Zd
ZdZdZd
defZdZgd�ZdZdZgd�Z dd�Z!defdefde
jffZ"Gdd�de#�Z$dd�Z%e&dkr|e%�dSdS)�N)�*)�ColorDelegator�color_config)�
Percolator)�	view_text)�__doc__�darwin������Arial�)rrZbold)zLucida Console�
�normal��d)��	r�r������cCsdd�t�t�D�S)NcSs.g|]}|�d�r|ddkr|dd��qS)z.pyr�_N���)�endswith)�.0�entry�r"�:/opt/alt/python310/lib64/python3.10/turtledemo/__main__.py�
<listcomp>us�
�z%getExampleEntries.<locals>.<listcomp>)�os�listdir�demo_dirr"r"r"r#�getExampleEntriestsr(zTurtledemo helpzAbout turtledemozAbout turtle modulec@s�eZdZd(dd�Zdd�Zdd�Zdd	�Zd
d�Zd(dd
�Zd(dd�Z	dd�Z
d)dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�ZdS)*�
DemoWindowNc	Cs�t�|_}t_|�d�|�d|j�tr1ddl}|j	ddddd�
t���ddg|j
|j
d	�|jdd
d�|jdd
d�|jd
dd
d
�|jddd
d
�|jddd
d
�t|tdd�|_|jj|�|j�ddd�|jj|�|j�ddd�|jj|�|j�ddd�|j|d<ttdtdd�}|�|�|��|�|�|��|jdddd�t|d
ddddtd�|_ tr�t!|d t"d!|j#d"�|_$t!|d#t"d!|j%d"�|_&t!|d$t"d!|j'd"�|_(n$t!|d t"d%d&|j#d'�|_$t!|d#t"d%d&|j%d'�|_&t!|d$t"d%d&|j'd'�|_(|j jd
ddd(d)�|j$jd
d
d*d+�|j&jd
dd*d+�|j(jd
dd*d+�t)|j*��+t,��d,|_-d,|_.|�r;|�/|�|�0t1t1t1d-d.�t2|_3dS)/NzPython turtle-graphics examplesZWM_DELETE_WINDOWrZ	osascriptz-ez tell application "System Events"z>set frontmost of the first process whose unix id is {} to truezend tell)�stderr�stdoutr	)�weight�Z)Zminsizer,r
r)�relief�borderwidthZExamples)�menu�label�	underlineZFontsizeZHelpr0r
z#ddd)�orientZ	sashwidthZ
sashrelief�bgrZnews)�rowZ
columnspan�stickyz --- z#ddf)r�r)Zheight�textr4�fontr/r.z START z#00cc22)r8r9�fg�commandz STOP z CLEAR Zwhitez#fed)r8r9r:Zdisabledforegroundr;)rr
)r5�columnr6�padxZew)r5r<r6FzChoose example from menu�black)4ZTk�root�turtle�_root�titleZwm_protocol�_destroyr�
subprocess�run�formatr%�getpidZDEVNULLZgrid_rowconfigureZgrid_columnconfigure�MenuZRAISEDZmBarZadd_cascade�makeLoadDemoMenu�makeFontMenu�makeHelpMenuZPanedWindow�
HORIZONTALZSOLID�add�
makeTextFrame�makeGraphFrameZgridZLabelZRIDGE�
output_lblZButton�btnfont�	startDemo�	start_btn�stopIt�stop_btn�clearCanvas�	clear_btnrr8Zinsertfilterr�dirty�exitflag�loadfile�	configGUI�DISABLED�STARTUP�state)�self�filenamer?rDZpaner"r"r#�__init__�s�

�����
�
���
����

�
zDemoWindow.__init__cCsP|j��}|j��}|j�d|j||j�|j�d|j||j�dS)Ng�?)�_canvasZwinfo_widthZwinfo_heightZxview_moveto�	canvwidthZyview_moveto�
canvheight)r_�eventZcwidthZcheightr"r"r#�onResize�s

 zDemoWindow.onResizecCs6t|�|_}t|ddddd�|_}t|�t|dd�|_}|j|d<|jt	t
d	�t|d
td�|_}|j
|d<|jttd	�|j|d<|j|d
<tt�|d<trVdnd}|�d||j�|�d||j�|�d||j�|�d||j�|�d|j�|�d|j�|�d|j�|jt	tdd�|S)Nr8r
Znone�-)�namer=Zwrap�width�vbar)rhr;)�side�fill�hbar)rhr3ZyscrollcommandZxscrollcommandr9ZCommandZControlz
<%s-minus>z<%s-underscore>z
<%s-equal>z	<%s-plus>z<Control-MouseWheel>z<Control-Button-4>z<Control-Button-5>r	)rkrl�expand)ZFrame�
text_frameZTextr8rZ	ScrollbarrjZyviewZpackZLEFT�YrLrmZxviewZBOTTOM�X�set�tuple�txtfontrZbind_all�
decrease_size�
increase_size�bind�update_mousewheelZBOTH)r_r?ror8rjrmZshortcutr"r"r#rN�s0�



zDemoWindow.makeTextFramecCs�|tj_d|_d|_t�|dd|j|j�tj_|_}|��|j�	d|j
�d|jd<t��|_}tj
�||j�|j|_|gtj_|S)Ni�i iXz<Configure>rr/)r@Z_ScreenrArcrdZScrolledCanvasrbZ
adjustScrollsZ_rootwindowrwrfZScreen�screen�TurtleScreenra�scanvasZ	RawTurtleZscreens)r_r?ZcanvasZ_s_r"r"r#rO�s�

zDemoWindow.makeGraphFramecCs(|td<tt�|jd<d||jd<dS)Nr	r9zFont size %dr8)rtrsr8rP)r_�sizer"r"r#�set_txtsize�szDemoWindow.set_txtsizecCs|�ttddt��dS�Nr	�break)r}�maxrt�MINIMUM_FONT_SIZE�r_Zdummyr"r"r#ru�zDemoWindow.decrease_sizecCs|�ttddt��dSr~)r}�minrt�MAXIMUM_FONT_SIZEr�r"r"r#rvr�zDemoWindow.increase_sizecCs |jdktkr|��S|��S)Nr)Zdeltarrurv)r_rer"r"r#rxszDemoWindow.update_mousewheel��bluecCs�tr|jj|d�|jj|d�|jj|d�n*|jj||tkr"dndd�|jj||tkr0dndd�|jj||tkr>dndd�|jj||d�dS)N)r^z#d00z#fca)r^r4)r8r:)rrS�configrUrW�NORMALrP)r_�start�stop�clearZtxtZcolorr"r"r#r[s���zDemoWindow.configGUIcs:t|�}t�D]}|f�fdd�	}|j|dt|d�q|S)Nc���|�dS�N)rZ)r!�r_r"r#�load&�z)DemoWindow.makeLoadDemoMenu.<locals>.loadr�r1r2r9r;)rHr(�add_command�menufont)r_�masterr0r!r�r"r�r#rI"s
�zDemoWindow.makeLoadDemoMenucsht|�}|jd�jtd�|jd�jtd�|��tD]}|f�fdd�	}|jt|�dt|d�q|S)NzDecrease (C-'-'))r1r;r9zIncrease (C-'+')cr�r�)r})r|r�r"r#�resize5r�z'DemoWindow.makeFontMenu.<locals>.resizerr�)rHr�rur�rvZ
add_separator�
font_sizes�str)r_r�r0r|r�r"r�r#rJ,s
�
��zDemoWindow.makeFontMenucs<t|�}tD]\}}||f�fdd�	}|j|t|d�q|S)Ncst�j||�dSr�)rr?)�
help_label�	help_filer�r"r#�show?sz%DemoWindow.makeHelpMenu.<locals>.show)r1r9r;)rH�help_entriesr�r�)r_r�r0r�r�r�r"r�r#rK;s
zDemoWindow.makeHelpMenucCs|jr
|j��d|_dSdS�NF)rXryr�r�r"r"r#�
refreshCanvasDs

�zDemoWindow.refreshCanvascCs�|��dtj_d|}t|�tj||_t|jj	d��}|�
�}Wd�n1s,wY|j�dd�|j�
d|�|j�|d�|�tttdd�t|_dS)	NFzturtledemo.�rz1.0�endz# - a Python turtle graphics examplezPress start button�red)rVr@rz�_RUNNING�
__import__�sys�modules�module�open�__file__�readr8�delete�insertr?rBr[r�r\�READYr^)r_r`�modname�f�charsr"r"r#rZIs
�
�
zDemoWindow.loadfilecCs�|��d|_dtj_|�tttdd�|j�	�|j�
d�t|_z|j
��}|dkr0t|_nt|_WntjyK|jdurDYdSt|_d}Ynw|jtkr[|�ttt|�dS|jtkrnd|_|�tttdd�dSdS)	NTzdemo running...r>ZstandardZ	EVENTLOOPzstopped!zuse mouse/keys or STOPr�)r�rXr@rzr�r[r\r�ryr��mode�RUNNINGr^r��main�EVENTDRIVEN�DONEZ
Terminatorr?rY)r_�resultr"r"r#rRXs>
�

�
�

�

��zDemoWindow.startDemocCs4|��|j�d�|jjdd�|�ttt�dS)N�allr�)Zcursor)r�ryZ_deleter{r�r[r�r\r�r"r"r#rVuszDemoWindow.clearCanvascCs2|jr|��d|_|�tttdd�dtj_dS)NFzSTOPPED!r�)rYrVr[r�r\r@rzr�r�r"r"r#rT{s
�zDemoWindow.stopItcCsdtj_|j��d|_dSr�)r@rzr�r?Zdestroyr�r"r"r#rC�s

zDemoWindow._destroyr�)r�r�)�__name__�
__module__�__qualname__rarfrNrOr}rurvrxr[rIrJrKr�rZrRrVrTrCr"r"r"r#r)s&
L



	r)cCst�}|j��dSr�)r)r?Zmainloop)Zdemor"r"r#r��sr��__main__)'r�r%ZtkinterZidlelib.colorizerrrZidlelib.percolatorrZidlelib.textviewrZ
turtledemorZabout_turtledemor@�path�dirname�abspathr�r'�platformrr]r�r�r�r�r�r�rQrtr�r�r�r(r��objectr)r�r�r"r"r"r#�<module>sDU

�
�