3 Õì2ajã@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ÚframeÚpackrr ZListboxÚlistboxZ configureZyviewÚsetZbindÚ click_eventÚdouble_click_eventrZisAquaTkÚ popup_eventÚup_eventÚ down_eventÚclear)Úselfr Úoptionsrr r©rú1/opt/alt/python36/lib64/python3.6/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)r rrr!Ú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.r0r'rrrrGs  zScrolledList.popup_eventcCs t|jdd�}||_|jƒdS)Nr)Ztearoff)ZMenurr0Ú fill_menu)rr0rrrr1QszScrolledList.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'r3r4r5r,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)rrrrr2yszScrolledList.fill_menucCsdS)Nr)rr'rrrr-|szScrolledList.on_selectcCsdS)Nr)rr'rrrr/szScrolledList.on_double)Ú__name__Ú __module__Ú __qualname__r"rrrr%r&rrr0rr1rrr,r2r-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)r0Z add_command)rrrrr2ˆ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)r6r7r8r2r-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.ttkrZidlelibrrrFr6ZunittestrHZidlelib.idle_test.htestrKrrrrÚs  |