diff options
author | Terry Jan Reedy <tjreedy@udel.edu> | 2018-06-20 21:25:59 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-20 21:25:59 -0400 |
commit | a361e89d5ae3daefe9e8b8a7e889cd2ad8c45b77 (patch) | |
tree | f213feb31b204946297645de94ca774ca65fd777 /Lib/idlelib/windows.py | |
parent | 87a927325e3856621790a39d8718ff24a19510aa (diff) | |
download | cpython-git-a361e89d5ae3daefe9e8b8a7e889cd2ad8c45b77.tar.gz |
bpo-33906: Rename idlelib.windows as window (#7833)
Match Window on the main menu and remove last plural module name.
Change imports, test, and attribute references to match new name.
Diffstat (limited to 'Lib/idlelib/windows.py')
-rw-r--r-- | Lib/idlelib/windows.py | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/Lib/idlelib/windows.py b/Lib/idlelib/windows.py deleted file mode 100644 index b1e50384e9..0000000000 --- a/Lib/idlelib/windows.py +++ /dev/null @@ -1,97 +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: - window = self.dict[key] - try: - title = window.get_title() - except TclError: - continue - list.append((title, key, window)) - list.sort() - for title, key, window in list: - 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: - t, v, tb = sys.exc_info() - print("warning: callback failed in WindowList", t, ":", v) - - -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) - self.focused_widget = self - - def destroy(self): - registry.delete(self) - Toplevel.destroy(self) - # If this is Idle's last window then quit the mainloop - # (Needed for clean exit on Windows 98) - if not registry.dict: - self.quit() - - def update_windowlist_registry(self, window): - registry.call_callbacks() - - def get_title(self): - # Subclass can override - return self.wm_title() - - def wakeup(self): - try: - if self.wm_state() == "iconic": - self.wm_withdraw() - self.wm_deiconify() - self.tkraise() - self.focused_widget.focus_set() - except TclError: - # This can happen when the window menu was torn off. - # Simply ignore it. - pass - - -if __name__ == "__main__": - from unittest import main - main('idlelib.idle_test.test_windows', verbosity=2) |