[Python-checkins] IDLE: Create function to update menu item state. (GH-11343)

Terry Jan Reedy webhook-mailer at python.org
Fri Dec 28 13:15:34 EST 2018


https://github.com/python/cpython/commit/804a5d94b6b7f8cb8546112aee2bc3af362f28f5
commit: 804a5d94b6b7f8cb8546112aee2bc3af362f28f5
branch: master
author: Cheryl Sabella <cheryl.sabella at gmail.com>
committer: Terry Jan Reedy <tjreedy at udel.edu>
date: 2018-12-28T13:15:30-05:00
summary:

IDLE: Create function to update menu item state. (GH-11343)

This will be needed for other menu items.  Change outwin to call the function instead of updating the menu item directly.

files:
M Lib/idlelib/editor.py
M Lib/idlelib/outwin.py

diff --git a/Lib/idlelib/editor.py b/Lib/idlelib/editor.py
index d92b32b24004..f4437668a3ed 100644
--- a/Lib/idlelib/editor.py
+++ b/Lib/idlelib/editor.py
@@ -447,10 +447,15 @@ def postwindowsmenu(self):
         window.add_windows_to_menu(menu)
 
     def update_menu_label(self, menu, index, label):
-        "Update label for menu item at index ."
+        "Update label for menu item at index."
         menuitem = self.menudict[menu]
         menuitem.entryconfig(index, label=label)
 
+    def update_menu_state(self, menu, index, state):
+        "Update state for menu item at index."
+        menuitem = self.menudict[menu]
+        menuitem.entryconfig(index, state=state)
+
     def handle_yview(self, event, *args):
         "Handle scrollbar."
         if event == 'moveto':
diff --git a/Lib/idlelib/outwin.py b/Lib/idlelib/outwin.py
index f6361eb9aef1..ecc53ef0195d 100644
--- a/Lib/idlelib/outwin.py
+++ b/Lib/idlelib/outwin.py
@@ -78,8 +78,7 @@ def __init__(self, *args):
         EditorWindow.__init__(self, *args)
         self.text.bind("<<goto-file-line>>", self.goto_file_line)
         self.text.unbind("<<toggle-code-context>>")
-        self.menudict['options'].entryconfig('*Code Context',
-                                             state='disabled')
+        self.update_menu_state('options', '*Code Context', 'disabled')
 
     # Customize EditorWindow
     def ispythonsource(self, filename):



More information about the Python-checkins mailing list