3 § fjã@snddlTddlmZddlmZGdd„dƒZdd„Zedkrjdd lm Z e d d d �dd l m Z e eƒdS)é)Ú*)Ú 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|ƒ|_}|jjddd�t|dd�|_}|jjddd�t|d d d �|_}|rh|j|ƒ|jddd �|j |d <|j |d<|j d|j ƒ|j d|j ƒtjƒrÌ|j d|jƒ|j d|jƒn|j d|jƒ|j d|jƒ|j d|jƒ|jƒdS)NZbothé)ÚfillÚexpandÚvbar)ÚnameÚrightÚy)ZsiderrZwhite)ZexportselectionZ background)rrZcommandZyscrollcommandzzzzzzz )ÚmasterZFrameÚframeZpackrr ZListboxÚlistboxZ configureZyviewÚsetZbindÚ click_eventÚdouble_click_eventrZisAquaTkÚ popup_eventÚup_eventÚ down_eventÚclear)Úselfr Zoptionsrr r©rú9/opt/alt/python36/lib64/python3.6/idlelib/scrolledlist.pyÚ__init__ s*   zScrolledList.__init__cCs|jjƒdS)N)rZdestroy)rrrrÚclose'szScrolledList.closecCs(|jjddƒd|_|jjd|jƒdS)NrÚendr)rÚdeleteÚemptyÚinsertÚdefault)rrrrr*szScrolledList.clearcCs0|jr|jjddƒd|_|jjdt|ƒƒdS)Nrr)rrrrÚstr)rÚitemrrrÚappend/szScrolledList.appendcCs |jj|ƒS)N)rÚget)rÚindexrrrr$5szScrolledList.getcCs<|jjd|j|jfƒ|jjdƒ}|j|ƒ|j|ƒdS)Nz@%d,%dÚactiveÚbreak)rÚactivateÚxr r%ÚselectÚ on_select)rÚeventr%rrrr8s    zScrolledList.click_eventcCs$|jjdƒ}|j|ƒ|j|ƒdS)Nr&r')rr%r*Ú on_double)rr,r%rrrr?s   zScrolledList.double_click_eventNcCsV|js|jƒ|j}|jjd|j|jfƒ|jjdƒ}|j|ƒ|j|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�}||_|jƒdS)Nr)Ztearoff)ZMenurr.Ú fill_menu)rr.rrrr/QszScrolledList.make_menucCs\|jjdƒ}|jj|ƒr"|d}n|jjƒd}|dkrD|jjƒn|j|ƒ|j|ƒdS)Nr&rrr')rr%Úselection_includesÚsizeÚbellr*r+)rr,r%rrrrVs      zScrolledList.up_eventcCsX|jjdƒ}|jj|ƒr"|d}nd}||jjƒkr@|jjƒn|j|ƒ|j|ƒdS)Nr&rrr')rr%r1r2r3r*r+)rr,r%rrrrcs      zScrolledList.down_eventcCs@|jjƒ|jj|ƒ|jjddƒ|jj|ƒ|jj|ƒdS)Nrr)rZ focus_setr(Zselection_clearZ selection_setZsee)rr%rrrr*ps    zScrolledList.selectcCsdS)Nr)rrrrr0yszScrolledList.fill_menucCsdS)Nr)rr%rrrr+|szScrolledList.on_selectcCsdS)Nr)rr%rrrr-szScrolledList.on_double)Ú__name__Ú __module__Ú __qualname__r rrrr#r$rrr.rr/rrr*r0r+r-rrrrrs"    rcCs~t|ƒ}tt|jƒjdƒdd…ƒ\}}|jd|d|dfƒGdd„dtƒ}||ƒ}xtdƒD]}|jd |ƒqdWdS) Nú+rz+%d+%déÈé¯c@s$eZdZdd„Zdd„Zdd„ZdS)z&_scrolled_list..MyScrolledListcSs|jjdd�dS)Nz right click)Zlabel)r.Z add_command)rrrrr0ˆsz0_scrolled_list..MyScrolledList.fill_menucSstd|j|ƒƒdS)Nr*)Úprintr$)rr%rrrr+‰sz0_scrolled_list..MyScrolledList.on_selectcSstd|j|ƒƒdS)NZdouble)r:r$)rr%rrrr-Šsz0_scrolled_list..MyScrolledList.on_doubleN)r4r5r6r0r+r-rrrrÚMyScrolledList‡sr;éz Item %02d)ZToplevelÚmapÚintZgeometryÚsplitrÚranger#)ÚparentÚtopr)r r;Z scrolled_listÚirrrÚ_scrolled_listƒs rDÚ__main__)Úmainz#idlelib.idle_test.test_scrolledlisté)Ú verbosity)ÚrunN) ZtkinterZ tkinter.ttkrZidlelibrrrDr4ZunittestrFZidlelib.idle_test.htestrIrrrrÚs  |