a 9dg@sjddlmZGdddZGdddZddZedkrfdd lmZed d d d ddlm Z e edS))TclErrorc@s<eZdZddZddZddZddZd d Zd d Zd S)WidgetRedirectorcCsJi|_||_|j|_}|j}|d|_|d||j|||jdS)NZ_origrename) _operationswidgettk_worigcallZ createcommanddispatch)selfrrwr./usr/local/lib/python3.9/idlelib/redirector.py__init__s   zWidgetRedirector.__init__cCsd|jj|jjj|jjfS)Nz %s(%s<%s>)) __class____name__rrr rrr__repr__1szWidgetRedirector.__repr__cCsRt|jD]}||q |j}|j}|j}|||d|j||`|`dS)Nr) listr unregisterrrrZ deletecommandr r )r operationrrr rrrclose6s  zWidgetRedirector.closecCs"||j|<t|j||t||SN)rsetattrrOriginalCommandr rfunctionrrrregisterCs zWidgetRedirector.registercCsL||jvrD|j|}|j|=zt|j|Wnty>Yn0|SdSdSr)rdelattrrAttributeErrorrrrrrRs   zWidgetRedirector.unregistercGsP|j|}z*|r||WS|j|j|f|WSWntyJYdS0dS)N)rgetrr r r)r rargsmrrrr bs   zWidgetRedirector.dispatchN) r __module__ __qualname__rrrrrr rrrrrs  rc@s$eZdZddZddZddZdS)rcCs6||_||_|j|_|j|_|jj|_|j|f|_dSr)redirrrr r tk_callorig_and_operation)r r'rrrrrs  zOriginalCommand.__init__cCsd|jj|j|jfS)Nz %s(%r, %r))rrr'rrrrrrszOriginalCommand.__repr__cGs||j|Sr)r(r))r r#rrr__call__szOriginalCommand.__call__N)rr%r&rrr*rrrrrxs rc sddlm}m}||}|dtt|ddd\}}|d||df||}|| t |}fdd }| d |dS) Nr)ToplevelTextzTest WidgetRedirector+z+%d+%dcstd||dS)Ninsert)print)r#Zoriginal_insertrr my_inserts z%_widget_redirector..my_insertr0) tkinterr+r,titlemapintZgeometrysplitpackZ focus_setrr) parentr+r,topxytextr'r3rr2r_widget_redirectors   r?__main__)mainz!idlelib.idle_test.test_redirectorF) verbosityexit)runN) r4rrrr?rZunittestrAZidlelib.idle_test.htestrErrrrs u!