mirror of
https://github.com/python/cpython.git
synced 2025-08-02 16:13:13 +00:00
Allow this to run both standalone and as a window in the IDE.
This commit is contained in:
parent
a359a3d0ac
commit
ffb8fef6d5
1 changed files with 35 additions and 1 deletions
|
@ -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 W
|
||||||
import Wapplication
|
import Wapplication
|
||||||
from Carbon import Evt
|
from Carbon import Evt
|
||||||
|
@ -69,7 +103,7 @@ class PackageManagerMain(Wapplication.Application):
|
||||||
|
|
||||||
self.openwindowsmenu = Wapplication.Menu(self.menubar, 'Windows')
|
self.openwindowsmenu = Wapplication.Menu(self.menubar, 'Windows')
|
||||||
self.makeopenwindowsmenu()
|
self.makeopenwindowsmenu()
|
||||||
self._menustocheck = [closeitem, saveasitem,
|
self._menustocheck = [closeitem,
|
||||||
undoitem, cutitem, copyitem, pasteitem,
|
undoitem, cutitem, copyitem, pasteitem,
|
||||||
selallitem,
|
selallitem,
|
||||||
runitem, homepageitem]
|
runitem, homepageitem]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue