Mini Shell
B
�Μ}���� @ s^ d Z ddlZddlmZmZmZmZmZmZm Z m
Z
mZmZm
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z ddl!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z, ddl-m.Z/ ddl0m1Z2 ddlm3Z3 ddl4m5Z5m6Z6 ddl7m8Z8 ddl9m:Z: dd l;m<Z< dd
l=m>Z>m?Z? ddl@mAZA ddlBmCZC dd
lDmEZE ddlFmGZG ddlHmIZI ddlJmKZK ddl@mLZL e6� ZMeCeEeGeIeKfZNG dd� de�ZOdaPG dd� de"�ZQG dd� de"�ZRG dd� de"�ZSG dd� de"�ZTG dd� d�ZUeU� ZVdZWd d!d"d#d$�ZXd%d&� ZYG d'd(� d(e"�ZZe[d)k�rZdd*l\m]Z] e]d+d,d-d.� dd/l^m_Z_ e_eO� dS )0a� IDLE Configuration Dialog: support user customization of IDLE by GUI
Customize font faces, sizes, and colorization attributes. Set indentation
defaults. Customize keybindings. Colorization and keybindings can be
saved as user defined sets. Select startup options including shell/editor
and default window size. Define additional help sources.
Note that tab width in IDLE is currently fixed at eight due to Tk issues.
Refer to comments in EditorWindow autoindent code for details.
� N)�Toplevel�Listbox�Scale�Canvas� StringVar�
BooleanVar�IntVar�TRUE�FALSE�TOP�BOTTOM�RIGHT�LEFT�SOLID�GROOVE�NONE�BOTH�X�Y�W�E�EW�NS�NSEW�NW�
HORIZONTAL�VERTICAL�ANCHOR�ACTIVE�END)�Frame�
LabelFrame�Button�Checkbutton�Entry�Label�
OptionMenu�Notebook�Radiobutton� Scrollbar�Style)�
messagebox)�idleConf�
ConfigChanges)�
GetKeysDialog)�
DynOptionMenu)�macosx)�SectionName�
HelpSource)� view_text)�AutoComplete)�CodeContext)�
ParenMatch)�FormatParagraph)�Squeezer)�ScrollableTextFramec s� e Zd ZdZd%ddd�dd�Zdd� Zd d
� Zdd� Zd
d� Zdd� Z � fdd�Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd � Zd!d"� Zd#d$� Z� ZS )&�ConfigDialogzConfig dialog for IDLE.
� F)�_htest�_utestc C s� t �| |� || _|ri |_|s(| �� | jdd� | �|p>d� |�� d }|�� |s\dnd }| � d|� d|� �� | �
� | jttd� | �
|� | �d | j� | jj�� t�� |s�| �� | �� | �� d
S )a� Show the tabbed dialog for user configuration.
Args:
parent - parent of this dialog
title - string which is the title of this popup dialog
_htest - bool, change box location when running htest
_utest - bool, don't wait_window when running unittest
Note: Focus set on font page fontlist.
Methods:
create_widgets
cancel: Bound to DELETE_WINDOW protocol.
� )�borderwidthzIDLE Preferences� � � �+)�height�widthZWM_DELETE_WINDOWN)r �__init__�parent�
instance_dictZwithdraw� configure�titleZwinfo_rootxZwinfo_rootyZgeometry�create_widgetsZ resizabler
Z transientZprotocol�cancel�fontpage�fontlistZ focus_set�tracers�attachZgrab_setZwm_deiconifyZwait_window)�selfrG rJ r<