B 4PˆÖ¢%Óã@srddlTddlmZmZddlmZGdd„dƒZdd„Zedkrndd l m Z e d d d dd l m Z e eƒdS)é)Ú*)ÚFrameÚ Scrollbar)Úmacosxc@sŒeZdZdZdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z dZ dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zdd „ZdS)!Ú ScrolledListz(None)cKs||_t|ƒ|_}|jjdddt|dd|_}|jjdddt|d d d |_}|rh| |¡|jddd |j |d <|j |d<|  d|j ¡|  d|j ¡t ¡rÌ|  d|j¡|  d|j¡n|  d|j¡|  d|j¡|  d|j¡| ¡dS)NZbothé)ÚfillÚexpandÚvbar)ÚnameÚrightÚy)ZsiderrZwhite)ZexportselectionZ background)r rZcommandZyscrollcommandzzzzzzz )ÚmasterrÚframeZpackrr ZListboxÚlistboxZ configureZyviewÚsetZbindÚ click_eventÚdouble_click_eventrZisAquaTkÚ popup_eventÚup_eventÚ down_eventÚclear)ÚselfrZoptionsrr r©rú7/opt/alt/python37/lib/python3.7/idlelib/scrolledlist.pyÚ__init__ s*   zScrolledList.__init__cCs|j ¡dS)N)rZdestroy)rrrrÚclose'szScrolledList.closecCs(|j dd¡d|_|j d|j¡dS)NrÚendr)rÚdeleteÚemptyÚinsertÚdefault)rrrrr*szScrolledList.clearcCs0|jr|j dd¡d|_|j dt|ƒ¡dS)Nrr)rrrr Ústr)rÚitemrrrÚappend/szScrolledList.appendcCs |j |¡S)N)rÚget)rÚindexrrrr%5szScrolledList.getcCs<|j d|j|jf¡|j d¡}| |¡| |¡dS)Nz@%d,%dÚactiveÚbreak)rÚactivateÚxr r&ÚselectÚ on_select)rÚeventr&rrrr8s    zScrolledList.click_eventcCs$|j d¡}| |¡| |¡dS)Nr'r()rr&r+Ú on_double)rr-r&rrrr?s   zScrolledList.double_click_eventNcCsV|js| ¡|j}|j d|j|jf¡|j d¡}| |¡| |j |j ¡dS)Nz@%d,%dr'r() ÚmenuÚ make_menurr)r*r r&r+Ztk_popupZx_rootZy_root)rr-r/r&rrrrGs  zScrolledList.popup_eventcCs t|jdd}||_| ¡dS)Nr)Ztearoff)ZMenurr/Ú fill_menu)rr/rrrr0QszScrolledList.make_menucCs\|j d¡}|j |¡r"|d}n|j ¡d}|dkrD|j ¡n| |¡| |¡dS)Nr'rrr()rr&Úselection_includesÚsizeÚbellr+r,)rr-r&rrrrVs      zScrolledList.up_eventcCsX|j d¡}|j |¡r"|d}nd}||j ¡kr@|j ¡n| |¡| |¡dS)Nr'rrr()rr&r2r3r4r+r,)rr-r&rrrrcs      zScrolledList.down_eventcCs@|j ¡|j |¡|j dd¡|j |¡|j |¡dS)Nrr)rZ focus_setr)Zselection_clearZ selection_setZsee)rr&rrrr+ps    zScrolledList.selectcCsdS)Nr)rrrrr1yszScrolledList.fill_menucCsdS)Nr)rr&rrrr,|szScrolledList.on_selectcCsdS)Nr)rr&rrrr.szScrolledList.on_double)Ú__name__Ú __module__Ú __qualname__r!rrrr$r%rrr/rr0rrr+r1r,r.rrrrrs"    rcCs~t|ƒ}tt| ¡ d¡dd…ƒ\}}| d|d|df¡Gdd„dtƒ}||ƒ}xtdƒD]}| d |¡qdWdS) Nú+rz+%d+%déÈé¯c@s$eZdZdd„Zdd„Zdd„ZdS)z&_scrolled_list..MyScrolledListcSs|jjdddS)Nz right click)Zlabel)r/Z add_command)rrrrr1ˆóz0_scrolled_list..MyScrolledList.fill_menucSstd| |¡ƒdS)Nr+)Úprintr%)rr&rrrr,‰r;z0_scrolled_list..MyScrolledList.on_selectcSstd| |¡ƒdS)NZdouble)r<r%)rr&rrrr.Šr;z0_scrolled_list..MyScrolledList.on_doubleN)r5r6r7r1r,r.rrrrÚMyScrolledList‡sr=éz Item %02d)ZToplevelÚmapÚintZgeometryÚsplitrÚranger$)ÚparentÚtopr*r r=Z scrolled_listÚirrrÚ_scrolled_listƒs rFÚ__main__)Úmainz#idlelib.idle_test.test_scrolledlisté)Ú verbosity)ÚrunN) ZtkinterZ tkinter.ttkrrZidlelibrrrFr5ZunittestrHZidlelib.idle_test.htestrKrrrrÚs |