Fix for #731643: allow "lookup in documentation" to also work if the
interactive window is frontmost.
diff --git a/Mac/Tools/IDE/PyConsole.py b/Mac/Tools/IDE/PyConsole.py
index 2bad07d..8d44469 100644
--- a/Mac/Tools/IDE/PyConsole.py
+++ b/Mac/Tools/IDE/PyConsole.py
@@ -236,7 +236,9 @@
prefs.console.tabsettings = self.consoletext.gettabsettings()
prefs.save()
-
+ def getselectedtext(self):
+ return self.consoletext.getselectedtext()
+
class OutputTextWidget(W.EditText):
def domenu_save_as(self, *args):
diff --git a/Mac/Tools/IDE/PyEdit.py b/Mac/Tools/IDE/PyEdit.py
index 6cac553..89f97ca 100644
--- a/Mac/Tools/IDE/PyEdit.py
+++ b/Mac/Tools/IDE/PyEdit.py
@@ -168,6 +168,9 @@
def setselection(self, selstart, selend):
self.editgroup.editor.setselection(selstart, selend)
+
+ def getselectedtext(self):
+ return self.editgroup.editor.getselectedtext()
def getfilename(self):
if self.path:
diff --git a/Mac/Tools/IDE/PythonIDEMain.py b/Mac/Tools/IDE/PythonIDEMain.py
index 1414995..5987c10 100644
--- a/Mac/Tools/IDE/PythonIDEMain.py
+++ b/Mac/Tools/IDE/PythonIDEMain.py
@@ -414,10 +414,10 @@
W.Message("AppleHelp Error: %s" % `arg`)
def _getsearchstring(self):
- import PyEdit
- editor = PyEdit.findeditor(None, fromtop=1)
- if editor:
- text = editor.getselectedtext()
+ # First we get the frontmost window
+ front = self.getfrontwindow()
+ if front and hasattr(front, 'getselectedtext'):
+ text = front.getselectedtext()
if text:
return text
# This is a cop-out. We should have disabled the menus
diff --git a/Mac/Tools/IDE/Wapplication.py b/Mac/Tools/IDE/Wapplication.py
index abeee60..ada4419 100644
--- a/Mac/Tools/IDE/Wapplication.py
+++ b/Mac/Tools/IDE/Wapplication.py
@@ -131,6 +131,12 @@
handler = getattr(window, attr)
apply(handler, args)
return 1
+
+ def getfrontwindow(self):
+ wid = MyFrontWindow()
+ if wid and self._windows.has_key(wid):
+ return self._windows[wid]
+ return None
def appendwindow(self, wid, window):
self._windows[wid] = window