Mercurial > cpython-lru_cache-weakref
annotate Mac/Tools/IDE/PythonIDEMain.py @ 25084:b337ef16c0d2 legacy-trunk
Implemented the Help menu. The Python manual can be viewed (if installed)
and the selection can be looked up, and so can the Carbon manual. From the
help menu you can also get to the online documentation, the Python website
and the MacPython page.
Untested in MacPython-OS9.
| author | Jack Jansen <jack.jansen@cwi.nl> |
|---|---|
| date | Sat, 31 Aug 2002 01:25:17 +0000 |
| parents | 62d8f974811f |
| children | bf90fb71aa76 |
| rev | line source |
|---|---|
|
20836
c1ebc0285a5e
removed import display hackery
Just van Rossum <just@letterror.com>
parents:
19488
diff
changeset
|
1 # copyright 1997-2001 Just van Rossum, Letterror. just@letterror.com |
| 10047 | 2 |
| 3 import Splash | |
| 4 | |
| 5 import FrameWork | |
| 6 import Wapplication | |
| 7 import W | |
| 8 import os | |
|
22672
86ce9ee14045
Allow file without filetype as long as they end in ".py".
Jack Jansen <jack.jansen@cwi.nl>
parents:
21867
diff
changeset
|
9 import sys |
| 10047 | 10 import macfs |
|
21772
ec750e37671b
Changes by Donovan Preston (and a few minor ones by me) to make IDE run under
Jack Jansen <jack.jansen@cwi.nl>
parents:
20836
diff
changeset
|
11 import MacOS |
| 10047 | 12 |
|
21772
ec750e37671b
Changes by Donovan Preston (and a few minor ones by me) to make IDE run under
Jack Jansen <jack.jansen@cwi.nl>
parents:
20836
diff
changeset
|
13 if MacOS.runtimemodel == 'macho': |
|
ec750e37671b
Changes by Donovan Preston (and a few minor ones by me) to make IDE run under
Jack Jansen <jack.jansen@cwi.nl>
parents:
20836
diff
changeset
|
14 ELIPSES = '...' |
|
ec750e37671b
Changes by Donovan Preston (and a few minor ones by me) to make IDE run under
Jack Jansen <jack.jansen@cwi.nl>
parents:
20836
diff
changeset
|
15 else: |
|
ec750e37671b
Changes by Donovan Preston (and a few minor ones by me) to make IDE run under
Jack Jansen <jack.jansen@cwi.nl>
parents:
20836
diff
changeset
|
16 ELIPSES = '\xc9' |
| 10047 | 17 |
|
21867
da008b5c5035
Don't append quit menu when on OSX, it is special and automatic there.
Just van Rossum <just@letterror.com>
parents:
21772
diff
changeset
|
18 def runningOnOSX(): |
|
da008b5c5035
Don't append quit menu when on OSX, it is special and automatic there.
Just van Rossum <just@letterror.com>
parents:
21772
diff
changeset
|
19 from gestalt import gestalt |
|
da008b5c5035
Don't append quit menu when on OSX, it is special and automatic there.
Just van Rossum <just@letterror.com>
parents:
21772
diff
changeset
|
20 gestaltMenuMgrAquaLayoutBit = 1 # menus have the Aqua 1.0 layout |
|
da008b5c5035
Don't append quit menu when on OSX, it is special and automatic there.
Just van Rossum <just@letterror.com>
parents:
21772
diff
changeset
|
21 gestaltMenuMgrAquaLayoutMask = (1L << gestaltMenuMgrAquaLayoutBit) |
|
da008b5c5035
Don't append quit menu when on OSX, it is special and automatic there.
Just van Rossum <just@letterror.com>
parents:
21772
diff
changeset
|
22 value = gestalt("menu") & gestaltMenuMgrAquaLayoutMask |
|
da008b5c5035
Don't append quit menu when on OSX, it is special and automatic there.
Just van Rossum <just@letterror.com>
parents:
21772
diff
changeset
|
23 return not not value |
|
da008b5c5035
Don't append quit menu when on OSX, it is special and automatic there.
Just van Rossum <just@letterror.com>
parents:
21772
diff
changeset
|
24 |
|
da008b5c5035
Don't append quit menu when on OSX, it is special and automatic there.
Just van Rossum <just@letterror.com>
parents:
21772
diff
changeset
|
25 |
| 10047 | 26 class PythonIDE(Wapplication.Application): |
| 27 | |
| 28 def __init__(self): | |
|
24226
62d8f974811f
fixed wrong classic MacOS pathname assumption
Just van Rossum <just@letterror.com>
parents:
22675
diff
changeset
|
29 self.preffilepath = os.path.join("Python", "PythonIDE preferences") |
|
10322
a87cfea30b04
changed creator to 'Pide' -- jvr
Just van Rossum <just@lettererror.com>
parents:
10310
diff
changeset
|
30 Wapplication.Application.__init__(self, 'Pide') |
|
19488
42b2f1936254
Import the MacOS toolbox modules from the Carbon package.
Jack Jansen <jack.jansen@cwi.nl>
parents:
18167
diff
changeset
|
31 from Carbon import AE |
|
42b2f1936254
Import the MacOS toolbox modules from the Carbon package.
Jack Jansen <jack.jansen@cwi.nl>
parents:
18167
diff
changeset
|
32 from Carbon import AppleEvents |
| 10047 | 33 |
| 34 AE.AEInstallEventHandler(AppleEvents.kCoreEventClass, AppleEvents.kAEOpenApplication, | |
| 35 self.ignoreevent) | |
|
17015
3c650d9c38e7
Handle the ReopenApplication event (by ignoring it).
Jack Jansen <jack.jansen@cwi.nl>
parents:
15284
diff
changeset
|
36 AE.AEInstallEventHandler(AppleEvents.kCoreEventClass, AppleEvents.kAEReopenApplication, |
|
3c650d9c38e7
Handle the ReopenApplication event (by ignoring it).
Jack Jansen <jack.jansen@cwi.nl>
parents:
15284
diff
changeset
|
37 self.ignoreevent) |
| 10047 | 38 AE.AEInstallEventHandler(AppleEvents.kCoreEventClass, AppleEvents.kAEPrintDocuments, |
| 39 self.ignoreevent) | |
| 40 AE.AEInstallEventHandler(AppleEvents.kCoreEventClass, AppleEvents.kAEOpenDocuments, | |
| 41 self.opendocsevent) | |
| 42 AE.AEInstallEventHandler(AppleEvents.kCoreEventClass, AppleEvents.kAEQuitApplication, | |
| 43 self.quitevent) | |
| 44 import PyConsole, PyEdit | |
| 45 Splash.wait() | |
|
22672
86ce9ee14045
Allow file without filetype as long as they end in ".py".
Jack Jansen <jack.jansen@cwi.nl>
parents:
21867
diff
changeset
|
46 # With -D option (OSX command line only) keep stderr, for debugging the IDE |
|
86ce9ee14045
Allow file without filetype as long as they end in ".py".
Jack Jansen <jack.jansen@cwi.nl>
parents:
21867
diff
changeset
|
47 # itself. |
|
86ce9ee14045
Allow file without filetype as long as they end in ".py".
Jack Jansen <jack.jansen@cwi.nl>
parents:
21867
diff
changeset
|
48 debug_stderr = None |
|
22675
57811c355f3a
repair damage: now works again as a CFM app.
Just van Rossum <just@letterror.com>
parents:
22672
diff
changeset
|
49 if len(sys.argv) >= 2 and sys.argv[1] == '-D': |
|
22672
86ce9ee14045
Allow file without filetype as long as they end in ".py".
Jack Jansen <jack.jansen@cwi.nl>
parents:
21867
diff
changeset
|
50 debug_stderr = sys.stderr |
|
86ce9ee14045
Allow file without filetype as long as they end in ".py".
Jack Jansen <jack.jansen@cwi.nl>
parents:
21867
diff
changeset
|
51 del sys.argv[1] |
| 10047 | 52 PyConsole.installoutput() |
| 53 PyConsole.installconsole() | |
|
22672
86ce9ee14045
Allow file without filetype as long as they end in ".py".
Jack Jansen <jack.jansen@cwi.nl>
parents:
21867
diff
changeset
|
54 if debug_stderr: |
|
86ce9ee14045
Allow file without filetype as long as they end in ".py".
Jack Jansen <jack.jansen@cwi.nl>
parents:
21867
diff
changeset
|
55 sys.stderr = debug_stderr |
| 10047 | 56 for path in sys.argv[1:]: |
| 57 self.opendoc(path) | |
|
12308
ddc4e62b216b
added experimental microthread support for use with stackless python -- bw compatible (jvr)
Just van Rossum <just@lettererror.com>
parents:
11949
diff
changeset
|
58 try: |
|
15284
b940a0fc29e3
Cleaned uthread dependencies (jvr)
Just van Rossum <just@lettererror.com>
parents:
12308
diff
changeset
|
59 import Wthreading |
|
12308
ddc4e62b216b
added experimental microthread support for use with stackless python -- bw compatible (jvr)
Just van Rossum <just@lettererror.com>
parents:
11949
diff
changeset
|
60 except ImportError: |
|
ddc4e62b216b
added experimental microthread support for use with stackless python -- bw compatible (jvr)
Just van Rossum <just@lettererror.com>
parents:
11949
diff
changeset
|
61 self.mainloop() |
|
ddc4e62b216b
added experimental microthread support for use with stackless python -- bw compatible (jvr)
Just van Rossum <just@lettererror.com>
parents:
11949
diff
changeset
|
62 else: |
|
15284
b940a0fc29e3
Cleaned uthread dependencies (jvr)
Just van Rossum <just@lettererror.com>
parents:
12308
diff
changeset
|
63 if Wthreading.haveThreading: |
|
b940a0fc29e3
Cleaned uthread dependencies (jvr)
Just van Rossum <just@lettererror.com>
parents:
12308
diff
changeset
|
64 self.mainthread = Wthreading.Thread("IDE event loop", self.mainloop) |
|
b940a0fc29e3
Cleaned uthread dependencies (jvr)
Just van Rossum <just@lettererror.com>
parents:
12308
diff
changeset
|
65 self.mainthread.start() |
|
b940a0fc29e3
Cleaned uthread dependencies (jvr)
Just van Rossum <just@lettererror.com>
parents:
12308
diff
changeset
|
66 #self.mainthread.setResistant(1) |
|
b940a0fc29e3
Cleaned uthread dependencies (jvr)
Just van Rossum <just@lettererror.com>
parents:
12308
diff
changeset
|
67 Wthreading.run() |
|
b940a0fc29e3
Cleaned uthread dependencies (jvr)
Just van Rossum <just@lettererror.com>
parents:
12308
diff
changeset
|
68 else: |
|
b940a0fc29e3
Cleaned uthread dependencies (jvr)
Just van Rossum <just@lettererror.com>
parents:
12308
diff
changeset
|
69 self.mainloop() |
| 10047 | 70 |
| 71 def makeusermenus(self): | |
| 72 m = Wapplication.Menu(self.menubar, "File") | |
| 73 newitem = FrameWork.MenuItem(m, "New", "N", 'new') | |
|
21772
ec750e37671b
Changes by Donovan Preston (and a few minor ones by me) to make IDE run under
Jack Jansen <jack.jansen@cwi.nl>
parents:
20836
diff
changeset
|
74 openitem = FrameWork.MenuItem(m, "Open"+ELIPSES, "O", 'open') |
| 10047 | 75 FrameWork.Separator(m) |
| 76 closeitem = FrameWork.MenuItem(m, "Close", "W", 'close') | |
| 77 saveitem = FrameWork.MenuItem(m, "Save", "S", 'save') | |
|
21772
ec750e37671b
Changes by Donovan Preston (and a few minor ones by me) to make IDE run under
Jack Jansen <jack.jansen@cwi.nl>
parents:
20836
diff
changeset
|
78 saveasitem = FrameWork.MenuItem(m, "Save as"+ELIPSES, None, 'save_as') |
| 10047 | 79 FrameWork.Separator(m) |
|
21772
ec750e37671b
Changes by Donovan Preston (and a few minor ones by me) to make IDE run under
Jack Jansen <jack.jansen@cwi.nl>
parents:
20836
diff
changeset
|
80 saveasappletitem = FrameWork.MenuItem(m, "Save as Applet"+ELIPSES, None, 'save_as_applet') |
|
21867
da008b5c5035
Don't append quit menu when on OSX, it is special and automatic there.
Just van Rossum <just@letterror.com>
parents:
21772
diff
changeset
|
81 if not runningOnOSX(): |
|
da008b5c5035
Don't append quit menu when on OSX, it is special and automatic there.
Just van Rossum <just@letterror.com>
parents:
21772
diff
changeset
|
82 # On OSX there's a special "magic" quit menu, so we shouldn't add |
|
da008b5c5035
Don't append quit menu when on OSX, it is special and automatic there.
Just van Rossum <just@letterror.com>
parents:
21772
diff
changeset
|
83 # it to the File menu. |
|
da008b5c5035
Don't append quit menu when on OSX, it is special and automatic there.
Just van Rossum <just@letterror.com>
parents:
21772
diff
changeset
|
84 FrameWork.Separator(m) |
|
da008b5c5035
Don't append quit menu when on OSX, it is special and automatic there.
Just van Rossum <just@letterror.com>
parents:
21772
diff
changeset
|
85 quititem = FrameWork.MenuItem(m, "Quit", "Q", 'quit') |
| 10047 | 86 |
| 87 m = Wapplication.Menu(self.menubar, "Edit") | |
| 88 undoitem = FrameWork.MenuItem(m, "Undo", 'Z', "undo") | |
| 89 FrameWork.Separator(m) | |
| 90 cutitem = FrameWork.MenuItem(m, "Cut", 'X', "cut") | |
| 91 copyitem = FrameWork.MenuItem(m, "Copy", "C", "copy") | |
| 92 pasteitem = FrameWork.MenuItem(m, "Paste", "V", "paste") | |
| 93 FrameWork.MenuItem(m, "Clear", None, "clear") | |
| 94 FrameWork.Separator(m) | |
| 95 selallitem = FrameWork.MenuItem(m, "Select all", "A", "selectall") | |
| 96 sellineitem = FrameWork.MenuItem(m, "Select line", "L", "selectline") | |
| 97 FrameWork.Separator(m) | |
|
21772
ec750e37671b
Changes by Donovan Preston (and a few minor ones by me) to make IDE run under
Jack Jansen <jack.jansen@cwi.nl>
parents:
20836
diff
changeset
|
98 finditem = FrameWork.MenuItem(m, "Find"+ELIPSES, "F", "find") |
| 10047 | 99 findagainitem = FrameWork.MenuItem(m, "Find again", 'G', "findnext") |
| 100 enterselitem = FrameWork.MenuItem(m, "Enter search string", "E", "entersearchstring") | |
| 101 replaceitem = FrameWork.MenuItem(m, "Replace", None, "replace") | |
| 102 replacefinditem = FrameWork.MenuItem(m, "Replace & find again", 'T', "replacefind") | |
| 103 FrameWork.Separator(m) | |
| 104 shiftleftitem = FrameWork.MenuItem(m, "Shift left", "[", "shiftleft") | |
| 105 shiftrightitem = FrameWork.MenuItem(m, "Shift right", "]", "shiftright") | |
| 106 | |
| 107 m = Wapplication.Menu(self.menubar, "Python") | |
| 108 runitem = FrameWork.MenuItem(m, "Run window", "R", 'run') | |
| 109 runselitem = FrameWork.MenuItem(m, "Run selection", None, 'runselection') | |
| 110 FrameWork.Separator(m) | |
|
21772
ec750e37671b
Changes by Donovan Preston (and a few minor ones by me) to make IDE run under
Jack Jansen <jack.jansen@cwi.nl>
parents:
20836
diff
changeset
|
111 moditem = FrameWork.MenuItem(m, "Module browser"+ELIPSES, "M", self.domenu_modulebrowser) |
| 10047 | 112 FrameWork.Separator(m) |
| 113 mm = FrameWork.SubMenu(m, "Preferences") | |
|
21772
ec750e37671b
Changes by Donovan Preston (and a few minor ones by me) to make IDE run under
Jack Jansen <jack.jansen@cwi.nl>
parents:
20836
diff
changeset
|
114 FrameWork.MenuItem(mm, "Set Scripts folder"+ELIPSES, None, self.do_setscriptsfolder) |
|
ec750e37671b
Changes by Donovan Preston (and a few minor ones by me) to make IDE run under
Jack Jansen <jack.jansen@cwi.nl>
parents:
20836
diff
changeset
|
115 FrameWork.MenuItem(mm, "Editor default settings"+ELIPSES, None, self.do_editorprefs) |
|
ec750e37671b
Changes by Donovan Preston (and a few minor ones by me) to make IDE run under
Jack Jansen <jack.jansen@cwi.nl>
parents:
20836
diff
changeset
|
116 FrameWork.MenuItem(mm, "Set default window font"+ELIPSES, None, self.do_setwindowfont) |
| 10047 | 117 |
| 118 self.openwindowsmenu = Wapplication.Menu(self.menubar, 'Windows') | |
| 119 self.makeopenwindowsmenu() | |
| 120 self._menustocheck = [closeitem, saveitem, saveasitem, saveasappletitem, | |
| 121 undoitem, cutitem, copyitem, pasteitem, | |
| 122 selallitem, sellineitem, | |
| 123 finditem, findagainitem, enterselitem, replaceitem, replacefinditem, | |
| 124 shiftleftitem, shiftrightitem, | |
| 125 runitem, runselitem] | |
| 126 | |
| 127 prefs = self.getprefs() | |
| 128 try: | |
| 129 fss, fss_changed = macfs.RawAlias(prefs.scriptsfolder).Resolve() | |
|
10310
a4d99607344f
fixed "crashing" bug when scripts folder as stored in prefs file does not exist.
Just van Rossum <just@lettererror.com>
parents:
10087
diff
changeset
|
130 self.scriptsfolder = fss.NewAlias() |
| 10047 | 131 except: |
|
11325
c702a12d318d
1 - added "set default window font" menu
Just van Rossum <just@lettererror.com>
parents:
11031
diff
changeset
|
132 path = os.path.join(os.getcwd(), ":Mac:IDE scripts") |
| 10047 | 133 if not os.path.exists(path): |
|
11325
c702a12d318d
1 - added "set default window font" menu
Just van Rossum <just@lettererror.com>
parents:
11031
diff
changeset
|
134 path = os.path.join(os.getcwd(), "Scripts") |
|
c702a12d318d
1 - added "set default window font" menu
Just van Rossum <just@lettererror.com>
parents:
11031
diff
changeset
|
135 if not os.path.exists(path): |
|
c702a12d318d
1 - added "set default window font" menu
Just van Rossum <just@lettererror.com>
parents:
11031
diff
changeset
|
136 os.mkdir(path) |
|
21772
ec750e37671b
Changes by Donovan Preston (and a few minor ones by me) to make IDE run under
Jack Jansen <jack.jansen@cwi.nl>
parents:
20836
diff
changeset
|
137 f = open(os.path.join(path, "Place your scripts here"+ELIPSES), "w") |
|
11325
c702a12d318d
1 - added "set default window font" menu
Just van Rossum <just@lettererror.com>
parents:
11031
diff
changeset
|
138 f.close() |
| 10047 | 139 fss = macfs.FSSpec(path) |
| 140 self.scriptsfolder = fss.NewAlias() | |
| 141 self.scriptsfoldermodtime = fss.GetDates()[1] | |
| 142 else: | |
| 143 self.scriptsfoldermodtime = fss.GetDates()[1] | |
| 144 prefs.scriptsfolder = self.scriptsfolder.data | |
| 145 self._scripts = {} | |
| 146 self.scriptsmenu = None | |
| 147 self.makescriptsmenu() | |
|
25084
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
148 self.makehelpmenu() |
| 10047 | 149 |
| 150 def quitevent(self, theAppleEvent, theReply): | |
|
19488
42b2f1936254
Import the MacOS toolbox modules from the Carbon package.
Jack Jansen <jack.jansen@cwi.nl>
parents:
18167
diff
changeset
|
151 from Carbon import AE |
| 10047 | 152 AE.AEInteractWithUser(50000000) |
| 153 self._quit() | |
| 154 | |
| 155 def suspendresume(self, onoff): | |
| 156 if onoff: | |
| 157 fss, fss_changed = self.scriptsfolder.Resolve() | |
| 158 modtime = fss.GetDates()[1] | |
| 159 if self.scriptsfoldermodtime <> modtime or fss_changed: | |
| 160 self.scriptsfoldermodtime = modtime | |
| 161 W.SetCursor('watch') | |
| 162 self.makescriptsmenu() | |
| 163 | |
| 164 def ignoreevent(self, theAppleEvent, theReply): | |
| 165 pass | |
| 166 | |
| 167 def opendocsevent(self, theAppleEvent, theReply): | |
| 168 W.SetCursor('watch') | |
| 169 import aetools | |
| 170 parameters, args = aetools.unpackevent(theAppleEvent) | |
| 171 docs = parameters['----'] | |
| 172 if type(docs) <> type([]): | |
| 173 docs = [docs] | |
| 174 for doc in docs: | |
| 175 fss, a = doc.Resolve() | |
| 176 path = fss.as_pathname() | |
| 177 self.opendoc(path) | |
| 178 | |
| 179 def opendoc(self, path): | |
| 180 fcreator, ftype = macfs.FSSpec(path).GetCreatorType() | |
| 181 if ftype == 'TEXT': | |
| 182 self.openscript(path) | |
|
22672
86ce9ee14045
Allow file without filetype as long as they end in ".py".
Jack Jansen <jack.jansen@cwi.nl>
parents:
21867
diff
changeset
|
183 elif ftype == '\0\0\0\0' and path[-3:] == '.py': |
|
86ce9ee14045
Allow file without filetype as long as they end in ".py".
Jack Jansen <jack.jansen@cwi.nl>
parents:
21867
diff
changeset
|
184 self.openscript(path) |
| 10047 | 185 else: |
|
18167
c5ac6f055c62
Some long overdue maintainance. Made all IDE sources 7-bit-clean, to avoid any further encoding conversion troubles.
Just van Rossum <just@letterror.com>
parents:
17844
diff
changeset
|
186 W.Message("Can't open file of type '%s'." % ftype) |
| 10047 | 187 |
| 188 def getabouttext(self): | |
|
21772
ec750e37671b
Changes by Donovan Preston (and a few minor ones by me) to make IDE run under
Jack Jansen <jack.jansen@cwi.nl>
parents:
20836
diff
changeset
|
189 return "About Python IDE"+ELIPSES |
| 10047 | 190 |
| 191 def do_about(self, id, item, window, event): | |
| 192 Splash.about() | |
| 193 | |
| 194 def do_setscriptsfolder(self, *args): | |
| 195 fss, ok = macfs.GetDirectory("Select Scripts Folder") | |
| 196 if ok: | |
| 197 prefs = self.getprefs() | |
| 198 alis = fss.NewAlias() | |
| 199 prefs.scriptsfolder = alis.data | |
| 200 self.scriptsfolder = alis | |
| 201 self.makescriptsmenu() | |
| 202 prefs.save() | |
| 203 | |
| 204 def domenu_modulebrowser(self, *args): | |
| 205 W.SetCursor('watch') | |
| 206 import ModuleBrowser | |
| 207 ModuleBrowser.ModuleBrowser() | |
| 208 | |
| 209 def domenu_open(self, *args): | |
| 210 fss, ok = macfs.StandardGetFile("TEXT") | |
| 211 if ok: | |
| 212 self.openscript(fss.as_pathname()) | |
| 213 | |
| 214 def domenu_new(self, *args): | |
| 215 W.SetCursor('watch') | |
| 216 import PyEdit | |
| 217 return PyEdit.Editor() | |
| 218 | |
| 219 def makescriptsmenu(self): | |
| 220 W.SetCursor('watch') | |
| 221 if self._scripts: | |
| 222 for id, item in self._scripts.keys(): | |
| 223 if self.menubar.menus.has_key(id): | |
| 224 m = self.menubar.menus[id] | |
| 225 m.delete() | |
| 226 self._scripts = {} | |
| 227 if self.scriptsmenu: | |
| 228 if hasattr(self.scriptsmenu, 'id') and self.menubar.menus.has_key(self.scriptsmenu.id): | |
| 229 self.scriptsmenu.delete() | |
| 230 self.scriptsmenu = FrameWork.Menu(self.menubar, "Scripts") | |
| 231 #FrameWork.MenuItem(self.scriptsmenu, "New script", None, self.domenu_new) | |
| 232 #self.scriptsmenu.addseparator() | |
| 233 fss, fss_changed = self.scriptsfolder.Resolve() | |
| 234 self.scriptswalk(fss.as_pathname(), self.scriptsmenu) | |
| 235 | |
| 236 def makeopenwindowsmenu(self): | |
| 237 for i in range(len(self.openwindowsmenu.items)): | |
| 238 self.openwindowsmenu.menu.DeleteMenuItem(1) | |
| 239 self.openwindowsmenu.items = [] | |
| 240 windows = [] | |
| 241 self._openwindows = {} | |
| 242 for window in self._windows.keys(): | |
| 243 title = window.GetWTitle() | |
| 244 if not title: | |
| 245 title = "<no title>" | |
|
11949
5e48d83c0fce
Fixed multi-arg appends.
Jack Jansen <jack.jansen@cwi.nl>
parents:
11325
diff
changeset
|
246 windows.append((title, window)) |
| 10047 | 247 windows.sort() |
| 248 for title, window in windows: | |
| 249 if title == "Python Interactive": # ugly but useful hack by Joe Strout | |
| 250 shortcut = '0' | |
| 251 else: | |
| 252 shortcut = None | |
| 253 item = FrameWork.MenuItem(self.openwindowsmenu, title, shortcut, callback = self.domenu_openwindows) | |
| 254 self._openwindows[item.item] = window | |
| 255 self._openwindowscheckmark = 0 | |
| 256 self.checkopenwindowsmenu() | |
| 257 | |
| 258 def domenu_openwindows(self, id, item, window, event): | |
| 259 w = self._openwindows[item] | |
| 260 w.ShowWindow() | |
| 261 w.SelectWindow() | |
| 262 | |
| 263 def domenu_quit(self): | |
| 264 self._quit() | |
| 265 | |
| 266 def domenu_save(self, *args): | |
| 267 print "Save" | |
| 268 | |
| 269 def _quit(self): | |
| 270 import PyConsole, PyEdit | |
| 271 PyConsole.console.writeprefs() | |
| 272 PyConsole.output.writeprefs() | |
| 273 PyEdit.searchengine.writeprefs() | |
| 274 for window in self._windows.values(): | |
|
11031
8b7f65b0db18
mod from Joe Strout: when quitting, catch errors in window.close() methods and ignore them. Otherwise one can never quit.
Just van Rossum <just@lettererror.com>
parents:
10322
diff
changeset
|
275 try: |
|
8b7f65b0db18
mod from Joe Strout: when quitting, catch errors in window.close() methods and ignore them. Otherwise one can never quit.
Just van Rossum <just@lettererror.com>
parents:
10322
diff
changeset
|
276 rv = window.close() # ignore any errors while quitting |
|
8b7f65b0db18
mod from Joe Strout: when quitting, catch errors in window.close() methods and ignore them. Otherwise one can never quit.
Just van Rossum <just@lettererror.com>
parents:
10322
diff
changeset
|
277 except: |
|
8b7f65b0db18
mod from Joe Strout: when quitting, catch errors in window.close() methods and ignore them. Otherwise one can never quit.
Just van Rossum <just@lettererror.com>
parents:
10322
diff
changeset
|
278 rv = 0 # (otherwise, we can get stuck!) |
| 10047 | 279 if rv and rv > 0: |
| 280 return | |
| 281 self.quitting = 1 | |
|
25084
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
282 |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
283 def makehelpmenu(self): |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
284 docs = self.installdocumentation() |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
285 self.helpmenu = m = self.gethelpmenu() |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
286 docitem = FrameWork.MenuItem(m, "Python Documentation", None, self.domenu_localdocs) |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
287 docitem.enable(docs) |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
288 doc2item = FrameWork.MenuItem(m, "Apple Developer Documentation", None, self.domenu_appledocs) |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
289 FrameWork.Separator(m) |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
290 finditem = FrameWork.MenuItem(m, "Lookup in Python Documentation", None, 'lookuppython') |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
291 finditem.enable(docs) |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
292 find2item = FrameWork.MenuItem(m, "Lookup in Carbon Documentation", None, 'lookupcarbon') |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
293 FrameWork.Separator(m) |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
294 webitem = FrameWork.MenuItem(m, "Python Documentation on the Web", None, self.domenu_webdocs) |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
295 web2item = FrameWork.MenuItem(m, "Python on the Web", None, self.domenu_webpython) |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
296 web3item = FrameWork.MenuItem(m, "MacPython on the Web", None, self.domenu_webmacpython) |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
297 |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
298 def domenu_localdocs(self, *args): |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
299 from Carbon import AH |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
300 AH.AHGotoPage("Python Help", "index.html", "") |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
301 |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
302 def domenu_appledocs(self, *args): |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
303 from Carbon import AH, AppleHelp |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
304 try: |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
305 AH.AHGotoMainTOC(AppleHelp.kAHTOCTypeDeveloper) |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
306 except AH.Error, arg: |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
307 if arg[0] == -50: |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
308 W.Message("Developer documentation not installed") |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
309 else: |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
310 W.Message("AppleHelp Error: %s" % `arg`) |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
311 |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
312 def domenu_lookuppython(self, *args): |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
313 from Carbon import AH |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
314 searchstring = self._getsearchstring() |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
315 if not searchstring: |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
316 return |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
317 try: |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
318 AH.AHSearch("Python Help", searchstring) |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
319 except AH.Error, arg: |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
320 W.Message("AppleHelp Error: %s" % `arg`) |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
321 |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
322 def domenu_lookupcarbon(self, *args): |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
323 from Carbon import AH |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
324 searchstring = self._getsearchstring() |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
325 if not searchstring: |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
326 return |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
327 try: |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
328 AH.AHSearch("Carbon", searchstring) |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
329 except AH.Error, arg: |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
330 W.Message("AppleHelp Error: %s" % `arg`) |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
331 |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
332 def _getsearchstring(self): |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
333 import PyEdit |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
334 editor = PyEdit.findeditor(None, fromtop=1) |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
335 if editor: |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
336 text = editor.getselectedtext() |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
337 if text: |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
338 return text |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
339 # This is a cop-out. We should have disabled the menus |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
340 # if there is no selection, but the can_ methods only seem |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
341 # to work for Windows. Or not for the Help menu, maybe? |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
342 import EasyDialogs |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
343 text = EasyDialogs.AskString("Search documentation for", ok="Search") |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
344 return text |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
345 |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
346 def domenu_webdocs(self, *args): |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
347 import webbrowser |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
348 major, minor, micro, state, nano = sys.version_info |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
349 if state in ('alpha', 'beta'): |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
350 docversion = 'dev/doc/devel' |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
351 elif micro == 0: |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
352 docversion = 'doc/%d.%d' % (major, minor) |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
353 else: |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
354 docversion = 'doc/%d.%d.%d' % (major, minor, micro) |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
355 webbrowser.open("http://www.python.org/%s" % docversion) |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
356 |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
357 def domenu_webpython(self, *args): |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
358 import webbrowser |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
359 webbrowser.open("http://www.python.org/") |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
360 |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
361 def domenu_webmacpython(self, *args): |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
362 import webbrowser |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
363 webbrowser.open("http://www.cwi.nl/~jack/macpython.html") |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
364 |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
365 def installdocumentation(self): |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
366 # This is rather much of a hack. Someone has to tell the Help Viewer |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
367 # about the Python documentation, so why not us. The documentation |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
368 # is located in the framework, but there's a symlink in Python.app. |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
369 # And as AHRegisterHelpBook wants a bundle (with the right bits in |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
370 # the plist file) we refer it to Python.app |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
371 python_app = os.path.join(sys.prefix, 'Resources/Python.app') |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
372 doc_source = os.path.join(python_app, 'Contents/Resources/English.lproj/Documentation') |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
373 if not os.path.isdir(doc_source): |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
374 return 0 |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
375 try: |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
376 from Carbon import AH |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
377 AH.AHRegisterHelpBook(python_app) |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
378 except (ImportError, MacOS.Error), arg: |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
379 W.Message("Cannot register Python documentation: %s" % `arg`) |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
380 return 0 |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
381 return 1 |
|
b337ef16c0d2
Implemented the Help menu. The Python manual can be viewed (if installed)
Jack Jansen <jack.jansen@cwi.nl>
parents:
24226
diff
changeset
|
382 |
| 10047 | 383 |
| 384 PythonIDE() | |
| 385 |
