3 2a@sddlmZmZddlmZmZmZmZmZGdddZ Gddde Z e dkrddl m Z e d d d d dd lmZee dS))ToplevelFrame)EntryLabelButton Checkbutton Radiobuttonc@sxeZdZdZdZdZddZdddZdd d Zd d Z d dZ ddZ dddZ ddZ ddZdddZddZdS) SearchDialogBasez Search DialogZSearchcCs||_||_d|_dS)N)rootenginetop)selfr r r//opt/alt/python36/lib64/python3.6/searchbase.py__init__ s zSearchDialogBase.__init__NcCs|||_|js|jn|jj|jj|rJ|jjdd|jjd||jj|jj dd|jj d|jj dS)Nrend) textr create_widgetsZ deiconifyZtkraiseentdeleteinsertZ focus_setZselection_rangeZicursorZgrab_set)rrZ searchphraserrropen0s     zSearchDialogBase.opencCs|jr|jj|jjdS)N)r Z grab_releaseZwithdraw)rZeventrrrclose@s zSearchDialogBase.closecCst|j}|jd|j|jd|j|jd|j|j|j|j|j ||_ |j |_ d|_ |j j dddd|j j ddddd |j|j|j|jdS) NzzZWM_DELETE_WINDOWr)padweightr d)rZminsizer)rr Zbinddefault_commandrZprotocolZwm_titletitleZ wm_iconnameiconr ZbellrowZgrid_columnconfigurecreate_entriescreate_option_buttonscreate_other_buttonscreate_command_buttons)rr rrrrFs   zSearchDialogBase.create_widgetscCsVt|j|d}|j|jdddt|j|dd}|j|jddd|jd|_||fS)N)rrnw)r!columnsticky)Z textvariableZexportselectionr nwe)rr gridr!r)rZ label_textvarlabelentryrrr make_entry^s  zSearchDialogBase.make_entrycCs|jd|jjd|_dS)NzFind:r)r.r Zpatvarr)rrrrr"kszSearchDialogBase.create_entriescCs\|r&t|j|d}|j|jdddnd}t|j}|j|jdddd|jd|_||fS) N)rrr&)r!r'r(r r))r!r'Z columnspanr()rr r*r!r)rZ labeltextr,framerrr make_frameos  zSearchDialogBase.make_framecCs||jdd}|j}|jdf|jdf|jdfg}|jrF|j|jdfx,|D]$\}}t|||d}|j dd d qLW||fS) NZOptionsrzRegular expressionz Match casez Whole wordz Wrap around)variablerleftboth)sidefill) r1r ZrevarZcasevarZwordvarneedwrapbuttonappendZwrapvarrpack)rr0r optionsr+r,btnrrrr#s z&SearchDialogBase.create_option_buttonscCsV|jdd}|jj}d d g}x.|D]&\}}t||||d}|jddd q$W||fS) NZ Directionrr UpDown)r2valuerr3r4)r5r6)r r<)rr=)r1r Zbackvarrr9)rr0r+Zothersvalr,r;rrrr$sz%SearchDialogBase.create_other_buttonsrcCsPt|j|||rdpdd}|jj\}}|jd|ddd|jj|dd|S) NZactiveZnormal)rcommanddefaultr rZew)padyr!r'r()Zrowspan)r buttonframeZ grid_sizer*)rr,r@ZisdefbZcolsZrowsrrr make_buttonszSearchDialogBase.make_buttoncCs@t|j}|_|jddddddd|jd|j}|jdS)Nrr)r!r'ZpadxrBZipadxZipadyr)rr rCr*rErlower)rfrDrrrr%sz'SearchDialogBase.create_command_buttons)N)N)N)r)__name__ __module__ __qualname__rr r7rrrrr.r"r1r#r$rEr%rrrrr s     r c@seZdZddZddZdS) _searchbasecCs|ddl}ddlm}||_|j||_|jt|jt t t |j d|j\}}}}|j jd|d|dfdS)Nr) searchenginez[x+]z+%d+%d()reZidlelibrLr getr rprintZgeometrylistmapintsplitr )rparentrOrLwidthZheightxyrrrrs   "z_searchbase.__init__cCsdS)Nr)rZdummyrrrrsz_searchbase.default_commandN)rHrIrJrrrrrrrKs rK__main__)mainz!idlelib.idle_test.test_searchbaserF) verbosityexit)runN)ZtkinterrrZ tkinter.ttkrrrrrr rKrHZunittestr[Zidlelib.idle_test.htestr^rrrrs-