summaryrefslogtreecommitdiff
path: root/Lib/idlelib/Percolator.py
diff options
context:
space:
mode:
authorTerry Jan Reedy <tjreedy@udel.edu>2016-05-22 19:10:31 -0400
committerTerry Jan Reedy <tjreedy@udel.edu>2016-05-22 19:10:31 -0400
commit0d9220e162f1e5f8caa3d7ebaa54665776d361a1 (patch)
treea4fa9f7cafdfc93fde86b8ffd6088d739bb93e01 /Lib/idlelib/Percolator.py
parentdc4f7c09cc934524a763498250e30123a0d9d2c5 (diff)
downloadcpython-git-0d9220e162f1e5f8caa3d7ebaa54665776d361a1.tar.gz
Issue #24225: Rename many idlelib/*.py and idlelib/idle_test/test_*.py files.
Diffstat (limited to 'Lib/idlelib/Percolator.py')
-rw-r--r--Lib/idlelib/Percolator.py105
1 files changed, 0 insertions, 105 deletions
diff --git a/Lib/idlelib/Percolator.py b/Lib/idlelib/Percolator.py
deleted file mode 100644
index b8be2aa746..0000000000
--- a/Lib/idlelib/Percolator.py
+++ /dev/null
@@ -1,105 +0,0 @@
-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): # htest #
- 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)
-
- box = tk.Toplevel(parent)
- box.title("Test Percolator")
- width, height, x, y = list(map(int, re.split('[x+]', parent.geometry())))
- box.geometry("+%d+%d" % (x, y + 150))
- text = tk.Text(box)
- p = Percolator(text)
- pin = p.insertfilter
- pout = p.removefilter
- t1 = Tracer("t1")
- t2 = Tracer("t2")
-
- def toggle1():
- (pin if var1.get() else pout)(t1)
- def toggle2():
- (pin if var2.get() else pout)(t2)
-
- text.pack()
- var1 = tk.IntVar()
- cb1 = tk.Checkbutton(box, text="Tracer1", command=toggle1, variable=var1)
- cb1.pack()
- var2 = tk.IntVar()
- cb2 = tk.Checkbutton(box, text="Tracer2", command=toggle2, variable=var2)
- cb2.pack()
-
-if __name__ == "__main__":
- import unittest
- unittest.main('idlelib.idle_test.test_percolator', verbosity=2,
- exit=False)
-
- from idlelib.idle_test.htest import run
- run(_percolator)