3  fj@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 )masterZFrameframeZpackrr ZListboxlistboxZ configureZyviewsetZbind click_eventdouble_click_eventrZisAquaTk popup_eventup_event down_eventclear)selfr Zoptionsrr rr9/opt/alt/python36/lib64/python3.6/idlelib/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)rrrrstr)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,r.r%rrrrGs  zScrolledList.popup_eventcCs t|jdd}||_|jdS)Nr)Ztearoff)ZMenurr. fill_menu)rr.rrrr/QszScrolledList.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%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|jjddd\}}|jd|d|dfGdddt}||}xtdD]}|jd |qdWdS) N+rz+%d+%dc@s$eZdZddZddZddZdS)z&_scrolled_list..MyScrolledListcSs|jjdddS)Nz right click)Zlabel)r.Z add_command)rrrrr0sz0_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-rrrrMyScrolledListsr;z Item %02d)ZToplevelmapintZgeometrysplitrranger#)parenttopr)r r;Z scrolled_listirrr_scrolled_lists rD__main__)mainz#idlelib.idle_test.test_scrolledlist) verbosity)runN) ZtkinterZ tkinter.ttkrZidlelibrrrDr4ZunittestrFZidlelib.idle_test.htestrIrrrrs  |