]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Added minimal support for floating windows.
authorJust van Rossum <just@letterror.com>
Mon, 4 Feb 2002 12:52:44 +0000 (12:52 +0000)
committerJust van Rossum <just@letterror.com>
Mon, 4 Feb 2002 12:52:44 +0000 (12:52 +0000)
Mac/Lib/FrameWork.py
Mac/Tools/IDE/PyEdit.py
Mac/Tools/IDE/Wapplication.py
Mac/Tools/IDE/Wwindows.py

index 82017f16dc28abc15ddcbe038fab4ea4df9cdd05..b3bf55f9b1b20df8e4dccab39bde1da2cc67eccb 100644 (file)
@@ -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
index 2117fc4d08ee6b1335273ccbc4d2cd4a6b5e4bb6..fcbdc0902e2bf61b4a06e27945bccfed89a021fd 100644 (file)
@@ -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()
index 40eb0c67f3fd94f293187910e1483eeb3b35652f..fdcd9fbcc8b5cc2fb56a54457d632803e087aa6b 100644 (file)
@@ -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):
index f0ac92bcfe6f32ddb78073225dfb85ae838f1620..653499bf3a9d74a523aab4c31c70fedc52b6c8cd 100644 (file)
@@ -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"):