£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

fE  c            
   @   s   d  Z  d d l Td d l m Z d d l m Z m Z d Z d Z d Z	 d Z
 d Z d Z d Z d Z d Z Gd d   d  Z d S(   uH   
An auto-completion window for IDLE, used by the AutoComplete extension
i    (   u   *(   u   MC_SHIFT(   u   COMPLETE_FILESu   COMPLETE_ATTRIBUTESu   <<autocompletewindow-hide>>u
   <FocusOut>u   <ButtonPress>u   <<autocompletewindow-keypress>>u   <Key>u   <Key-BackSpace>u   <Key-Return>u	   <Key-Tab>u   <Key-Up>u
   <Key-Down>u
   <Key-Home>u	   <Key-End>u   <Key-Prior>u
   <Key-Next>u!   <<autocompletewindow-keyrelease>>u   <KeyRelease>u   <B1-ButtonRelease>u   <Configure>u   <B1-Double-ButtonRelease>c             B   s   |  Ee  Z d  Z d d   Z d d   Z d d   Z d d   Z d	 d
   Z d d   Z d d   Z	 d d   Z
 d d   Z d d   Z d d   Z d d   Z d d   Z d d   Z d d   Z d S(    u   AutoCompleteWindowc             C   s   | |  _  d  |  _ |  _ |  _ d  |  _ |  _ d  |  _ d  |  _ d  |  _	 d  |  _
 d  |  _ d  |  _ d  |  _ d  |  _ |  _ |  _ |  _ |  _ |  _ d |  _ d  S(   NF(   u   widgetu   Noneu   autocompletewindowu   listboxu	   scrollbaru   origselforegroundu   origselbackgroundu   completionsu   morecompletionsu   modeu   startu
   startindexu   lasttypedstartu   userwantswindowu   hideidu
   keypressidu   listupdateidu   winconfigidu   keyreleaseidu   doubleclickidu   Falseu   lastkey_was_tab(   u   selfu   widget(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   __init__   s    								,u   AutoCompleteWindow.__init__c             C   s   t  t |  j  t |   } d } x1 | | k  rW |  j | | | k rW | d 7} q' W| t |  j  k  r |  j j d |  j | f d |  j t |  j  f  n  | t |  k  r |  j j d |  j | f | | d    n  | |  _ d  S(   Ni    i   u   %s+%dc(   u   minu   lenu   startu   widgetu   deleteu
   startindexu   insert(   u   selfu   newstartu   min_lenu   i(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   _change_start8   s    & u    AutoCompleteWindow._change_startc             C   sv   d } t  |  j  } xD | | k r[ | | d } |  j | | k rN | } q | d } q Wt | t  |  j  d  S(   u   Find the first index in self.completions where completions[i] is
        greater or equal to s, or the last index if there is no such
        one.i    i   i   (   u   lenu   completionsu   min(   u   selfu   su   iu   ju   m(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   _binary_searchE   s     	u!   AutoCompleteWindow._binary_searchc       
      C   sG  |  j  |  } |  j | d t |   | k r6 | S| d } t |  j  } xT | | k r | | d } |  j | d t |   | k r | } qR | d } qR W| d } | | k r |  j | S|  j | } |  j | } t t |  t |   }	 t |  } x. | |	 k  r8| | | | k r8| d 7} qW| d |  S(   u   Assuming that s is the prefix of a string in self.completions,
        return the longest string which is a prefix of all the strings which
        s is a prefix of them. If s is not a prefix of a string, return s.Ni   i   (   u   _binary_searchu   completionsu   lenu   min(
   u   selfu   su   firstu   iu   ju   mu   lastu
   first_compu	   last_compu   min_len(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   _complete_stringR   s(    #
#	
#u#   AutoCompleteWindow._complete_stringc             C   s  t  |  j j   d  } |  j j |  |  j } |  j | } |  j |  | k r] | } nb t t |  t |   } d } x. | | k  r | | | | k r | d 7} q W| d |  } |  j	 |  |  j | d t |  j
   |  j
 k r|  j j d |  j d |  j  n |  j j d |  j j d  d |  j j d   |  j r|  j |  _ d |  _ |  j j d t  x$ |  j D] } |  j j t |  qW|  j j |  j |  j
   |  j   n  d S(   u|   Should be called when the selection of the Listbox has changed.
        Updates the Listbox display and calls _change_start.i    i   Nu   selectbackgroundu   selectforegroundu   bgu   fg(   u   intu   listboxu   curselectionu   seeu   lasttypedstartu   completionsu   _binary_searchu   minu   lenu   _change_startu   startu	   configureu   origselbackgroundu   origselforegroundu   cgetu   morecompletionsu   Noneu   deleteu   ENDu   insertu
   select_setu   _selection_changed(   u   selfu   curselu   ltsu   selstartu   newstartu   min_lenu   iu   item(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   _selection_changedq   s2    		#)		u%   AutoCompleteWindow._selection_changedc             C   sQ  | \ |  _  |  _ | |  _ |  j j |  |  _ |  j j |  j d  |  _ | r |  j |  j  } |  j } |  j	 |  |  j
 |  } |  j  | | k r | t |  j   d k s |  j  | d d t |   | k r | | k Sn  | |  _ |  j |  _ t |  j  |  _ }	 |	 j d  |	 j d  y# |	 j j d d |	 j d d  Wn t k
 rdYn Xt |	 d	 t |  _ }
 t |	 d
 |
 j d d d d |  _ } x! |  j  D] } | j t |  qW| j d  |  _  | j d  |  _! |
 j" d | j#  |
 j$ d t% d t&  | j$ d t' d t( d d  |  j j* |  j
 |  j   |  j+   |  j j, t- |  j.  |  _/ x! t0 D] } |  j j1 t- |  q{W|  j j, t2 |  j3  |  _4 x! t5 D] } |  j j1 t2 |  qW|  j j, t6 |  j7  |  _8 |  j j1 t6 t9  | j, t: |  j;  |  _< |	 j, t= |  j>  |  _? | j, t@ |  jA  |  _B d S(   u   Show the autocomplete list, bind events.
        If complete is True, complete the text, and if there is exactly one
        matching completion, don't open a list.u   inserti   Nu   +10000+10000u!   ::tk::unsupported::MacWindowStyleu   styleu   helpu   noActivatesu   orientu   yscrollcommandu   exportselectionu   bgu   whiteu   selectforegroundu   selectbackgroundu   commandu   sideu   fillu   expandFT(C   u   completionsu   morecompletionsu   modeu   widgetu   indexu
   startindexu   getu   startu   _complete_stringu   _change_startu   _binary_searchu   lenu   userwantswindowu   lasttypedstartu   Toplevelu   autocompletewindowu   wm_geometryu   wm_overrideredirectu   tku   callu   _wu   TclErroru	   Scrollbaru   VERTICALu	   scrollbaru   Listboxu   setu   Falseu   listboxu   insertu   ENDu   cgetu   origselforegroundu   origselbackgroundu   configu   yviewu   packu   RIGHTu   Yu   LEFTu   BOTHu   Trueu
   select_setu   _selection_changedu   bindu   HIDE_VIRTUAL_EVENT_NAMEu
   hide_eventu   hideidu   HIDE_SEQUENCESu	   event_addu   KEYPRESS_VIRTUAL_EVENT_NAMEu   keypress_eventu
   keypressidu   KEYPRESS_SEQUENCESu   KEYRELEASE_VIRTUAL_EVENT_NAMEu   keyrelease_eventu   keyreleaseidu   KEYRELEASE_SEQUENCEu   LISTUPDATE_SEQUENCEu   listselect_eventu   listupdateidu   WINCONFIG_SEQUENCEu   winconfig_eventu   winconfigidu   DOUBLECLICK_SEQUENCEu   doubleclick_eventu   doubleclickid(   u   selfu
   comp_listsu   indexu   completeu   modeu   userWantsWinu	   completedu   startu   iu   acwu	   scrollbaru   listboxu   itemu   seq(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   show_window   sf    		'	
		u   AutoCompleteWindow.show_windowc             C   s
  |  j    s d  S|  j } | j |  j  | j |  j  \ } } } } |  j } | j   | j   } }	 | j   | j   }
 } | j   t	 | t
 d |
 |   } | j   | } | | | |	 k s | |	 k  r | | 7} n
 | |	 8} | j d | | f  d  S(   Ni    u   +%d+%d(   u	   is_activeu   widgetu   seeu
   startindexu   bboxu   autocompletewindowu   winfo_widthu   winfo_heightu   winfo_rootxu   minu   maxu   winfo_rootyu   wm_geometry(   u   selfu   eventu   textu   xu   yu   cxu   cyu   acwu	   acw_widthu
   acw_heightu
   text_widthu   text_heightu   new_xu   new_y(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   winconfig_event   s    		&
u"   AutoCompleteWindow.winconfig_eventc             C   s   |  j    s d  S|  j   d  S(   N(   u	   is_activeu   hide_window(   u   selfu   event(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu
   hide_event   s    u   AutoCompleteWindow.hide_eventc             C   sJ   |  j    s d  Sd |  _ t |  j j   d  } |  j |  j |  d  S(   Ni    T(   u	   is_activeu   Trueu   userwantswindowu   intu   listboxu   curselectionu   _change_startu   completions(   u   selfu   eventu   cursel(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   listselect_event   s
    	u#   AutoCompleteWindow.listselect_eventc             C   s;   t  |  j j   d  } |  j |  j |  |  j   d  S(   Ni    (   u   intu   listboxu   curselectionu   _change_startu   completionsu   hide_window(   u   selfu   eventu   cursel(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   doubleclick_event   s    u$   AutoCompleteWindow.doubleclick_eventc                s]  |  j    s d  S| j   t | d  r4 | j } n d }   d k rR d& |  _ n  t    d k s   d' k s |  j t k r  d( k r| t	 @rt    d k r |  j
 |  j    n   d k r |  j
 |  j d	  n   d k r|  j
 |  j d
  n`   d k r)|  j
 |  j d  n= t |  j  d k rL|  j   d  S|  j
 |  j d  d)   |  j |  _ |  j j d t |  j j   d   |  j j |  j |  j   |  j   d S  d k r|  j   d  S|  j t k r  d* k s|  j t k r  d+ k r| t	 @rt |  j j   d  } |  j | d  t |  j   |  j k r|  j t k sx|  j r|  j
 |  j |  n  |  j   d  S  d, k r-| r-d- |  _ t |  j j   d  }   d k rd } n  d k r	t |  j  d } n   d. k r|  j j |  j j    |  j j d  }   d k rbt d | |  } q  d k stt  t t |  j  d | |  } nT   d k rt d | d  } n2   d k st  t t |  j  d | d  } |  j j |  |  j j |  |  j   |  j
 |  j |  d S  d k r| r|  j rt |  j j   d  } |  j
 |  j |  |  j   d Sd- |  _ d- |  _ d  Sn t   f d d   d/ D  rd  S| j rK| j d% k rK|  j
 |  j | j  |  j |  _ |  j j d t |  j j   d   |  j j |  j |  j   |  j   d S|  j   d  Sd  S(0   Nu   mc_statei    u   Tabi   u
   underscoreu	   BackSpaceu   periodu   minusu   _u   .u   -u   breaku   Returnu   spaceu	   parenleftu
   parenrightu   bracketleftu   bracketrightu   slashu	   backslashu   quotedblu
   apostropheu   Homeu   Endu   Prioru   Nextu   Upu   Downc             3   s   |  ] } |   k Vq d  S(   N(    (   u   .0u   s(   u   keysym(    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu	   <genexpr>a  s    u4   AutoCompleteWindow.keypress_event.<locals>.<genexpr>u   Shiftu   Controlu   Altu   Metau   Commandu   Optionu    F(   u
   underscoreu	   BackSpace(   u   periodu   minusi(   u   periodu   spaceu	   parenleftu
   parenrightu   bracketleftu   bracketright(   u   slashu	   backslashu   quotedblu
   apostrophe(   u   Homeu   Endu   Prioru   Nextu   Upu   DownT(   u   Prioru   Next(   u   Shiftu   Controlu   Altu   Metau   Commandu   Option(    u	   is_activeu   keysymu   hasattru   mc_stateu   Falseu   lastkey_was_tabu   lenu   modeu   COMPLETE_FILESu   MC_SHIFTu   _change_startu   startu   hide_windowu   lasttypedstartu   listboxu   select_clearu   intu   curselectionu
   select_setu   _binary_searchu   _selection_changedu   COMPLETE_ATTRIBUTESu   completionsu   Trueu   userwantswindowu   nearestu   winfo_heightu   maxu   AssertionErroru   minu   anyu   char(   u   selfu   eventu   stateu   curselu   newselu   jump(    (   u   keysymu?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   keypress_event  s    		
&

 		)
		# 
	
		&

u!   AutoCompleteWindow.keypress_eventc             C   s[   |  j    s d  S|  j j d  |  j j d |  j t |  j  f  k rW |  j   n  d  S(   Nu   insertu   %s+%dc(   u	   is_activeu   widgetu   indexu
   startindexu   lenu   startu   hide_window(   u   selfu   event(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   keyrelease_eventt  s
    +u#   AutoCompleteWindow.keyrelease_eventc             C   s   |  j  d  k	 S(   N(   u   autocompletewindowu   None(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu	   is_active|  s    u   AutoCompleteWindow.is_activec             C   s   |  j  |  j |  j   d  S(   N(   u   _change_startu   _complete_stringu   start(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   complete  s    u   AutoCompleteWindow.completec             C   sL  |  j    s d  Sx! t D] } |  j j t |  q W|  j j t |  j  d  |  _ x! t D] } |  j j t	 |  qZ W|  j j t	 |  j
  d  |  _
 |  j j t t  |  j j t |  j  d  |  _ |  j j t |  j  d  |  _ |  j j t |  j  d  |  _ |  j j   d  |  _ |  j j   d  |  _ |  j j   d  |  _ d  S(   N(   u	   is_activeu   HIDE_SEQUENCESu   widgetu   event_deleteu   HIDE_VIRTUAL_EVENT_NAMEu   unbindu   hideidu   Noneu   KEYPRESS_SEQUENCESu   KEYPRESS_VIRTUAL_EVENT_NAMEu
   keypressidu   KEYRELEASE_VIRTUAL_EVENT_NAMEu   KEYRELEASE_SEQUENCEu   keyreleaseidu   listboxu   LISTUPDATE_SEQUENCEu   listupdateidu   autocompletewindowu   WINCONFIG_SEQUENCEu   winconfigidu	   scrollbaru   destroy(   u   selfu   seq(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   hide_window  s0    							u   AutoCompleteWindow.hide_windowN(   u   __name__u
   __module__u   __qualname__u   __init__u   _change_startu   _binary_searchu   _complete_stringu   _selection_changedu   show_windowu   winconfig_eventu
   hide_eventu   listselect_eventu   doubleclick_eventu   keypress_eventu   keyrelease_eventu	   is_activeu   completeu   hide_window(   u
   __locals__(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   AutoCompleteWindow   s    $Esu   AutoCompleteWindowN(   u
   <FocusOut>u   <ButtonPress>(
   u   <Key>u   <Key-BackSpace>u   <Key-Return>u	   <Key-Tab>u   <Key-Up>u
   <Key-Down>u
   <Key-Home>u	   <Key-End>u   <Key-Prior>u
   <Key-Next>(   u   __doc__u   tkinteru   idlelib.MultiCallu   MC_SHIFTu   idlelib.AutoCompleteu   COMPLETE_FILESu   COMPLETE_ATTRIBUTESu   HIDE_VIRTUAL_EVENT_NAMEu   HIDE_SEQUENCESu   KEYPRESS_VIRTUAL_EVENT_NAMEu   KEYPRESS_SEQUENCESu   KEYRELEASE_VIRTUAL_EVENT_NAMEu   KEYRELEASE_SEQUENCEu   LISTUPDATE_SEQUENCEu   WINCONFIG_SEQUENCEu   DOUBLECLICK_SEQUENCEu   AutoCompleteWindow(    (    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   <module>   s   
  