diff options
author | Guido van Rossum <guido@python.org> | 2003-06-14 00:08:37 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2003-06-14 00:08:37 (GMT) |
commit | ecb544e95bc02a59d0acc1e28f3ef5624d399210 (patch) | |
tree | 589449882db7543c5562347b1120a8d0e57b219f /Tools/idle/WindowList.py | |
parent | 91012fe9b58b9dff2298aad453804023d557447b (diff) | |
download | cpython-ecb544e95bc02a59d0acc1e28f3ef5624d399210.zip cpython-ecb544e95bc02a59d0acc1e28f3ef5624d399210.tar.gz cpython-ecb544e95bc02a59d0acc1e28f3ef5624d399210.tar.bz2 |
Get rid of old IDLE. Lib/idlelib rules!
Diffstat (limited to 'Tools/idle/WindowList.py')
-rw-r--r-- | Tools/idle/WindowList.py | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/Tools/idle/WindowList.py b/Tools/idle/WindowList.py deleted file mode 100644 index 7e05a57..0000000 --- a/Tools/idle/WindowList.py +++ /dev/null @@ -1,85 +0,0 @@ -from Tkinter import * - -class WindowList: - - def __init__(self): - self.dict = {} - self.callbacks = [] - - def add(self, window): - window.after_idle(self.call_callbacks) - self.dict[str(window)] = window - - def delete(self, window): - try: - del self.dict[str(window)] - except KeyError: - # Sometimes, destroy() is called twice - pass - self.call_callbacks() - - def add_windows_to_menu(self, menu): - list = [] - for key in self.dict.keys(): - window = self.dict[key] - try: - title = window.get_title() - except TclError: - continue - list.append((title, window)) - list.sort() - for title, window in list: - if title == "Python Shell": - # Hack -- until we have a better way to this - continue - menu.add_command(label=title, command=window.wakeup) - - def register_callback(self, callback): - self.callbacks.append(callback) - - def unregister_callback(self, callback): - try: - self.callbacks.remove(callback) - except ValueError: - pass - - def call_callbacks(self): - for callback in self.callbacks: - try: - callback() - except: - print "warning: callback failed in WindowList", \ - sys.exc_type, ":", sys.exc_value - -registry = WindowList() - -add_windows_to_menu = registry.add_windows_to_menu -register_callback = registry.register_callback -unregister_callback = registry.unregister_callback - - -class ListedToplevel(Toplevel): - - def __init__(self, master, **kw): - Toplevel.__init__(self, master, kw) - registry.add(self) - - def destroy(self): - registry.delete(self) - Toplevel.destroy(self) - - def get_title(self): - # Subclass can override - return self.wm_title() - - def wakeup(self): - try: - if self.wm_state() == "iconic": - self.wm_deiconify() - else: - self.tkraise() - self.focus_set() - except TclError: - # This can happen when the window menu was torn off. - # Simply ignore it. - pass |