def __openfiles(self, requestevent, replyevent): try: listdesc = requestevent.AEGetParamDesc(keyDirectObject, typeAEList) for i in range(listdesc.AECountItems()): aliasdesc = listdesc.AEGetNthDesc(i + 1, typeAlias)[1] alias = File.Alias(rawdata=aliasdesc.data) fsref = alias.FSResolveAlias(None)[0] pathname = fsref.as_pathname() sys.argv.append(pathname) except Exception, e: print "argvemulator.py warning: can't unpack an open document event" import traceback traceback.print_exc()
def open_file(self, requestevent, replyevent): from chimera import openModels, UserError, replyobj try: listdesc = requestevent.AEGetParamDesc(AEc.keyDirectObject, AEc.typeAEList) for i in xrange(listdesc.AECountItems()): aliasdesc = listdesc.AEGetNthDesc(i + 1, AEc.typeAlias)[1] alias = File.Alias(rawdata=aliasdesc.data) fsref = alias.FSResolveAlias(None)[0] pathname = fsref.as_pathname() #print "GOT OPEN FOR %s" % pathname openModels.open(pathname) except UserError, what: replyobj.error("%s" % what)
def makeusermenus(self): m = Wapplication.Menu(self.menubar, "File") newitem = FrameWork.MenuItem(m, "New", "N", 'new') openitem = FrameWork.MenuItem(m, "Open" + ELLIPSIS, "O", 'open') openbynameitem = FrameWork.MenuItem(m, "Open File by Name" + ELLIPSIS, "D", 'openbyname') self.openrecentmenu = FrameWork.SubMenu(m, "Open Recent") self.makeopenrecentmenu() FrameWork.Separator(m) closeitem = FrameWork.MenuItem(m, "Close", "W", 'close') saveitem = FrameWork.MenuItem(m, "Save", "S", 'save') saveasitem = FrameWork.MenuItem(m, "Save as" + ELLIPSIS, None, 'save_as') FrameWork.Separator(m) saveasappletitem = FrameWork.MenuItem(m, "Save as Applet" + ELLIPSIS, None, 'save_as_applet') FrameWork.Separator(m) instmgritem = FrameWork.MenuItem(m, "Package Manager", None, 'openpackagemanager') gensuiteitem = FrameWork.MenuItem(m, "Generate OSA Suite...", None, 'gensuite') if not runningOnOSX(): # On OSX there's a special "magic" quit menu, so we shouldn't add # it to the File menu. FrameWork.Separator(m) quititem = FrameWork.MenuItem(m, "Quit", "Q", 'quit') m = Wapplication.Menu(self.menubar, "Edit") undoitem = FrameWork.MenuItem(m, "Undo", 'Z', "undo") FrameWork.Separator(m) cutitem = FrameWork.MenuItem(m, "Cut", 'X', "cut") copyitem = FrameWork.MenuItem(m, "Copy", "C", "copy") pasteitem = FrameWork.MenuItem(m, "Paste", "V", "paste") FrameWork.MenuItem(m, "Clear", None, "clear") FrameWork.Separator(m) selallitem = FrameWork.MenuItem(m, "Select all", "A", "selectall") sellineitem = FrameWork.MenuItem(m, "Select line", "L", "selectline") FrameWork.Separator(m) finditem = FrameWork.MenuItem(m, "Find" + ELLIPSIS, "F", "find") findagainitem = FrameWork.MenuItem(m, "Find again", 'G', "findnext") enterselitem = FrameWork.MenuItem(m, "Enter search string", "E", "entersearchstring") replaceitem = FrameWork.MenuItem(m, "Replace", None, "replace") replacefinditem = FrameWork.MenuItem(m, "Replace & find again", 'T', "replacefind") FrameWork.Separator(m) shiftleftitem = FrameWork.MenuItem(m, "Shift left", "[", "shiftleft") shiftrightitem = FrameWork.MenuItem(m, "Shift right", "]", "shiftright") m = Wapplication.Menu(self.menubar, "Python") runitem = FrameWork.MenuItem(m, "Run window", "R", 'run') runselitem = FrameWork.MenuItem(m, "Run selection", None, 'runselection') FrameWork.Separator(m) moditem = FrameWork.MenuItem(m, "Module browser" + ELLIPSIS, "M", self.domenu_modulebrowser) FrameWork.Separator(m) mm = FrameWork.SubMenu(m, "Preferences") FrameWork.MenuItem(mm, "Set Scripts folder" + ELLIPSIS, None, self.do_setscriptsfolder) FrameWork.MenuItem(mm, "Editor default settings" + ELLIPSIS, None, self.do_editorprefs) FrameWork.MenuItem(mm, "Set default window font" + ELLIPSIS, None, self.do_setwindowfont) self.openwindowsmenu = Wapplication.Menu(self.menubar, 'Windows') self.makeopenwindowsmenu() self._menustocheck = [ closeitem, saveitem, saveasitem, saveasappletitem, undoitem, cutitem, copyitem, pasteitem, selallitem, sellineitem, finditem, findagainitem, enterselitem, replaceitem, replacefinditem, shiftleftitem, shiftrightitem, runitem, runselitem ] prefs = self.getprefs() try: fsr, d = File.Alias( rawdata=prefs.scriptsfolder).FSResolveAlias(None) self.scriptsfolder = fsr.FSNewAliasMinimal() except: path = os.path.join(os.getcwd(), "Mac", "IDE scripts") if not os.path.exists(path): if sys.platform == "darwin": path = os.path.join(os.getenv("HOME"), "Library", "Python", "IDE-Scripts") else: path = os.path.join(os.getcwd(), "Scripts") if not os.path.exists(path): os.makedirs(path) f = open( os.path.join(path, "Place your scripts here" + ELLIPSIS), "w") f.close() fsr = File.FSRef(path) self.scriptsfolder = fsr.FSNewAliasMinimal() self.scriptsfoldermodtime = getmodtime(fsr) else: self.scriptsfoldermodtime = getmodtime(fsr) prefs.scriptsfolder = self.scriptsfolder.data self._scripts = {} self.scriptsmenu = None self.makescriptsmenu() self.makehelpmenu()