summaryrefslogtreecommitdiffstats
path: root/Mac/Tools
diff options
context:
space:
mode:
Diffstat (limited to 'Mac/Tools')
-rw-r--r--Mac/Tools/IDE/PyConsole.py4
-rw-r--r--Mac/Tools/IDE/PyEdit.py3
-rw-r--r--Mac/Tools/IDE/PythonIDEMain.py8
-rw-r--r--Mac/Tools/IDE/Wapplication.py6
4 files changed, 16 insertions, 5 deletions
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 @@ class PyConsole(W.Window):
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 @@ class Editor(W.Window):
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 @@ class PythonIDE(Wapplication.Application):
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 @@ class Application(FrameWork.Application):
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