diff -r 9e9e6e9f4cce Lib/turtledemo/__main__.py --- a/Lib/turtledemo/__main__.py Fri Jul 25 03:08:14 2014 -0400 +++ b/Lib/turtledemo/__main__.py Fri Jul 25 11:13:32 2014 +0300 @@ -112,22 +112,24 @@ root.title('Python turtle-graphics examples') root.wm_protocol("WM_DELETE_WINDOW", self._destroy) - root.grid_rowconfigure(1, weight=1) + root.grid_rowconfigure(0, weight=1) root.grid_columnconfigure(0, weight=1) root.grid_columnconfigure(1, minsize=90, weight=1) 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.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') pane.add(self.makeTextFrame(pane)) pane.add(self.makeGraphFrame(pane)) - pane.grid(row=1, columnspan=4, sticky='news') + pane.grid(row=0, columnspan=4, sticky='news') self.output_lbl = Label(root, height= 1, text=" --- ", bg="#ddf", font=("Arial", 16, 'normal'), borderwidth=2, @@ -141,10 +143,10 @@ self.clear_btn = Button(root, text=" CLEAR ", font=btnfont, fg="white", disabledforeground="#fed", command = self.clearCanvas) - self.output_lbl.grid(row=2, column=0, sticky='news', padx=(0,5)) - self.start_btn.grid(row=2, column=1, sticky='ew') - self.stop_btn.grid(row=2, column=2, sticky='ew') - self.clear_btn.grid(row=2, column=3, sticky='ew') + self.output_lbl.grid(row=1, column=0, sticky='news', padx=(0,5)) + self.start_btn.grid(row=1, column=1, sticky='ew') + self.stop_btn.grid(row=1, column=2, sticky='ew') + self.clear_btn.grid(row=1, column=3, sticky='ew') Percolator(self.text).insertfilter(ColorDelegator()) self.dirty = False @@ -197,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: @@ -220,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