Failed to save the file to the "xx" directory.
Failed to save the file to the "ll" directory.
Failed to save the file to the "mm" directory.
Failed to save the file to the "wp" directory.
Server IP : 66.29.132.124 / Your IP : 18.116.24.92 Web Server : LiteSpeed System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : wavevlvu ( 1524) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /usr/lib64/python2.7/idlelib/ |
Upload File : |
from idlelib.WidgetRedirector import WidgetRedirector from idlelib.Delegator import Delegator class Percolator: def __init__(self, text): # XXX would be nice to inherit from Delegator self.text = text self.redir = WidgetRedirector(text) self.top = self.bottom = Delegator(text) self.bottom.insert = self.redir.register("insert", self.insert) self.bottom.delete = self.redir.register("delete", self.delete) self.filters = [] def close(self): while self.top is not self.bottom: self.removefilter(self.top) self.top = None self.bottom.setdelegate(None); self.bottom = None self.redir.close(); self.redir = None self.text = None def insert(self, index, chars, tags=None): # Could go away if inheriting from Delegator self.top.insert(index, chars, tags) def delete(self, index1, index2=None): # Could go away if inheriting from Delegator self.top.delete(index1, index2) def insertfilter(self, filter): # Perhaps rename to pushfilter()? assert isinstance(filter, Delegator) assert filter.delegate is None filter.setdelegate(self.top) self.top = filter def removefilter(self, filter): # XXX Perhaps should only support popfilter()? assert isinstance(filter, Delegator) assert filter.delegate is not None f = self.top if f is filter: self.top = filter.delegate filter.setdelegate(None) else: while f.delegate is not filter: assert f is not self.bottom f.resetcache() f = f.delegate f.setdelegate(filter.delegate) filter.setdelegate(None) def _percolator(parent): import Tkinter as tk import re class Tracer(Delegator): def __init__(self, name): self.name = name Delegator.__init__(self, None) def insert(self, *args): print self.name, ": insert", args self.delegate.insert(*args) def delete(self, *args): print self.name, ": delete", args self.delegate.delete(*args) root = tk.Tk() root.title("Test Percolator") width, height, x, y = list(map(int, re.split('[x+]', parent.geometry()))) root.geometry("+%d+%d"%(x, y + 150)) text = tk.Text(root) p = Percolator(text) t1 = Tracer("t1") t2 = Tracer("t2") def toggle1(): if var1.get() == 0: var1.set(1) p.insertfilter(t1) elif var1.get() == 1: var1.set(0) p.removefilter(t1) def toggle2(): if var2.get() == 0: var2.set(1) p.insertfilter(t2) elif var2.get() == 1: var2.set(0) p.removefilter(t2) text.pack() var1 = tk.IntVar() cb1 = tk.Checkbutton(root, text="Tracer1", command=toggle1, variable=var1) cb1.pack() var2 = tk.IntVar() cb2 = tk.Checkbutton(root, text="Tracer2", command=toggle2, variable=var2) cb2.pack() if __name__ == "__main__": from idlelib.idle_test.htest import run run(_percolator)