From 66e53854d646c96d8724b3b0cacc740860928849 Mon Sep 17 00:00:00 2001 From: Just van Rossum Date: Sat, 30 Oct 1999 11:49:07 +0000 Subject: - windowbounds() now works with multiple screens (window position prefs!) - Minor tab behavior tweak -- jvr --- Mac/Tools/IDE/Wwindows.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/Mac/Tools/IDE/Wwindows.py b/Mac/Tools/IDE/Wwindows.py index f48e11e..52301fb 100644 --- a/Mac/Tools/IDE/Wwindows.py +++ b/Mac/Tools/IDE/Wwindows.py @@ -109,11 +109,13 @@ class Window(FrameWork.Window, Wbase.SelectableWidget): for w in self._widgets: w.forall_frombottom("open") self._maketabchain() - if self._tabchain: - self._tabchain[0].select(1) if self._tabbable: self.bind('tab', self.nextwidget) self.bind('shifttab', self.previouswidget) + else: + self._hasselframes = 0 + if self._tabchain: + self._tabchain[0].select(1) self.do_postopen() def close(self): @@ -581,14 +583,19 @@ def getnextwindowpos(): _windowcounter = _windowcounter + 1 return l, t -def windowbounds(preferredsize, minsize = None): +def windowbounds(preferredsize, minsize=None): "Return sensible window bounds" global _windowcounter if len(preferredsize) == 4: bounds = l, t, r, b = preferredsize - union = Qd.UnionRect(bounds, Qd.qd.screenBits.bounds) - if union == Qd.qd.screenBits.bounds: + desktopRgn = Win.GetGrayRgn() + tempRgn = Qd.NewRgn() + Qd.RectRgn(tempRgn, bounds) + union = Qd.UnionRgn(tempRgn, desktopRgn, tempRgn) + equal = Qd.EqualRgn(tempRgn, desktopRgn) + Qd.DisposeRgn(tempRgn) + if equal: return bounds else: preferredsize = r - l, b - t -- cgit v0.12