summaryrefslogtreecommitdiffstats
path: root/Mac
diff options
context:
space:
mode:
authorJust van Rossum <just@letterror.com>2002-02-04 12:52:44 (GMT)
committerJust van Rossum <just@letterror.com>2002-02-04 12:52:44 (GMT)
commit4014401c6cad2fae3489da2fd091ba6994904463 (patch)
tree863fbb5633721e9906dc5d7619776453b197687e /Mac
parentbf0a9084c5258db33d764b4735ae9d7805b7908d (diff)
downloadcpython-4014401c6cad2fae3489da2fd091ba6994904463.zip
cpython-4014401c6cad2fae3489da2fd091ba6994904463.tar.gz
cpython-4014401c6cad2fae3489da2fd091ba6994904463.tar.bz2
Added minimal support for floating windows.
Diffstat (limited to 'Mac')
-rw-r--r--Mac/Lib/FrameWork.py19
-rw-r--r--Mac/Tools/IDE/PyEdit.py8
-rw-r--r--Mac/Tools/IDE/Wapplication.py17
-rw-r--r--Mac/Tools/IDE/Wwindows.py13
4 files changed, 39 insertions, 18 deletions
diff --git a/Mac/Lib/FrameWork.py b/Mac/Lib/FrameWork.py
index 82017f1..b3bf55f 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 2117fc4..fcbdc09 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 40eb0c6..fdcd9fb 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 f0ac92b..653499b 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"):