mirror of
https://github.com/python/cpython.git
synced 2025-10-01 04:42:10 +00:00
Raise the root window on reset().
Different action on WM_DELETE_WINDOW is more likely to do the right thing, allowing us to destroy old windows.
This commit is contained in:
parent
5ac15bc9c8
commit
d4103883f3
1 changed files with 9 additions and 11 deletions
|
@ -39,6 +39,7 @@ class RawPen:
|
||||||
self._path = []
|
self._path = []
|
||||||
self._tofill = []
|
self._tofill = []
|
||||||
self.clear()
|
self.clear()
|
||||||
|
canvas._root().tkraise()
|
||||||
|
|
||||||
def clear(self):
|
def clear(self):
|
||||||
self.fill(0)
|
self.fill(0)
|
||||||
|
@ -242,25 +243,22 @@ class Pen(RawPen):
|
||||||
global _root, _canvas
|
global _root, _canvas
|
||||||
if _root is None:
|
if _root is None:
|
||||||
_root = Tk.Tk()
|
_root = Tk.Tk()
|
||||||
_root.wm_protocol("WM_DELETE_WINDOW", self.destroy)
|
_root.wm_protocol("WM_DELETE_WINDOW", self._destroy)
|
||||||
if _canvas is None:
|
if _canvas is None:
|
||||||
# XXX Should have scroll bars
|
# XXX Should have scroll bars
|
||||||
_canvas = Tk.Canvas(_root, background="white")
|
_canvas = Tk.Canvas(_root, background="white")
|
||||||
_canvas.pack(expand=1, fill="both")
|
_canvas.pack(expand=1, fill="both")
|
||||||
RawPen.__init__(self, _canvas)
|
RawPen.__init__(self, _canvas)
|
||||||
|
|
||||||
def destroy(self):
|
def _destroy(self):
|
||||||
global _root, _canvas, _pen
|
global _root, _canvas, _pen
|
||||||
self.clear()
|
root = self._canvas._root()
|
||||||
if self is _pen:
|
if root is _root:
|
||||||
_pen = None
|
_pen = None
|
||||||
root = _root; _root = None
|
_root = None
|
||||||
canvas = _canvas; _canvas = None
|
_canvas = None
|
||||||
if root:
|
|
||||||
try:
|
|
||||||
root.destroy()
|
root.destroy()
|
||||||
except Tk.TclError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
def _getpen():
|
def _getpen():
|
||||||
global _pen
|
global _pen
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue