summaryrefslogtreecommitdiffstats
path: root/Mac
diff options
context:
space:
mode:
authorJack Jansen <jack.jansen@cwi.nl>2003-02-12 15:39:56 (GMT)
committerJack Jansen <jack.jansen@cwi.nl>2003-02-12 15:39:56 (GMT)
commitffb8fef6d56e50fcf3dfb3b0a3c037356db9e8a9 (patch)
tree5c9134ccd66a32c91d4eec56a0b9aff78a594480 /Mac
parenta359a3d0ac42cb9720af41c1b99fce9422eb0ad3 (diff)
downloadcpython-ffb8fef6d56e50fcf3dfb3b0a3c037356db9e8a9.zip
cpython-ffb8fef6d56e50fcf3dfb3b0a3c037356db9e8a9.tar.gz
cpython-ffb8fef6d56e50fcf3dfb3b0a3c037356db9e8a9.tar.bz2
Allow this to run both standalone and as a window in the IDE.
Diffstat (limited to 'Mac')
-rwxr-xr-xMac/Tools/IDE/PackageManager.py36
1 files changed, 35 insertions, 1 deletions
diff --git a/Mac/Tools/IDE/PackageManager.py b/Mac/Tools/IDE/PackageManager.py
index a93d683..6b83e1c 100755
--- a/Mac/Tools/IDE/PackageManager.py
+++ b/Mac/Tools/IDE/PackageManager.py
@@ -1,3 +1,37 @@
+# Prelude to allow running this as a main program
+def _init():
+ import macresource
+ import sys, os
+ macresource.need('DITL', 468, "PythonIDE.rsrc")
+ widgetrespathsegs = [sys.exec_prefix, "Mac", "Tools", "IDE", "Widgets.rsrc"]
+ widgetresfile = os.path.join(*widgetrespathsegs)
+ if not os.path.exists(widgetresfile):
+ widgetrespathsegs = [os.pardir, "Tools", "IDE", "Widgets.rsrc"]
+ widgetresfile = os.path.join(*widgetrespathsegs)
+ refno = macresource.need('CURS', 468, widgetresfile)
+ if os.environ.has_key('PYTHONIDEPATH'):
+ # For development set this environment variable
+ ide_path = os.environ['PYTHONIDEPATH']
+ elif refno:
+ # We're not a fullblown application
+ idepathsegs = [sys.exec_prefix, "Mac", "Tools", "IDE"]
+ ide_path = os.path.join(*idepathsegs)
+ if not os.path.exists(ide_path):
+ idepathsegs = [os.pardir, "Tools", "IDE"]
+ for p in sys.path:
+ ide_path = os.path.join(*([p]+idepathsegs))
+ if os.path.exists(ide_path):
+ break
+
+ else:
+ # We are a fully frozen application
+ ide_path = sys.argv[0]
+ if ide_path not in sys.path:
+ sys.path.insert(0, ide_path)
+
+if __name__ == '__main__':
+ _init()
+
import W
import Wapplication
from Carbon import Evt
@@ -69,7 +103,7 @@ class PackageManagerMain(Wapplication.Application):
self.openwindowsmenu = Wapplication.Menu(self.menubar, 'Windows')
self.makeopenwindowsmenu()
- self._menustocheck = [closeitem, saveasitem,
+ self._menustocheck = [closeitem,
undoitem, cutitem, copyitem, pasteitem,
selallitem,
runitem, homepageitem]