ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     
{fc           @   sw   d  Z  d d l Td d l Z d d l Z d d l Z d e f d     YZ e d k rs d d l m	 Z	 e	 e  n  d S(   s6   
Dialog for building Tkinter accelerator key bindings
i(   t   *Nt   GetKeysDialogc           B   s   e  Z e d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z d	   Z d d
  Z d d  Z d   Z RS(   c         C   s  t  j |  |  |  j d d  |  j d t d t  |  j |  |  j |  |  j   |  j d |  j	  | |  _
 | |  _ | |  _ d |  _ t |   |  _ |  j j d  |  j   g  |  _ x: |  j D]/ } t |   } | j d  |  j j |  q Wt |  _ |  j   |  j   |  j   |  j   |  j d | j   | j   d |  j   d | j   | s| j    d |  j!   d n d	 f  |  j"   |  j#   d
 S(   s3  
        action - string, the name of the virtual event these keys will be
                 mapped to
        currentKeys - list, a list of all key sequence lists currently mapped
                 to virtual events, for overlap checking
        _htest - bool, change box location when running htest
        t   borderwidthi   t   heightt   widtht   WM_DELETE_WINDOWt    s   +%d+%di   i   N($   t   Toplevelt   __init__t	   configuret	   resizablet   FALSEt   titlet	   transientt   grab_sett   protocolt   Cancelt   parentt   actiont   currentKeySequencest   resultt	   StringVart	   keyStringt   sett   SetModifiersForPlatformt   modifier_varst	   modifierst   appendt   Falset   advancedt   CreateWidgetst   LoadFinalKeyListt   withdrawt   update_idletaskst   geometryt   winfo_rootxt   winfo_widtht   winfo_reqwidtht   winfo_rootyt   winfo_heightt   winfo_reqheightt	   deiconifyt   wait_window(   t   selfR   R   R   R   t   _htestt   modifiert   variable(    (    s0   /usr/lib64/python2.7/idlelib/keybindingDialog.pyR   
   s@    
				
		



		0
c         C   sZ  t  |  d d d t } | j d t d t d t  t  |   } | j d t d t  t | d d d	 d
 d |  j	 |  _
 |  j
 j d d d d d d d d  t | d d d	 d
 d |  j |  _ |  j j d d d d d d d d  t  |  |  _ t  |  |  _ t  |  |  _ t  |  |  _ |  j j d d d d d t d d d d  |  j j d d d d d t d d d d  |  j j   |  j j d d d d d t d d  |  j j d d d d d t d d  |  j j   t | d |  j d d |  _ |  j j d d d d d t d d d d  t |  j d d |  j d } | j d t  t |  j d t d |  j d t d d } | j d d d d d t  i  |  _ d } x t |  j |  j   D] \ } } |  j! j" | |  } t# |  j d |  j$ d | d | d | d  d! }	 |	 j d d d | d d d t  |	 |  j | <| d 7} qWt |  j d t d d" d# d$ d% d& d' }
 |
 j d d d d d( d) d d d t  t% |  j d	 d* d+ d, d- t& |  _' |  j' j( d. |  j)  |  j' j d d d d) d/ d) d t*  t+ |  j d0 t, d |  j' j- } |  j' j. d1 | j/  | j d d d d d/ d) d t*  t |  j d d2 d |  j0 |  _1 |  j1 j d d d d d( d)  t |  j d t d d3 |  j d4 d5 } | j d t  t2 |  j d |  j |  _3 |  j3 j d t  t |  j d t d d6 d7 d8 d9 d: d; d< } | j d d d d d t  d  S(=   NR   i   t   relieft   sidet   expandt   fillt   textt   OKR   i   t   commandt   rowi    t   columnt   padxi   t   padyR   i   t   stickys   Advanced Key Binding Entry >>t   sticks   New keys for  's   ' :t   anchort   justifyt   textvariablet   ipadxt   ipadyR.   t   onvaluet   offvalueR   s!   Select the desired modifier keys
s"   above, and the final key from the
s   list on the right.

s"   Use upper case Symbols when using
s&   the Shift modifier.  (Letters will be
s   converted automatically.)t
   columnspani   i   R   i
   t
   selectmodes   <ButtonRelease-1>t   rowspant   orientt   yscrollcommands
   Clear Keyss   Enter new binding(s) for  's   ' :
s2   (These bindings will not be checked for validity!)s4   Key bindings are specified using Tkinter keysyms as
s   in these samples: <Control-f>, <Shift-F2>, <F12>,
<Control-space>, <Meta-less>, <Control-Alt-Shift-X>.
Upper case is used when the Shift modifier is present!

s8   'Emacs style' multi-keystroke bindings are specified as
s5   follows: <Control-x><Control-y>, where the first key
s!   is the 'do-nothing' keybinding.

s4   Multiple separate bindings for one action should be
s,   separated by a space, eg., <Alt-v> <Meta-v>.(4   t   Framet   SUNKENt   packt   TOPt   TRUEt   BOTHt   BOTTOMt   Xt   ButtonR4   t   buttonOKt   gridR   t   buttonCancelt   frameKeySeqBasict   frameKeySeqAdvancedt   frameControlsBasict   frameHelpAdvancedt   NSEWt   liftt   ToggleLevelt   buttonLevelt   EWt   LabelR   t   Wt   LEFTR   t   GROOVEt   modifier_checkbuttonst   zipR   R   t   modifier_labelt   gett   Checkbuttont   BuildKeyStringt   Listboxt   SINGLEt   listKeysFinalt   bindt   FinalKeySelectedt   NSt	   Scrollbart   VERTICALt   yviewt   configR   t   ClearKeySeqt   buttonCleart   Entryt   entryKeysAdvanced(   R+   t	   frameMaint   frameButtonst   labelTitleBasict   labelKeysBasicR7   R-   R.   t   labelt   checkt   labelFnAdvicet   scrollKeysFinalt   labelTitleAdvancedt   labelHelpAdvanced(    (    s0   /usr/lib64/python2.7/idlelib/keybindingDialog.pyR   5   s    %%++%%+	"	"
(%"

c         C   sM   t  j d k r' d d d d g |  _ n d d d g |  _ i d d 6|  _ d S(	   sU  Determine list of names of key modifiers for this platform.

        The names are used to build Tk bindings -- it doesn't matter if the
        keyboard has these keys, it matters if Tk understands them. The
        order is also important: key binding equality depends on it, so
        config-keys.def must use the same ordering.
        t   darwint   Shiftt   Controlt   Optiont   Commandt   Altt   CtrlN(   t   syst   platformR   Rc   (   R+   (    (    s0   /usr/lib64/python2.7/idlelib/keybindingDialog.pyR      s    c         C   s   |  j  j d  d  d k rl |  j   |  j  j d d  |  j j   |  j j   |  j j   t	 |  _
 n@ |  j   |  j  j d d  |  j j   |  j j   t |  _
 d  S(   NR3   i   t   Advanceds   << Basic Key Binding Entrys   Advanced Key Binding Entry >>(   R[   t   cgetRq   Rp   RU   RY   RW   Rt   t	   focus_sett   TrueR   RT   RV   R   (   R+   (    (    s0   /usr/lib64/python2.7/idlelib/keybindingDialog.pyRZ      s    

c         C   s   |  j    d  S(   N(   Rf   (   R+   t   event(    (    s0   /usr/lib64/python2.7/idlelib/keybindingDialog.pyRk      s    c         C   sr   |  j    } } |  j j t  } | rJ |  j | |  } | j |  n  |  j j d t j	 | d  d  d  S(   Nt   <t   -t   >(
   t   GetModifiersRi   Rd   t   ANCHORt   TranslateKeyR   R   R   t   stringt   join(   R+   t   keyListR   t   finalKey(    (    s0   /usr/lib64/python2.7/idlelib/keybindingDialog.pyRf      s    c         C   s?   g  |  j  D] } | j   ^ q
 } g  | D] } | r) | ^ q) S(   N(   R   Rd   (   R+   R.   t   modListt   mod(    (    s0   /usr/lib64/python2.7/idlelib/keybindingDialog.pyR      s    "c         C   s[   |  j  j d t  |  j  j t d  x |  j D] } | j d  q0 W|  j j d  d  S(   Ni    s   0.0R   (   Ri   t   select_cleart   ENDRo   t   MOVETOR   R   R   (   R+   R.   (    (    s0   /usr/lib64/python2.7/idlelib/keybindingDialog.pyRq      s
    c         C   s   d |  _  t t j t j  |  _ t d  |  _ d |  _ d |  _ d |  _	 |  j |  j |  j  |  j |  j |  j	 } |  j
 j t |  d  S(    Nt   F1t   F2t   F3t   F4t   F5t   F6t   F7t   F8t   F9t   F10t   F11t   F12s   ~!@#%^&*()_-+={}[]|;:,.<>/?t   Tabt   Spacet   Returnt	   BackSpacet   Deletet   Insertt   Homet   Ends   Page Ups	   Page Downs
   Left Arrows   Right Arrows   Up Arrows
   Down Arrow(   R   R   R   R   R   R   R   R   R   R   R   R   (   R   R   R   (   R   R   R   (   R   R   s   Page Ups	   Page Downs
   Left Arrows   Right Arrows   Up Arrows
   Down Arrow(   t   functionKeyst   tupleR   t   ascii_lowercaset   digitst   alphanumKeyst   punctuationKeyst   whitespaceKeyst   editKeyst   moveKeysRi   t   insertR   (   R+   t   keys(    (    s0   /usr/lib64/python2.7/idlelib/keybindingDialog.pyR      s     			 	,c         C   sR  i# d d 6d d 6d d 6d d 6d	 d
 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d  6d! d" 6d# d$ 6d% d& 6d' d( 6d) d* 6d+ d, 6d- d. 6d/ d0 6d1 d2 6d3 d4 6d5 d6 6d7 d8 6d9 d: 6d; d< 6d= d> 6d? d@ 6dA dB 6dC dD 6dE dE 6} | | j    k r| | } n  dF | k rD| t j k rD| j   } n  dG | } | S(H   s2   Translate from keycap symbol to the Tkinter keysymt   spaceR   t
   asciitildet   ~t   exclamt   !t   att   @t
   numbersignt   #t   percentt   %t   asciicircumt   ^t	   ampersandt   &t   asteriskR    t	   parenleftt   (t
   parenrightt   )t
   underscoret   _t   minusR   t   plust   +t   equalt   =t	   braceleftt   {t
   bracerightt   }t   bracketleftt   [t   bracketrightt   ]t   bart   |t	   semicolont   ;t   colont   :t   commat   ,t   periodt   .t   lessR   t   greaterR   t   slasht   /t   questiont   ?t   Priors   Page Upt   Nexts	   Page Downt   Lefts
   Left Arrowt   Rights   Right Arrowt   Ups   Up Arrowt   Downs
   Down ArrowR   R   s   Key-(   R   R   R   t   upper(   R+   t   keyR   t   translateDict(    (    s0   /usr/lib64/python2.7/idlelib/keybindingDialog.pyR      s     
#
c         C   sB   |  j  s |  j   r> |  j j   |  _ |  j   |  j   n  d  S(   N(   R   t   KeysOKR   Rd   R   t   grab_releaset   destroy(   R+   R   (    (    s0   /usr/lib64/python2.7/idlelib/keybindingDialog.pyR4      s    
c         C   s!   d |  _  |  j   |  j   d  S(   NR   (   R   R   R   (   R+   R   (    (    s0   /usr/lib64/python2.7/idlelib/keybindingDialog.pyR      s    	
c         C   sj  |  j  j   } | j   |  j j t  } |  j   } | j   } t } d } | st t j	 d | d |  d d  n | j
 d  s t j	 d | d |  d d  n | r | |  j |  j k r t j	 d | d |  d d  n | d	 g k r,| |  j |  j d k r,d } t j	 d | d |  d |  n: | |  j k r`d } t j	 d | d |  d |  n t } | S(   s   Validity check on user's 'basic' keybinding selection.

        Doesn't check the string produced by the advanced dialog because
        'modifiers' isn't set.

        s   Key Sequence ErrorR   R   t   messages   No keys specified.R   s   Missing the final Keys   No modifier key(s) specified.R   R   R   sB   The shift modifier by itself may not be used with this key symbol.s'   This key combination is already in use.(   R   R   (   R   Rd   t   stripRi   R   R   t   splitR   t   tkMessageBoxt	   showerrort   endswithR   R   R   R   (   R+   R   R   R   t   keySequencet   keysOKR   t   msg(    (    s0   /usr/lib64/python2.7/idlelib/keybindingDialog.pyR      s6    



N(   t   __name__t
   __module__R   R   R   R   RZ   Rk   Rf   R   Rq   R   R   t   NoneR4   R   R   (    (    (    s0   /usr/lib64/python2.7/idlelib/keybindingDialog.pyR   	   s   +	O								t   __main__(   t   run(
   t   __doc__t   TkinterR   R   R   R   R   R  t   idlelib.idle_test.htestR  (    (    (    s0   /usr/lib64/python2.7/idlelib/keybindingDialog.pyt   <module>   s   
 