def setUp(): global ed from Vision.VPE import VisualProgramingEnvironment ed = VisualProgramingEnvironment( name='Vision', withShell=0, ) ed.master.update_idletasks() ed.configure(withThreads=0)
def setUp(): global ed ed = VisualProgramingEnvironment("test individual molkit nodes", withShell=0, visibleWidth=400, visibleHeight=300) ed.root.update() ed.configure(withThreads=0) ed.addLibraryInstance(molkitlib, 'MolKit.VisionInterface.MolKitNodes', 'molkitlib') ed.root.update()
def doit(self): if self.root is None: self.root = Tkinter.Toplevel() self.root.withdraw() # the vision font must be decided in vision or _visionrc, not here anymore # if 'changeFont' in self.vf.commands.keys(): # currentFont = self.vf.changeFont.getCurrentFont() # self.ed = VisualProgramingEnvironment( # master=self.root, font=currentFont, withShell=0) # else: self.ed = VisualProgramingEnvironment(master=self.root, withShell=0) self.root.protocol("WM_DELETE_WINDOW", self.hide) if getResourceFolder() is None: self.ed.loadLibModule('Vision.StandardNodes') else: self.ed.sourceFile(resourceFile='_visionrc') self.ed.updateFastLibs() filemenu = self.ed.menuButtons['File'].menu filemenu.entryconfig(filemenu.index('Quit'), command=self.hide) # let Vision know which PMV instance runs it self.ed.vf = self.vf # add handle to Pmv library instance from Pmv.VisionInterface.PmvNodes import pmvlib self.lib = pmvlib # initialize the API between PMV and Vision self.vf.visionAPI.setEditor(self.ed) self.vf.visionAPI.setLibrary(self.lib) # add Pmv library to Vision self.ed.addLibraryInstance(pmvlib, 'Pmv.VisionInterface.PmvNodes', 'pmvlib') # add Standard library to Vision from Vision.StandardNodes import stdlib self.ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib') # add MolKit library to Vision if needed if len(self.vf.Mols): from MolKit.VisionInterface.MolKitNodes import molkitlib self.ed.addLibraryInstance( molkitlib, 'MolKit.VisionInterface.MolKitNodes', 'molkitlib') # add molecule nodes to Pmv library if molecules were loaded in # Pmv before Vision was started for obj, name, kw in self.vf.visionAPI.objects: self.vf.visionAPI.addNodeToLibrary(obj, name, kw) # is ARTK running? if so, we need to add the library and nodes if hasattr(self.vf, 'art') and self.vf.art.visionAPI is not None: visionAPI = self.vf.art.visionAPI visionAPI.setEditor(self.ed) from ARViewer.VisionInterface.ARNodes import artlib visionAPI.setLibrary(artlib) visionAPI.ed.addLibraryInstance( artlib, 'ARTK.VisionInterface.ARNodes', 'artlib') # add nodes to ARTK library for obj, name, kw in visionAPI.objects: visionAPI.addNodeToLibrary(obj, name, kw) # and add link to ARViewer self.ed.art = self.vf.art elif self.vf.GUI.toolbarCheckbuttons['Vision']['Variable'].get( ) == 0 and self.root: self.root.withdraw() elif self.vf.GUI.toolbarCheckbuttons['Vision']['Variable'].get( ) == 1 and self.root: self.root.deiconify() ################################################################## # FIXME: # Workaround: currently, Vision would crash on some Windows2000 and SGI # when running multi-threaded. We turn MT off by default ################################################################## #if sys.platform == 'win32' or sys.platform == 'irix646': self.ed.configure(withThreads=0)