JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrB YI~dN@sddlZddlTddlmZddlmZmZddlmZdZ dZ e dfZ d Z d Z d Zd Zd ZdZdZGdddZedkrddlmZedddddS)N)*) Scrollbar)FILESATTRS)MC_SHIFTz<>z z z<>) zzz z zz z z z z z z!<>z zz zc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!S)"AutoCompleteWindowcCs||_d|_|_|_d|_|_d|_d|_d|_d|_ d|_ d|_ d|_ d|_ |_|_|_|_|_d|_d|_dS)NF)widgetautocompletewindowlistbox scrollbarorigselforegroundorigselbackground completionsmorecompletionsmodestart startindexlasttypedstartuserwantswindowZhideid keypressid listupdateid winconfigid keyreleaseid doubleclickidlastkey_was_tabis_configuring)selfrr;/opt/alt/python37/lib64/python3.7/idlelib/autocomplete_w.py__init__s $zAutoCompleteWindow.__init__cCstt|jt|}d}x&||kr>|j|||kr>|d7}qW|t|jkrv|jd|j|fd|jt|jf|t|kr|jd|j|f||d||_dS)Nrz%s+%dc)minlenrrdeleterinsert)rnewstartmin_lenirrr _change_start>s  z AutoCompleteWindow._change_startcCsXd}t|j}x4||krB||d}|j||kr8|}q|d}qWt|t|jdS)Nrr )r"rr!)rsr'jmrrr_binary_searchKs    z!AutoCompleteWindow._binary_searchc Cs||}|j|dt||kr(|S|d}t|j}x@||krz||d}|j|dt||krp|}q<|d}q| +t?|j@|_A| +tB|jC|_DdS)Nr$r z +10000+10000z!::tk::unsupported::MacWindowStyleZstylehelpZ noActivates)ZorientF)ZyscrollcommandZexportselectionr1r0)Zcommand)sidefillT)r=r>expand)Errrrindexrgetrr/r(r-r"rrZToplevelr wm_geometryZwm_overrideredirectZtkZcallZ_wZTclErrorrZVERTICALr ZListboxsetr r$r7r6r r ZconfigZyviewpackZRIGHTYZLEFTZBOTHZliftr8r9ZbindHIDE_VIRTUAL_EVENT_NAME hide_eventhideaidhidewidZ event_addHIDE_FOCUS_OUT_SEQUENCEHIDE_SEQUENCESKEYPRESS_VIRTUAL_EVENT_NAMEkeypress_eventrKEYPRESS_SEQUENCESKEYRELEASE_VIRTUAL_EVENT_NAMEkeyrelease_eventrKEYRELEASE_SEQUENCELISTUPDATE_SEQUENCElistselect_eventrrWINCONFIG_SEQUENCEwinconfig_eventrDOUBLECLICK_SEQUENCEdoubleclick_eventr)rZ comp_listsr@completerZ userWantsWinZ completedrr'acwr r r;seqrrr show_windowsn                 zAutoCompleteWindow.show_windowcCs|jr dSd|_|sdS|j}||j||j\}}}}|j}||| }} || } } | t |t d| |} | |} | ||| ks|| kr| |7} n| | 8} |d| | f|tdr|t|jd|_d|_dS)NTrz+%d+%dZWindowsF)r is_activerr5rZbboxr updateZ winfo_width winfo_heightZ winfo_rootxr!maxZ winfo_rootyrBZupdate_idletasksplatformsystem startswithunbindrTr)reventtextxyZcxcyrYZ acw_widthZ acw_height text_widthZ text_heightZnew_xZnew_yrrrrUs0   z"AutoCompleteWindow.winconfig_eventcCsB|js dSy|js|Wntk r<|YnXdS)N)r Z focus_get hide_windowKeyError)rrrr_hide_event_checks  z$AutoCompleteWindow._hide_event_checkcCs>|r:|jtjkr&|jd|jn|jtjkr:|dS)Nr ) r\typeZ EventTypeZFocusOutrZafterrlZ ButtonPressrj)rrdrrrrGs   zAutoCompleteWindow.hide_eventcCs4|r0d|_t|jd}||j|dS)NTr)r\rr3r r4r(r)rrdr:rrrrS(sz#AutoCompleteWindow.listselect_eventcCs.t|jd}||j||dS)Nr)r3r r4r(rrj)rrdr:rrrrW.sz$AutoCompleteWindow.doubleclick_eventcs|s dS|jt|dr$|j}nd}dkr6d|_tdks`dks`|jtkrJdkrJ|t@sJtdkr| |j n|dkr| |j d nbd kr| |j d nHd kr| |j d n.t|j dkr| dS| |j dd|j |_ |j dt|j d|j ||j |dSdkrh|| dS|jtkr~dks|jtkrdkr|t@st|j d}|j|dt|j |j kr|jtks|j r| |j|| dSdkr|sd|_t|j d}dkr:d}ndkrTt|jd}ndkr|j |j |j d}dkrtd||}ntt|jd||}n2dkrtd|d}ntt|jd|d}|j ||j ||| |j|dSdkrn|sn|jr\t|j d}| |j|| dSd|_d|_dSntfdddDrdS|jr|jdkr| |j |j|j |_ |j dt|j d|j ||j |dS| dSdS)Nmc_staterZTabFr ) underscoreZ BackSpace)periodminusro_rp.rq-breakZReturn)rpZspaceZ parenleftZ parenrightZ bracketleftZ bracketright)ZslashZ backslashZquotedblZ apostrophe)HomeEndPriorNextUpZDownTrwrx)ryrzryr{c3s|]}|kVqdS)Nr).0r*)keysymrr sz4AutoCompleteWindow.keypress_event..)ZShiftZControlZAltZMetaZCommandZOption )r\r}hasattrrnrr"rrrr(rrjrr Z select_clearr3r4r8r-r9rXrrrZnearestr^r_r!anychar)rrdstater:ZnewselZjumpr)r}rrM4s              z!AutoCompleteWindow.keypress_eventcCs@|s dS|jd|jd|jt|jfkr<|dS)Nr$z%s+%dc)r\rr@rr"rrj)rrdrrrrPs  z#AutoCompleteWindow.keyrelease_eventcCs |jdk S)N)r )rrrrr\szAutoCompleteWindow.is_activecCs|||jdS)N)r(r/r)rrrrrXszAutoCompleteWindow.completecCs(|s dS|jttxtD]}|jt|q W|jt|j|jt|j d|_d|_ xt D]}|jt |qhW|jt |j d|_ |jt t|jt |jd|_|jt|jd|_|jr|jt|jd|_|j|jd|_|jd|_|jd|_dS)N)r\r Z event_deleterFrJrKrrcrHrIrNrLrrOrQrr rRrrrTZ focus_setr Zdestroy)rrZrrrrjs<      zAutoCompleteWindow.hide_windowN)__name__ __module__ __qualname__rr(r-r/r9r[rUrlrGrSrWrMrPr\rXrjrrrrrs !   &L%  tr__main__)mainz%idlelib.idle_test.test_autocomplete_wr)F) verbosityexit)r`ZtkinterZ tkinter.ttkrZidlelib.autocompleterrZidlelib.multicallrrFrJrKrLrNrOrQrRrTrVrrZunittestrrrrrs*  G