3 2aj@snddlTddlmZddlmZGdddZddZedkrjdd lm Z e d d d dd l m Z e edS))*) Scrollbar)macosxc@seZdZdZddZddZddZdd Zd d Zd d Z ddZ dZ ddZ ddZ ddZddZddZddZddZdd ZdS)! ScrolledListz(None)cKs||_t||_}|jjdddt|dd|_}|jjdddt|d d d |_}|rh|j||jddd |j |d <|j |d<|j d|j |j d|j tjr|j d|j|j d|jn|j d|j|j d|j|j d|j|jdS)NZboth)fillexpandvbar)namerighty)ZsiderrZwhite)ZexportselectionZ background)rrZcommandZyscrollcommandzzzzzzz )masterZFrameframepackrr ZListboxlistboxZ configureZyviewsetZbind click_eventdouble_click_eventrZisAquaTk popup_eventup_event down_eventclear)selfr optionsrr rr1/opt/alt/python36/lib64/python3.6/scrolledlist.py__init__ s*   zScrolledList.__init__cCs|jjdS)N)rZdestroy)rrrrclose'szScrolledList.closecCs(|jjddd|_|jjd|jdS)Nrendr)rdeleteemptyinsertdefault)rrrrr*szScrolledList.clearcCs0|jr|jjddd|_|jjdt|dS)Nrr)r rrr!str)ritemrrrappend/szScrolledList.appendcCs |jj|S)N)rget)rindexrrrr&5szScrolledList.getcCs<|jjd|j|jf|jjd}|j||j|dS)Nz@%d,%dactivebreak)ractivatexr r'select on_select)reventr'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}||_|jdS)Nr)Ztearoff)ZMenurr0 fill_menu)rr0rrrr1QszScrolledList.make_menucCs\|jjd}|jj|r"|d}n|jjd}|dkrD|jjn|j||j|dS)Nr(rrr))rr'selection_includessizebellr,r-)rr.r'rrrrVs      zScrolledList.up_eventcCsX|jjd}|jj|r"|d}nd}||jjkr@|jjn|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|jjddd\}}|jd|d|dfGdddt}||}xtdD]}|jd |qdWdS) N+rz+%d+%dc@s$eZdZddZddZddZdS)z&_scrolled_list..MyScrolledListcSs|jjdddS)Nz right click)Zlabel)r0Z add_command)rrrrr2sz0_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/rrrrMyScrolledListsr=z Item %02d)ZToplevelmapintZgeometrysplitrranger%)parenttopr+r r=Z scrolled_listirrr_scrolled_lists rF__main__)mainz#idlelib.idle_test.test_scrolledlist) verbosity)runN) ZtkinterZ tkinter.ttkrZidlelibrrrFr6ZunittestrHZidlelib.idle_test.htestrKrrrrs  |