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ÚframeÚpackrr ZListboxÚlistboxZ configureZyviewÚsetZbindÚ click_eventÚdouble_click_eventrZisAquaTkÚ popup_eventÚup_eventÚ down_eventÚclear)ÚselfrÚoptionsrr 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)r!rr r"Ú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/r1r(rrrrGs  zScrolledList.popup_eventcCs t|jdd}||_| ¡dS)Nr)Ztearoff)ZMenurr1Ú fill_menu)rr1rrrr2QszScrolledList.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(r4r5r6r-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)rrrrr3yszScrolledList.fill_menucCsdS)Nr)rr(rrrr.|szScrolledList.on_selectcCsdS)Nr)rr(rrrr0szScrolledList.on_double)Ú__name__Ú __module__Ú __qualname__r#rrrr&r'rrr1rr2rrr-r3r.r0rrrrrs"    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)r1Z add_command)rrrrr3ˆóz0_scrolled_list..MyScrolledList.fill_menucSstd| |¡ƒdS)Nr-)Úprintr')rr(rrrr.‰r=z0_scrolled_list..MyScrolledList.on_selectcSstd| |¡ƒdS)NZdouble)r>r')rr(rrrr0Šr=z0_scrolled_list..MyScrolledList.on_doubleN)r7r8r9r3r.r0rrrrÚMyScrolledList‡sr?éz Item %02d)ZToplevelÚmapÚintZgeometryÚsplitrÚranger&)ÚparentÚtopr,r r?Z scrolled_listÚirrrÚ_scrolled_listƒs rHÚ__main__)Úmainz#idlelib.idle_test.test_scrolledlisté)Ú verbosity)ÚrunN) ZtkinterZ tkinter.ttkrrZidlelibrrrHr7ZunittestrJZidlelib.idle_test.htestrMrrrrÚs |