diff -r 0ca9e0aa06df Lib/tkinter/__init__.py --- a/Lib/tkinter/__init__.py Fri Jul 25 00:55:23 2014 +0200 +++ b/Lib/tkinter/__init__.py Fri Jul 25 09:33:47 2014 +0300 @@ -419,6 +419,12 @@ disabledForeground, insertBackground, troughColor.""" self.tk.call(('tk_setPalette',) + _flatten(args) + _flatten(list(kw.items()))) + def tk_menuBar(self, *args): + """Do not use. Needed in Tk 3.6 and earlier.""" + # obsolete since Tk 4.0 + import warnings + warnings.warn('tk_menuBar() does nothing and will be removed in 3.6', + DeprecationWarning, stacklevel=2) def wait_variable(self, name='PY_VAR'): """Wait until the variable is modified. @@ -2660,6 +2666,12 @@ def tk_popup(self, x, y, entry=""): """Post the menu at position X,Y with entry ENTRY.""" self.tk.call('tk_popup', self._w, x, y, entry) + def tk_bindForTraversal(self): + # obsolete since Tk 4.0 + import warnings + warnings.warn('tk_bindForTraversal() does nothing and ' + 'will be removed in 3.6', + DeprecationWarning, stacklevel=2) def activate(self, index): """Activate entry at INDEX.""" self.tk.call(self._w, 'activate', index) diff -r 0ca9e0aa06df Lib/turtledemo/__main__.py --- a/Lib/turtledemo/__main__.py Fri Jul 25 00:55:23 2014 +0200 +++ b/Lib/turtledemo/__main__.py Fri Jul 25 09:33:47 2014 +0300 @@ -118,11 +118,12 @@ root.grid_columnconfigure(2, minsize=90, weight=1) root.grid_columnconfigure(3, minsize=90, weight=1) - self.mBar = Frame(root, relief=RAISED, borderwidth=2) - self.ExamplesBtn = self.makeLoadDemoMenu() - self.OptionsBtn = self.makeHelpMenu() - self.mBar.tk_menuBar(self.ExamplesBtn, self.OptionsBtn) - self.mBar.grid(row=0, columnspan=4, sticky='news') + self.mBar = Menu(root, relief=RAISED, borderwidth=2) + self.mBar.add_cascade(menu=self.makeLoadDemoMenu(self.mBar), + label='Examples', underline=0, font=menufont) + self.mBar.add_cascade(menu=self.makeHelpMenu(self.mBar), + label='Help', underline=0, font=menufont) + root['menu'] = self.mBar pane = PanedWindow(orient=HORIZONTAL, sashwidth=5, sashrelief=SOLID, bg='#ddd') @@ -198,7 +199,7 @@ return canvas def configGUI(self, menu, start, stop, clear, txt="", color="blue"): - self.ExamplesBtn.config(state=menu) + self.mBar.entryconfigure(0, state=menu) self.start_btn.config(state=start) if start == NORMAL: @@ -221,37 +222,30 @@ self.output_lbl.config(text=txt, fg=color) - def makeLoadDemoMenu(self): - CmdBtn = Menubutton(self.mBar, text='Examples', - underline=0, font=menufont) - CmdBtn.pack(side=LEFT, padx="2m") - CmdBtn.menu = Menu(CmdBtn) + def makeLoadDemoMenu(self, master): + menu = Menu(master) for entry in getExampleEntries(): def loadexample(x): def emit(): self.loadfile(x) return emit - CmdBtn.menu.add_command(label=entry, underline=0, - font=menufont, command=loadexample(entry)) + menu.add_command(label=entry, underline=0, + font=menufont, command=loadexample(entry)) - CmdBtn['menu'] = CmdBtn.menu - return CmdBtn + return menu - def makeHelpMenu(self): - CmdBtn = Menubutton(self.mBar, text='Help', underline=0, font=menufont) - CmdBtn.pack(side=LEFT, padx='2m') - CmdBtn.menu = Menu(CmdBtn) + def makeHelpMenu(self, master): + menu = Menu(master) - CmdBtn.menu.add_command(label='About turtle.py', font=menufont, - command=showAboutTurtle) - CmdBtn.menu.add_command(label='turtleDemo - Help', font=menufont, - command=showDemoHelp) - CmdBtn.menu.add_command(label='About turtleDemo', font=menufont, - command=showAboutDemo) + menu.add_command(label='About turtle.py', font=menufont, + command=showAboutTurtle) + menu.add_command(label='turtleDemo - Help', font=menufont, + command=showDemoHelp) + menu.add_command(label='About turtleDemo', font=menufont, + command=showAboutDemo) - CmdBtn['menu'] = CmdBtn.menu - return CmdBtn + return menu def refreshCanvas(self): if not self.dirty: return