B
f8 @ s d Z ddlmZmZmZmZ ddlmZmZm Z m
Z
mZmZ ddlm
Z
ddlZddlZdZeejej ZedZdZd Zd
Zee e e e e Zdd ZG d
d deZedkrddlmZ edddd ddlm Z e e dS )z6
Dialog for building Tkinter accelerator key bindings
)ToplevelListbox StringVarTclError)FrameButtonCheckbuttonEntryLabel Scrollbar)
messageboxN)ZF1ZF2ZF3ZF4ZF5ZF6ZF7ZF8ZF9ZF10ZF11ZF12z~!@#%^&*()_-+={}[]|;:,.<>/?)TabSpaceZReturn)Z BackSpaceZDeleteZInsert)ZHomeZEndzPage Upz Page Downz
Left ArrowzRight ArrowzUp Arrowz
Down Arrowc $ C s| ddddddddd d
ddd
ddddddddddddddddddd d!d"d#d$#}| | | } d%|krr| tjkrr| } d&| S )'z3Translate from keycap symbol to the Tkinter keysym.ZspaceZ
asciitildeZexclamZatZ
numbersignZpercentZasciicircumZ ampersandZasteriskZ parenleftZ
parenrightZ
underscoreZminusZplusZequalZ braceleftZ
bracerightZbracketleftZbracketrightZbarZ semicolonZcolonZcommaZperiodZlessZgreaterZslashZquestionZPriorZNextZLeftZRightZUpZDownr
)#r ~!@#%^&*()_-+={}[]|;:,.<>/?zPage Upz Page Downz
Left ArrowzRight ArrowzUp Arrowz
Down Arrowr
ShiftzKey-)getstringascii_lowercaseupper)key modifiersmapping r2 7/opt/alt/python37/lib64/python3.7/idlelib/config_key.py
translate_key s r4 c @ s e Zd ZdZdddddZdd Zdd Zd
d Zdd
ZdddZ dd Z
dd Zdd Zd ddZ
d!ddZdd Zdd ZdS )"
GetKeysDialogzKey Sequence ErrorF)_htest_utestc C sF t | | | | jdd | jddd | | | | | | d| j || _
|| _|| _d| _
t| | _| jd | g | _x,| jD ]"}t| }|d | j| qW d| _| | | d| | d | d | |s | d | d nd f |sB| | d
S )a
parent - parent of this dialog
title - string which is the title of the popup dialog
action - string, the name of the virtual event these keys will be
mapped to
current_key_sequences - list, a list of all key sequence lists
currently mapped to virtual events, for overlap checking
_htest - bool, change box location when running htest
_utest - bool, do not wait when running unittest
)borderwidthF)heightwidthZWM_DELETE_WINDOW z+%d+%d N)!r __init__ZwithdrawZ configureZ resizabletitleZ transientZgrab_setZprotocolcancelparentactioncurrent_key_sequencesresultr
key_stringsetset_modifiers_for_platform
modifier_varsr0 appendadvancedcreate_widgetsZupdate_idletasksZgeometryZwinfo_rootxZwinfo_widthZwinfo_reqwidthZwinfo_rootyZwinfo_heightZwinfo_reqheightZ deiconifyZwait_window) selfrB r@ rC rD r6 r7 modifiervariabler2 r2 r3 r? 0 s@
*zGetKeysDialog.__init__c O s t j|| d S )N)r showerror)rM argskwargsr2 r2 r3 rP ` s zGetKeysDialog.showerrorc C s0 t | ddd | _}|jdddd t | }|jdd d
t|dd| jd
| _| jjddddd t|dd| jd
| _| jjddddd t |dd| _ | j jdddddd t
| j d| j dd}|jdd t
| j d| jddd}|jddd d t || _
| j
jddddd i | _d}xft| j| jD ]T\}}| j||}t| j
| j|||d!d"} | jd|ddd# | | j|<