JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbrў f}c@sVddlTGdddZGdddZddZedkrRend S( i(u*cBsb|EeZdZdZddZddZddZdd Zd d Zd d Z dS(uWidgetRedirectoruSupport for redirecting arbitrary widget subcommands. Some Tk operations don't normally pass through Tkinter. For example, if a character is inserted into a Text widget by pressing a key, a default Tk binding to the widget's 'insert' operation is activated, and the Tk library processes the insert without calling back into Tkinter. Although a binding to could be made via Tkinter, what we really want to do is to hook the Tk 'insert' operation itself. When a widget is instantiated, a Tcl command is created whose name is the same as the pathname widget._w. This command is used to invoke the various widget operations, e.g. insert (for a Text widget). We are going to hook this command and provide a facility ('register') to intercept the widget operation. In IDLE, the function being registered provides access to the top of a Percolator chain. At the bottom of the chain is a call to the original Tk widget operation. cCsei|_||_|j|_}|j}|d|_|jd||j|j||jdS(Nu_origurename(u _operationsuwidgetutku_wuorigucallu createcommandudispatch(uselfuwidgetutkuw((u=/opt/alt/python33/lib64/python3.3/idlelib/WidgetRedirector.pyu__init__s    uWidgetRedirector.__init__cCsd|jjj|jjfS(NuWidgetRedirector(%s<%s>)(uwidgetu __class__u__name__u_w(uself((u=/opt/alt/python33/lib64/python3.3/idlelib/WidgetRedirector.pyu__repr__&suWidgetRedirector.__repr__cCs{x$t|jD]}|j|qW|j}|`|j}|`|j}|j}|j||jd||dS(Nurename( ulistu _operationsu unregisteruwidgetuorigutku_wu deletecommanducall(uselfu operationuwidgetuorigutkuw((u=/opt/alt/python33/lib64/python3.3/idlelib/WidgetRedirector.pyuclose*s     uWidgetRedirector.closecCs-||j|.my_insertuinsert( uTku wm_protocoluquituTextupacku focus_setuWidgetRedirectoruregisteruprevious_tcl_fcnumainloopu unregisterucloseudestroy(urootutexturediru my_insert((u=/opt/alt/python33/lib64/python3.3/idlelib/WidgetRedirector.pyumainks          umainu__main__N(utkinteruWidgetRedirectoruOriginalCommandumainu__name__(((u=/opt/alt/python33/lib64/python3.3/idlelib/WidgetRedirector.pyus W