Merge with 3.4
This commit is contained in:
commit
2ee44f7f55
@ -19,8 +19,9 @@
|
|||||||
|
|
||||||
The demo viewer windows can be resized. The divider between text
|
The demo viewer windows can be resized. The divider between text
|
||||||
and canvas can be moved by grabbing it with the mouse. The text font
|
and canvas can be moved by grabbing it with the mouse. The text font
|
||||||
size can be changed from the menu and with Control/Command- '-'/'+'.
|
size can be changed from the menu and with Control/Command '-'/'+'.
|
||||||
It can also be changed on most systems with Control-mousewheel.
|
It can also be changed on most systems with Control-mousewheel
|
||||||
|
when the mouse is over the text.
|
||||||
|
|
||||||
Press START button to start the demo.
|
Press START button to start the demo.
|
||||||
Stop execution by pressing the STOP button.
|
Stop execution by pressing the STOP button.
|
||||||
@ -210,10 +211,19 @@ class DemoWindow(object):
|
|||||||
self.hbar = hbar = Scrollbar(text_frame, name='hbar', orient=HORIZONTAL)
|
self.hbar = hbar = Scrollbar(text_frame, name='hbar', orient=HORIZONTAL)
|
||||||
hbar['command'] = text.xview
|
hbar['command'] = text.xview
|
||||||
hbar.pack(side=BOTTOM, fill=X)
|
hbar.pack(side=BOTTOM, fill=X)
|
||||||
|
|
||||||
text['font'] = tuple(txtfont)
|
|
||||||
text['yscrollcommand'] = vbar.set
|
text['yscrollcommand'] = vbar.set
|
||||||
text['xscrollcommand'] = hbar.set
|
text['xscrollcommand'] = hbar.set
|
||||||
|
|
||||||
|
text['font'] = tuple(txtfont)
|
||||||
|
shortcut = 'Command' if darwin else 'Control'
|
||||||
|
text.bind_all('<%s-minus>' % shortcut, self.decrease_size)
|
||||||
|
text.bind_all('<%s-underscore>' % shortcut, self.decrease_size)
|
||||||
|
text.bind_all('<%s-equal>' % shortcut, self.increase_size)
|
||||||
|
text.bind_all('<%s-plus>' % shortcut, self.increase_size)
|
||||||
|
text.bind('<Control-MouseWheel>', self.update_mousewheel)
|
||||||
|
text.bind('<Control-Button-4>', self.increase_size)
|
||||||
|
text.bind('<Control-Button-5>', self.decrease_size)
|
||||||
|
|
||||||
text.pack(side=LEFT, fill=BOTH, expand=1)
|
text.pack(side=LEFT, fill=BOTH, expand=1)
|
||||||
return text_frame
|
return text_frame
|
||||||
|
|
||||||
@ -224,7 +234,7 @@ class DemoWindow(object):
|
|||||||
turtle._Screen._canvas = self._canvas = canvas = turtle.ScrolledCanvas(
|
turtle._Screen._canvas = self._canvas = canvas = turtle.ScrolledCanvas(
|
||||||
root, 800, 600, self.canvwidth, self.canvheight)
|
root, 800, 600, self.canvwidth, self.canvheight)
|
||||||
canvas.adjustScrolls()
|
canvas.adjustScrolls()
|
||||||
self.makeBindings(canvas._rootwindow)
|
canvas._rootwindow.bind('<Configure>', self.onResize)
|
||||||
canvas._canvas['borderwidth'] = 0
|
canvas._canvas['borderwidth'] = 0
|
||||||
|
|
||||||
self.screen = _s_ = turtle.Screen()
|
self.screen = _s_ = turtle.Screen()
|
||||||
@ -233,18 +243,6 @@ class DemoWindow(object):
|
|||||||
turtle.RawTurtle.screens = [_s_]
|
turtle.RawTurtle.screens = [_s_]
|
||||||
return canvas
|
return canvas
|
||||||
|
|
||||||
def makeBindings(self, widget):
|
|
||||||
widget.bind('<Configure>', self.onResize)
|
|
||||||
|
|
||||||
shortcut = 'Command' if darwin else 'Control'
|
|
||||||
widget.bind_all('<%s-minus>' % shortcut, self.decrease_size)
|
|
||||||
widget.bind_all('<%s-underscore>' % shortcut, self.decrease_size)
|
|
||||||
widget.bind_all('<%s-equal>' % shortcut, self.increase_size)
|
|
||||||
widget.bind_all('<%s-plus>' % shortcut, self.increase_size)
|
|
||||||
widget.bind_all('<Control-MouseWheel>', self.update_mousewheel)
|
|
||||||
widget.bind('<Control-Button-4>', self.increase_size)
|
|
||||||
widget.bind('<Control-Button-5>', self.decrease_size)
|
|
||||||
|
|
||||||
def set_txtsize(self, size):
|
def set_txtsize(self, size):
|
||||||
txtfont[1] = size
|
txtfont[1] = size
|
||||||
self.text['font'] = tuple(txtfont)
|
self.text['font'] = tuple(txtfont)
|
||||||
@ -252,15 +250,19 @@ class DemoWindow(object):
|
|||||||
|
|
||||||
def decrease_size(self, dummy=None):
|
def decrease_size(self, dummy=None):
|
||||||
self.set_txtsize(max(txtfont[1] - 1, MINIMUM_FONT_SIZE))
|
self.set_txtsize(max(txtfont[1] - 1, MINIMUM_FONT_SIZE))
|
||||||
|
return 'break'
|
||||||
|
|
||||||
def increase_size(self, dummy=None):
|
def increase_size(self, dummy=None):
|
||||||
self.set_txtsize(min(txtfont[1] + 1, MAXIMUM_FONT_SIZE))
|
self.set_txtsize(min(txtfont[1] + 1, MAXIMUM_FONT_SIZE))
|
||||||
|
return 'break'
|
||||||
|
|
||||||
def update_mousewheel(self, event):
|
def update_mousewheel(self, event):
|
||||||
# For wheel up, event.delte = 120 on Windows, -1 on darwin.
|
# For wheel up, event.delte = 120 on Windows, -1 on darwin.
|
||||||
# X-11 sends Control-Button-4 event instead.
|
# X-11 sends Control-Button-4 event instead.
|
||||||
(self.decrease_size() if (event.delta < 0 and not darwin)
|
if (event.delta < 0) == (not darwin):
|
||||||
else self.increase_size())
|
return self.decrease_size()
|
||||||
|
else:
|
||||||
|
return self.increase_size()
|
||||||
|
|
||||||
def configGUI(self, start, stop, clear, txt="", color="blue"):
|
def configGUI(self, start, stop, clear, txt="", color="blue"):
|
||||||
self.start_btn.config(state=start,
|
self.start_btn.config(state=start,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user