]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
*** empty log message ***
authorGuido van Rossum <guido@python.org>
Tue, 14 May 1991 12:22:25 +0000 (12:22 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 14 May 1991 12:22:25 +0000 (12:22 +0000)
Lib/lib-stdwin/TextEdit.py
Lib/lib-stdwin/WindowParent.py
Lib/stdwin/TextEdit.py
Lib/stdwin/WindowParent.py

index d7b22362e241624c909bad192a5a28ff03e3b137..f70fba16a88622f3b66c5ecdc0dda9024c079bfb 100644 (file)
@@ -25,7 +25,7 @@ class TextEdit():
                del self.window
        #
        def minsize(self, m):
-               return self.cols*m.textwidth('n'), self.rows*m.lineheight()
+               return self.cols*m.textwidth('in')/2, self.rows*m.lineheight()
        def setbounds(self, bounds):
                self.bounds = bounds
                if self.editor:
index 1a63674e44d5aa99513e0a4cc346c388868c5ab8..2388443d5a7874bb9f1090646abeb22ace806641 100644 (file)
@@ -22,14 +22,15 @@ class WindowParent() = ManageOneChild():
                return self
        #
        def _reset(self):
-               self.child = 0
-               self.win = 0
+               self.child = None
+               self.win = None
                self.itimer = 0
                self.do_mouse = 0
                self.do_keybd = 0
                self.do_timer = 0
                self.do_altdraw = 0
                self.pending_destroy = 0
+               self.close_hook = None
        #
        def destroy(self):
                if self.win in WindowList:
@@ -43,6 +44,9 @@ class WindowParent() = ManageOneChild():
                # is not a good idea...
                self.pending_destroy = 1
        #
+       def close_trigger(self):
+               if self.close_hook: self.close_hook(self)
+       #
        def need_mouse(self, child): self.do_mouse = 1
        def no_mouse(self, child): self.do_mouse = 0
        #
@@ -63,10 +67,8 @@ class WindowParent() = ManageOneChild():
                size = self.child.minsize(self.beginmeasuring())
                self.size = max(self.size[0], size[0]), \
                                        max(self.size[1], size[1])
-               stdwin.setdefscrollbars(0, 0)
-               # XXX Compensate stdwin bug:
-               # XXX should really be stdwin.setdefwinsize(self.size)
-               stdwin.setdefwinsize(self.size[0]+4, self.size[1]+2)
+               # XXX Don't... stdwin.setdefscrollbars(0, 0)
+               stdwin.setdefwinsize(self.size)
                self.win = stdwin.open(self.title)
                self.win.setdocsize(self.size)
                if self.itimer:
@@ -82,6 +84,8 @@ class WindowParent() = ManageOneChild():
                self.win.setdocsize(self.size)
                bounds = (0, 0), self.win.getwinsize()
                self.child.setbounds(bounds)
+               # Force a redraw of the entire window:
+               self.win.change((0, 0), (10000, 10000))
        #
        def beginmeasuring(self):
                # Return something with which a child can measure text
@@ -137,7 +141,7 @@ class WindowParent() = ManageOneChild():
                elif type = WE_SIZE:
                        self.fixup()
                elif type = WE_CLOSE:
-                       self.delayed_destroy()
+                       self.close_trigger()
                if self.pending_destroy:
                        self.destroy()
        #
index d7b22362e241624c909bad192a5a28ff03e3b137..f70fba16a88622f3b66c5ecdc0dda9024c079bfb 100755 (executable)
@@ -25,7 +25,7 @@ class TextEdit():
                del self.window
        #
        def minsize(self, m):
-               return self.cols*m.textwidth('n'), self.rows*m.lineheight()
+               return self.cols*m.textwidth('in')/2, self.rows*m.lineheight()
        def setbounds(self, bounds):
                self.bounds = bounds
                if self.editor:
index 1a63674e44d5aa99513e0a4cc346c388868c5ab8..2388443d5a7874bb9f1090646abeb22ace806641 100755 (executable)
@@ -22,14 +22,15 @@ class WindowParent() = ManageOneChild():
                return self
        #
        def _reset(self):
-               self.child = 0
-               self.win = 0
+               self.child = None
+               self.win = None
                self.itimer = 0
                self.do_mouse = 0
                self.do_keybd = 0
                self.do_timer = 0
                self.do_altdraw = 0
                self.pending_destroy = 0
+               self.close_hook = None
        #
        def destroy(self):
                if self.win in WindowList:
@@ -43,6 +44,9 @@ class WindowParent() = ManageOneChild():
                # is not a good idea...
                self.pending_destroy = 1
        #
+       def close_trigger(self):
+               if self.close_hook: self.close_hook(self)
+       #
        def need_mouse(self, child): self.do_mouse = 1
        def no_mouse(self, child): self.do_mouse = 0
        #
@@ -63,10 +67,8 @@ class WindowParent() = ManageOneChild():
                size = self.child.minsize(self.beginmeasuring())
                self.size = max(self.size[0], size[0]), \
                                        max(self.size[1], size[1])
-               stdwin.setdefscrollbars(0, 0)
-               # XXX Compensate stdwin bug:
-               # XXX should really be stdwin.setdefwinsize(self.size)
-               stdwin.setdefwinsize(self.size[0]+4, self.size[1]+2)
+               # XXX Don't... stdwin.setdefscrollbars(0, 0)
+               stdwin.setdefwinsize(self.size)
                self.win = stdwin.open(self.title)
                self.win.setdocsize(self.size)
                if self.itimer:
@@ -82,6 +84,8 @@ class WindowParent() = ManageOneChild():
                self.win.setdocsize(self.size)
                bounds = (0, 0), self.win.getwinsize()
                self.child.setbounds(bounds)
+               # Force a redraw of the entire window:
+               self.win.change((0, 0), (10000, 10000))
        #
        def beginmeasuring(self):
                # Return something with which a child can measure text
@@ -137,7 +141,7 @@ class WindowParent() = ManageOneChild():
                elif type = WE_SIZE:
                        self.fixup()
                elif type = WE_CLOSE:
-                       self.delayed_destroy()
+                       self.close_trigger()
                if self.pending_destroy:
                        self.destroy()
        #