diff --git a/Mac/Lib/FrameWork.py b/Mac/Lib/FrameWork.py index 82017f16dc2..b3bf55f9b1b 100644 --- a/Mac/Lib/FrameWork.py +++ b/Mac/Lib/FrameWork.py @@ -27,6 +27,11 @@ import types import EasyDialogs +try: + MyFrontWindow = FrontNonFloatingWindow +except NameError: + MyFrontWindow = FrontWindow + kHighLevelEvent = 23 # Don't know what header file this should come from SCROLLBARWIDTH = 16 # Again, not a clue... @@ -348,7 +353,7 @@ class Application: return else: # See whether the front window wants it - w = FrontWindow() + w = MyFrontWindow() if w and self._windows.has_key(w): window = self._windows[w] try: @@ -393,7 +398,7 @@ class Application: def do_suspendresume(self, event): (what, message, when, where, modifiers) = event - wid = FrontWindow() + wid = MyFrontWindow() if wid and self._windows.has_key(wid): window = self._windows[wid] window.do_activate(message & 1, event) @@ -497,7 +502,7 @@ class MenuBar: for i in range(len(menu.items)): label, shortcut, callback, kind = menu.items[i] if type(callback) == types.StringType: - wid = Win.FrontWindow() + wid = MyFrontWindow() if wid and self.parent._windows.has_key(wid): window = self.parent._windows[wid] if hasattr(window, "domenu_" + callback): @@ -589,7 +594,7 @@ class Menu: menuhandler = callback else: # callback is string - wid = Win.FrontWindow() + wid = MyFrontWindow() if wid and self.bar.parent._windows.has_key(wid): window = self.bar.parent._windows[wid] if hasattr(window, "domenu_" + callback): @@ -634,7 +639,7 @@ class PopupMenu(Menu): id = (reply & 0xffff0000) >> 16 item = reply & 0xffff if not window: - wid = Win.FrontWindow() + wid = MyFrontWindow() try: window = self.bar.parent._windows[wid] except: @@ -797,7 +802,7 @@ class Window: # If we're not frontmost, select ourselves and wait for # the activate event. # - if FrontWindow() <> window: + if MyFrontWindow() <> window: window.SelectWindow() return # We are. Handle the event. @@ -846,7 +851,7 @@ class ControlsWindow(Window): if DEBUG: print "control hit in", window, "on", control, "; pcode =", pcode def do_inContent(self, partcode, window, event): - if FrontWindow() <> window: + if MyFrontWindow() <> window: window.SelectWindow() return (what, message, when, where, modifiers) = event diff --git a/Mac/Tools/IDE/PyEdit.py b/Mac/Tools/IDE/PyEdit.py index 2117fc4d08e..fcbdc0902e2 100644 --- a/Mac/Tools/IDE/PyEdit.py +++ b/Mac/Tools/IDE/PyEdit.py @@ -17,6 +17,12 @@ import string import marshal import re +if hasattr(Win, "FrontNonFloatingWindow"): + MyFrontWindow = Win.FrontNonFloatingWindow +else: + MyFrontWindow = Win.FrontWindow + + try: import Wthreading except ImportError: @@ -1189,7 +1195,7 @@ def _filename_as_modname(fname): return string.join(string.split(modname, '.'), '_') def findeditor(topwindow, fromtop = 0): - wid = Win.FrontWindow() + wid = MyFrontWindow() if not fromtop: if topwindow.w and wid == topwindow.w.wid: wid = topwindow.w.wid.GetNextWindow() diff --git a/Mac/Tools/IDE/Wapplication.py b/Mac/Tools/IDE/Wapplication.py index 40eb0c67f3f..fdcd9fbcc8b 100644 --- a/Mac/Tools/IDE/Wapplication.py +++ b/Mac/Tools/IDE/Wapplication.py @@ -6,9 +6,14 @@ import MacOS from Carbon import Events import traceback from types import * - from Carbon import Menu; MenuToolbox = Menu; del Menu +if hasattr(Win, "FrontNonFloatingWindow"): + MyFrontWindow = Win.FrontNonFloatingWindow +else: + MyFrontWindow = Win.FrontWindow + + KILLUNKNOWNWINDOWS = 0 # Set to 0 for debugging. class Application(FrameWork.Application): @@ -115,7 +120,7 @@ class Application(FrameWork.Application): break def do_frontWindowMethod(self, attr, *args): - wid = Win.FrontWindow() + wid = MyFrontWindow() if wid and self._windows.has_key(wid): window = self._windows[wid] if hasattr(window, attr): @@ -146,7 +151,7 @@ class Application(FrameWork.Application): if keycode in self.fkeymaps.keys(): # JJS ch = self.fkeymaps[keycode] modifiers = modifiers | FrameWork.cmdKey - wid = Win.FrontWindow() + wid = MyFrontWindow() if modifiers & FrameWork.cmdKey and not modifiers & FrameWork.shiftKey: if wid and self._windows.has_key(wid): self.checkmenus(self._windows[wid]) @@ -175,7 +180,7 @@ class Application(FrameWork.Application): Qd.InitCursor() (what, message, when, where, modifiers) = event self.checkopenwindowsmenu() - wid = Win.FrontWindow() + wid = MyFrontWindow() if wid and self._windows.has_key(wid): self.checkmenus(self._windows[wid]) else: @@ -209,7 +214,7 @@ class Application(FrameWork.Application): def checkopenwindowsmenu(self): if self._openwindowscheckmark: self.openwindowsmenu.menu.CheckMenuItem(self._openwindowscheckmark, 0) - window = Win.FrontWindow() + window = MyFrontWindow() if window: for item, wid in self._openwindows.items(): if wid == window: @@ -441,7 +446,7 @@ class Menu(FrameWork.Menu): def _getmenuhandler(self, callback): menuhandler = None - wid = Win.FrontWindow() + wid = MyFrontWindow() if wid and self.bar.parent._windows.has_key(wid): window = self.bar.parent._windows[wid] if hasattr(window, "domenu_" + callback): diff --git a/Mac/Tools/IDE/Wwindows.py b/Mac/Tools/IDE/Wwindows.py index f0ac92bcfe6..653499bf3a9 100644 --- a/Mac/Tools/IDE/Wwindows.py +++ b/Mac/Tools/IDE/Wwindows.py @@ -7,6 +7,11 @@ import struct import traceback from types import InstanceType, StringType +if hasattr(Win, "FrontNonFloatingWindow"): + MyFrontWindow = Win.FrontNonFloatingWindow +else: + MyFrontWindow = Win.FrontWindow + class Window(FrameWork.Window, Wbase.SelectableWidget): @@ -488,9 +493,9 @@ class ModalDialog(Dialog): def do_key(self, event): (what, message, when, where, modifiers) = event - w = Win.FrontWindow() - if w <> self.wid: - return + #w = Win.FrontWindow() + #if w <> self.wid: + # return c = chr(message & Events.charCodeMask) if modifiers & Events.cmdKey: self.app.checkmenus(self) @@ -552,7 +557,7 @@ def FrontWindowInsert(stuff): raise TypeError, 'string expected' import W app = W.getapplication() - wid = Win.FrontWindow() + wid = MyFrontWindow() if wid and app._windows.has_key(wid): window = app._windows[wid] if hasattr(window, "insert"):