diff -r 46af5ff86580 Lib/turtledemo/__main__.py --- a/Lib/turtledemo/__main__.py Thu Jul 24 14:25:56 2014 -0700 +++ b/Lib/turtledemo/__main__.py Thu Jul 24 15:36:11 2014 -0700 @@ -69,6 +69,7 @@ """ import sys import os +from collections import OrderedDict from tkinter import * from idlelib.Percolator import Percolator @@ -90,7 +91,6 @@ menufont = ("Arial", 12, NORMAL) btnfont = ("Arial", 12, 'bold') -txtfont = ('Lucida Console', 8, 'normal') def getExampleEntries(): return [entry[:-3] for entry in os.listdir(demo_dir) if @@ -121,7 +121,6 @@ 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') pane = PanedWindow(orient=HORIZONTAL, sashwidth=5, @@ -156,7 +155,6 @@ "Choose example from menu", "black") self.state = STARTUP - def onResize(self, event): cwidth = self._canvas.winfo_width() cheight = self._canvas.winfo_height() @@ -175,7 +173,11 @@ hbar['command'] = text.xview hbar.pack(side=BOTTOM, fill=X) - text['font'] = txtfont + self.txtfont = OrderedDict() + self.txtfont['font'] = 'Lucida Console' + self.txtfont['size'] = 8 + self.txtfont['type'] = 'normal' + text['font'] = tuple(self.txtfont.values()) text['yscrollcommand'] = vbar.set text['xscrollcommand'] = hbar.set text.pack(side=LEFT, fill=BOTH, expand=1) @@ -188,7 +190,7 @@ turtle._Screen._canvas = self._canvas = canvas = turtle.ScrolledCanvas( root, 800, 600, self.canvwidth, self.canvheight) canvas.adjustScrolls() - canvas._rootwindow.bind('', self.onResize) + self._makeBindings(canvas._rootwindow) canvas._canvas['borderwidth'] = 0 self.screen = _s_ = turtle.Screen() @@ -197,6 +199,28 @@ turtle.RawTurtle.screens = [_s_] return canvas + def _makeBindings(self, widget): + if sys.platform == 'darwin': + shortcut = 'Command' + else: + shortcut = 'Control' + widget.bind('', self.onResize) + widget.bind_all('<%s-minus>' % shortcut, self._decreaseFont) + widget.bind_all('<%s-=>' % shortcut, self._increaseFont) + widget.bind_all('', self._updateFont) + + def _updateFont(self, evt): + self.txtfont['size'] += evt.delta + self.text.config(font=tuple(self.txtfont.values())) + + def _decreaseFont(self, evt): + self.txtfont['size'] -= 1 + self.text.config(font=tuple(self.txtfont.values())) + + def _increaseFont(self, evt): + self.txtfont['size'] += 1 + self.text.config(font=tuple(self.txtfont.values())) + def configGUI(self, menu, start, stop, clear, txt="", color="blue"): self.ExamplesBtn.config(state=menu)

AltStyle によって変換されたページ (->オリジナル) /