def __init__(self, src_path=None): self.currentPanelId = -1 self.panels = [] self.unique_id = 0 ModelessDialog.__init__(self) self.NULL_PANEL = Panel(-1, self, name="") self.NULL_PANEL.cmdStack.delB.configure(state="disabled") self.NULL_PANEL.cmdStack.addB.configure(state="disabled") self.NULL_PANEL.undoStack.delB.configure(state="disabled") self.NULL_PANEL.undoStack.addB.configure(state="disabled") self.refreshPanelInfo(-1) self.save_path = None self.updateWindowTitle() self.gTitleOption.set("Chimera Demo") if src_path: self.loadDemo(src_path) self.setSavePath(src_path) self.updateWindowTitle() self._toplevel.bind('<KeyRelease>', self.keyReleaseCB) self._DIRTY = False self._cached_save = None
def __init__(self, models): self.models = models if len(models) > 1: self.title = "Add Note to %d Models" % (len(models)) else: self.title = "Add Note to %s" % models[0].name ModelessDialog.__init__(self)
def __init__(self, residue, resType, lib, sessionData=None): self._sesHandlerID = chimera.triggers.addHandler(SAVE_SESSION, self._sessionCB, None) self.residue = residue self.lib = lib self.resType = resType self.title = "%s Side-Chain Rotamers" % residue if sessionData: self.bbdep, self.rotamers, self.tableData = sessionData else: from Rotamers import getRotamers self.bbdep, self.rotamers = getRotamers(residue, log=True, lib=lib, resType=resType) from Midas import linewidth, color linewidth(2, self.rotamers) color('byhet', self.rotamers) chimera.openModels.add(self.rotamers, sameAs=residue.molecule, hidden=True, noprefs=True) registerAttribute(chimera.Molecule, "chis") registerAttribute(chimera.Molecule, "rotamerProb") self.tableData = None self.resHandlerID = chimera.triggers.addHandler( 'Residue', self._resChangeCB, None) self.dependentDialogInfo = [('Clashes', 'clash'), ('H-Bonds', 'hbond'), ('Density', 'volume')] for label, ddn in self.dependentDialogInfo: setattr(self, ddn + "Dialog", None) ModelessDialog.__init__(self)
def __init__(self): self.director = None self.this_dir = os.path.split(os.path.abspath(__file__))[0] ModelessDialog.__init__(self) self.cache_width = None self.cache_height = None ## get the width and height when the frame options are expanded self.frmOptionsFrame.grid(row=FRM_OPTS_ROW ,column=0, columnspan=3, sticky='nsew') chimera.tkgui.app.update_idletasks() self.frm_width, self.frm_height = \ (self.frmOptionsFrame.winfo_width(), self.frmOptionsFrame.winfo_height()) self.frmOptionsFrame.grid_forget() chimera.tkgui.app.update_idletasks() ## get the width and height when the movie options are expanded self.movOptionsFrame.grid(row=MOV_OPTS_ROW,column=0, columnspan=3, sticky='nsew') chimera.tkgui.app.update_idletasks() self.mov_width, self.mov_height = \ (self.movOptionsFrame.winfo_width(), self.movOptionsFrame.winfo_height()) self.movOptionsFrame.grid_forget() chimera.tkgui.app.update_idletasks() w,h = map(int,self.getCurrentDimensions()) self._toplevel.wm_geometry('%sx%s' % (w+30,h+20)) #self.director.adjustGfxSize() chimera.tkgui.app.after(1000, self.showStatus, "Click the record button to start capturing frames")
def __init__(self, residue, resType, lib, sessionData=None): self._sesHandlerID = chimera.triggers.addHandler( SAVE_SESSION, self._sessionCB, None) self.residue = residue self.lib = lib self.resType = resType self.title = "%s Side-Chain Rotamers" % residue if sessionData: self.bbdep, self.rotamers, self.tableData = sessionData else: from Rotamers import getRotamers self.bbdep, self.rotamers = getRotamers(residue, log=True, lib=lib, resType=resType) from Midas import linewidth, color linewidth(2, self.rotamers) color('byhet', self.rotamers) chimera.openModels.add(self.rotamers, sameAs=residue.molecule, hidden=True, noprefs=True) registerAttribute(chimera.Molecule, "chis") registerAttribute(chimera.Molecule, "rotamerProb") self.tableData = None self.resHandlerID = chimera.triggers.addHandler( 'Residue', self._resChangeCB, None) self.dependentDialogInfo = [('Clashes', 'clash'), ('H-Bonds', 'hbond'), ('Density', 'volume')] for label, ddn in self.dependentDialogInfo: setattr(self, ddn + "Dialog", None) ModelessDialog.__init__(self)
def __init__(self, models): self.models = models if len(models) > 1: self.title = "Add Note to %d Models" % (len(models)) else: self.title = "Add Note to %s" % models[0].name ModelessDialog.__init__(self)
def __init__(self, mol=None, seq=None, blastData=None, sessionData=None): self.loaded = {} self.reference = mol if isinstance(self.reference, StructureSequence): self.molecule = self.reference.molecule elif isinstance(self.reference, Molecule): self.molecule = self.reference self.sequence = seq # for session data only if seq is None: self.seq, self.refResList = self._makeSeq(mol) else: self.seq = seq if self.reference: seq, resList = self._makeSeq(mol) self.refResList = self._getResidues(self.seq, seq, resList) if blastData: self.initBlast(*blastData) else: self.initSession(*sessionData) self.title = "Blast: %s" % self.basename ModelessDialog.__init__(self) if not blastData: self._updateLoadButton() if self.molecule: self.closeHandler = chimera.openModels.addRemoveHandler( self._modelClosedCB, None) else: self.closeHandler = None self.sesHandler = chimera.triggers.addHandler( SAVE_SESSION, self._sessionCB, None) chimera.extension.manager.registerInstance(self)
def __init__(self, src_path = None): self.currentPanelId = -1 self.panels = [] self.unique_id = 0 ModelessDialog.__init__(self) self.NULL_PANEL = Panel(-1, self, name="") self.NULL_PANEL.cmdStack.delB.configure(state="disabled") self.NULL_PANEL.cmdStack.addB.configure(state="disabled") self.NULL_PANEL.undoStack.delB.configure(state="disabled") self.NULL_PANEL.undoStack.addB.configure(state="disabled") self.refreshPanelInfo(-1) self.save_path = None self.updateWindowTitle() self.gTitleOption.set("Chimera Demo") if src_path: self.loadDemo(src_path) self.setSavePath(src_path) self.updateWindowTitle() self._toplevel.bind('<KeyRelease>', self.keyReleaseCB) self._DIRTY = False self._cached_save = None
def __init__(self, sessionData=None, *args, **kw): self.pausetime = 0.5 #time to wait between submitting a command and checking for output/refreshing the text (seconds) self.starttime = time.time() self.latvectime = time.time() dir, file = os.path.split(__file__) icon = os.path.join(dir, 'Lev00Logo.tiff') chimera.tkgui.app.toolbar.add( icon, lambda d=chimera.dialogs.display, n=Lev00Dialog.name: d(n), 'Run Lev00', None) self.App = "Lev00" self.fulltext = "" self.toption = 0 ModelessDialog.__init__(self, *args, **kw) print "In init" self.home = os.path.expanduser("~") self.appdir = self.home + "/." + self.App #check for ~/.Lev00. If it doesn't exist, create it if not (os.path.isdir(self.appdir)): print "Making ", self.appdir os.mkdir(self.appdir) self.getShell() #Look for the Lev00 root directory. Prompt user if necessary self.getappdir() #self.rootdir="/Users/ggibb2/Projects/CP2k/lev00_3.49" #Ask user to select the working directory self.getWorkingDir() # Create lev00 process self.ChimeraInterface = tetr_lev00_Chimera_plugin.Lev00( self.rootdir, self.wkdir, self.myshell) self.wdirlabel.config(text="wkdir= '" + self.wkdir + "'") # Create variable to store Lev00 output self.ChimeraInterfaceOutput = Tk.StringVar() time.sleep(self.pausetime) #Update the Lev00 text on screen self.updateText(self.ChimeraInterface.getOutput()) #load 'geom.xyz' self.ChimeraInterface.refreshGeom() #set view options to those selected in the GUI self.SetViewOption() self.timer()
def __init__(self, models): self.models = models if len(models) > 1: name = "Multiple Models" else: name = models[0].name self.title = "Compute Secondary Structure for %s" % name ModelessDialog.__init__(self)
def __init__(self, models): self.models = models if len(models) > 1: name = "Multiple Models" else: name = models[0].name self.title = "Set Transformation of %s" % name ModelessDialog.__init__(self)
def __init__(self, model): self.title = 'PDB Headers for %s' % model.name self.model = model from chimera import preferences self.prefs = preferences.addCategory("PDB headers dialog", preferences.HiddenCategory, optDict={"ordering": "Alphabetical"}) ModelessDialog.__init__(self)
def __init__(self, models): self.models = models if len(models) > 1: name = "Multiple Models" else: name = models[0].name self.title = "Compute Secondary Structure for %s" % name ModelessDialog.__init__(self)
def __init__(self, model): self.title = 'PDB Headers for %s' % model.name self.model = model from chimera import preferences self.prefs = preferences.addCategory( "PDB headers dialog", preferences.HiddenCategory, optDict={"ordering": "Alphabetical"}) ModelessDialog.__init__(self)
def __init__(self, title="Add Hydrogens", models=None, useHBonds=None, cb=None, **kw): self.title = title self.cb = cb self.startModels = models if useHBonds is None: self.startUseHBonds = prefs[HBOND_GUIDED] else: self.startUseHBonds = useHBonds ModelessDialog.__init__(self, **kw)
def __init__(self, cb, unchargedResidues, unchargedAtoms, method, status, gaffType, showCharges=False): self.cb = cb self.unchargedResidues = unchargedResidues self.unchargedAtoms = unchargedAtoms self.status = status self.method = method self.gaffType = gaffType self.showCharges = showCharges ModelessDialog.__init__(self)
def __init__(self, movie, startFrame, stride, endFrame, useSel, ignoreBulk, ignoreHyds): self.movie = movie self.movie.subdialogs.append(self) self.startFrame = startFrame self.stride = stride self.endFrame = endFrame self.useSel = useSel self.ignoreBulk = ignoreBulk self.ignoreHyds = ignoreHyds ModelessDialog.__init__(self)
def __init__(self, movie, startFrame, stride, endFrame, useSel, ignoreBulk, ignoreHyds): self.movie = movie self.movie.subdialogs.append(self) self.startFrame = startFrame self.stride = stride self.endFrame = endFrame self.useSel = useSel self.ignoreBulk = ignoreBulk self.ignoreHyds = ignoreHyds ModelessDialog.__init__(self)
def __init__(self, modelList, subSelection, *args, **kw): from chimera import preferences self._removeHandler = None for m in modelList: m.preclusterColor = m.color self.subSelection = subSelection self._cluster(modelList) ModelessDialog.__init__(self, *args, **kw) chimera.extension.manager.registerInstance(self) self._removeHandler = chimera.openModels.addRemoveHandler( self._modelsChanged, None)
def __init__(self, groupPanel): self.groupPanel = groupPanel options = { "shownButs": {}, "executionList": ['attributes...'], "shownColumns": {} } self.prefs = preferences.addCategory("Pseudobond Group Panel", preferences.HiddenCategory, optDict=options) ModelessDialog.__init__(self)
def __init__(self, groupPanel): self.groupPanel = groupPanel options = { "shownButs": {}, "executionList": ['attributes...'], "shownColumns": {} } self.prefs = preferences.addCategory("Pseudobond Group Panel", preferences.HiddenCategory, optDict=options) ModelessDialog.__init__(self)
def __init__(self, modelList, subSelection, *args, **kw): from chimera import preferences self._removeHandler = None for m in modelList: m.preclusterColor = m.color self.subSelection = subSelection self._cluster(modelList) ModelessDialog.__init__(self, *args, **kw) chimera.extension.manager.registerInstance(self) self._removeHandler = chimera.openModels.addRemoveHandler( self._modelsChanged, None)
def __init__(self, modelPanel): self.modelPanel = modelPanel options = { "freqButs": {}, "executionList": ['attributes...'], "shownColumns": {}, "showColor": False, "lastUse": None } self.prefs = preferences.addCategory("Model Panel", preferences.HiddenCategory, optDict=options) ModelessDialog.__init__(self)
def __init__(self, modelPanel): self.modelPanel = modelPanel options = { "freqButs": {}, "executionList": ['attributes...'], "shownColumns": {}, "showColor": False, "lastUse": None } self.prefs = preferences.addCategory("Model Panel", preferences.HiddenCategory, optDict=options) ModelessDialog.__init__(self)
def __init__(self, parent=None, mode='atoms'): # Check self.title = 'Select {}'.format(mode) self.mode = mode # Fire up ModelessDialog.__init__(self) if not chimera.nogui: # avoid useless errors during development chimera.extension.manager.registerInstance(self) # Fix styles self._fix_styles(*self.buttonWidgets.values()) self._toplevel.attributes('-topmost', True) self._toplevel.resizable(width=True, height=False)
def __init__(self, name, molList, tableData=None): self.title = "ModBase: %s" % name self.molList = molList self.tableData = tableData ModelessDialog.__init__(self) self.closeHandler = chimera.openModels.addRemoveHandler( self._modelClosedCB, None) self.selHandler = chimera.triggers.addHandler( "selection changed", self._selectionChangedCB, None) self.sesHandler = chimera.triggers.addHandler( SAVE_SESSION, self._sessionCB, None) chimera.extension.manager.registerInstance(self)
def __init__(self, process=None, models=None, chargeModel=None, cb=None, **kw): if process: self.title = "Assign Charges for %s" % process.title() else: from AddCharge import process self.process = process self.cb = cb self.startModels = models if not chargeModel: from AddCharge import defaultChargeModel chargeModel = defaultChargeModel self.initialChargeModel = chargeModel ModelessDialog.__init__(self, **kw)
def __init__(self, title="Add Hydrogens", models=None, useHBonds=None, cb=None, **kw): self.title = title self.cb = cb self.startModels = models if useHBonds is None: self.startUseHBonds = prefs[HBOND_GUIDED] else: self.startUseHBonds = useHBonds ModelessDialog.__init__(self, **kw)
def __init__(self, movie, startFrame, stride, endFrame, useSel, minRmsd, maxRmsd, ignoreBulk, ignoreHyds, recolor): self.movie = movie self.movie.subdialogs.append(self) self.startFrame = startFrame self.stride = stride self.endFrame = endFrame self.useSel = useSel self.minRmsd = minRmsd self.maxRmsd = maxRmsd self.ignoreBulk = ignoreBulk self.ignoreHyds = ignoreHyds self.recolor = recolor self.title = self.titleFmt % (minRmsd, maxRmsd) ModelessDialog.__init__(self)
def __init__(self, group): self.group = group self.setInCallback = 0 if group.category: self.title = "%s attributes" % _mapName(group) self.triggers = [('PseudoBondGroup', chimera.triggers.addHandler('PseudoBondGroup', self._refreshCB, None)), ('PseudoBond', chimera.triggers.addHandler('PseudoBond', self._refreshCB, None))] self.refreshFuncs = {} self.refreshFuncs['PseudoBondGroup'] = [] self.refreshFuncs['PseudoBond'] = [] ModelessDialog.__init__(self)
def __init__(self, name, cavities, sessionData=None): self.title = "CASTp: %s" % name self.cavities = cavities from weakref import proxy def wrapper(s=proxy(self)): s._cavityChangeCB() for cav in cavities: cav.pocketInfo["atoms"].selChangedCB = wrapper cav.mouthInfo["atoms"].selChangedCB = wrapper if sessionData: self.tableData = sessionData else: self.tableData = None ModelessDialog.__init__(self) chimera.extension.manager.registerInstance(self)
def __init__(self, model): self.model = model self.setInCallback = False self.title = "%s attributes (model %s)" % ( readableName(model), model.oslIdent()[1:]) self.triggers = [('Model', chimera.triggers.addHandler( 'Model', self._refreshCB, None))] self.refreshFuncs = {} self.refreshFuncs['Model'] = [] if isinstance(self.model, chimera.Molecule) \ and len(self.model.pdbHeaders) > 0: self.buttons = self.buttons + ["PDB Headers..."] ModelessDialog.__init__(self)
def __init__(self, movie, startFrame, stride, endFrame, useSel, minRmsd, maxRmsd, ignoreBulk, ignoreHyds, recolor): self.movie = movie self.movie.subdialogs.append(self) self.startFrame = startFrame self.stride = stride self.endFrame = endFrame self.useSel = useSel self.minRmsd = minRmsd self.maxRmsd = maxRmsd self.ignoreBulk = ignoreBulk self.ignoreHyds = ignoreHyds self.recolor = recolor self.title = self.titleFmt % (minRmsd, maxRmsd) ModelessDialog.__init__(self)
def __init__(self, refModels, altModels, subSelection, *args, **kw): # # Save the subselection (part of model to match) # as well as the model lists (ordered by subid) # self.subSelection = subSelection l = [ (m.subid, m) for m in refModels ] l.sort() self.refModels = [ t[1] for t in l ] l = [ (m.subid, m) for m in altModels ] l.sort() self.altModels = [ t[1] for t in l ] # # Grab the atomic coordinates that will be used # to compute RMSDs and check for errors # self.atomDict = {} counts = [] for ml in self.refModels, self.altModels: for m in ml: osl = '%s%s' % (m.oslIdent(), self.subSelection) s = selection.OSLSelection(osl) atoms = s.atoms() self.atomDict[m] = match._coordArray(atoms) counts.append(len(atoms)) if min(counts) != max(counts): raise chimera.UserError("Unequal number of atoms " "found in models") if counts[0] == 0: raise chimera.UserError("No atoms match atom specifier") # # Add handler to monitor change in display or active # status changes # self.trigger = chimera.triggers.addHandler('check for changes', self._statusCheck, None) # # Initialize dialog # ModelessDialog.__init__(self, *args, **kw) # # Register with extension manager # chimera.extension.manager.registerInstance(self)
def __init__(self, refModels, altModels, subSelection, *args, **kw): # # Save the subselection (part of model to match) # as well as the model lists (ordered by subid) # self.subSelection = subSelection l = [(m.subid, m) for m in refModels] l.sort() self.refModels = [t[1] for t in l] l = [(m.subid, m) for m in altModels] l.sort() self.altModels = [t[1] for t in l] # # Grab the atomic coordinates that will be used # to compute RMSDs and check for errors # self.atomDict = {} counts = [] for ml in self.refModels, self.altModels: for m in ml: osl = '%s%s' % (m.oslIdent(), self.subSelection) s = selection.OSLSelection(osl) atoms = s.atoms() self.atomDict[m] = match._coordArray(atoms) counts.append(len(atoms)) if min(counts) != max(counts): raise chimera.UserError("Unequal number of atoms " "found in models") if counts[0] == 0: raise chimera.UserError("No atoms match atom specifier") # # Add handler to monitor change in display or active # status changes # self.trigger = chimera.triggers.addHandler('check for changes', self._statusCheck, None) # # Initialize dialog # ModelessDialog.__init__(self, *args, **kw) # # Register with extension manager # chimera.extension.manager.registerInstance(self)
def __init__(self, cb, unchargedResidues, unchargedAtoms, method, status, gaffType, showCharges=False): self.cb = cb self.unchargedResidues = unchargedResidues self.unchargedAtoms = unchargedAtoms self.status = status self.method = method self.gaffType = gaffType self.showCharges = showCharges ModelessDialog.__init__(self)
def __init__(self, group): self.group = group self.setInCallback = 0 if group.category: self.title = "%s attributes" % _mapName(group) self.triggers = [ ('PseudoBondGroup', chimera.triggers.addHandler('PseudoBondGroup', self._refreshCB, None)), ('PseudoBond', chimera.triggers.addHandler('PseudoBond', self._refreshCB, None)) ] self.refreshFuncs = {} self.refreshFuncs['PseudoBondGroup'] = [] self.refreshFuncs['PseudoBond'] = [] ModelessDialog.__init__(self)
def __init__(self, viewdock, *args, **kw): self.viewdock = viewdock self.results = viewdock.results self.compounds = Set() self.selected = None self.valueCache = {} self._isMapped = False self._colAddHandler = None self._colDelHandler = None self._colUpdHandler = None self._needChangeCompounds = False ModelessDialog.__init__(self, *args, **kw) self._exitHandler = self.viewdock.triggers.addHandler( self.viewdock.EXIT, self._exit, None) self._cpdChgHandler = self.viewdock.triggers.addHandler( self.viewdock.COMPOUND_STATE_CHANGED, self._compoundStateChanged, None)
def __init__(self, process=None, models=None, chargeModel=None, cb=None, **kw): if process: self.title = "Assign Charges for %s" % process.title() else: from AddCharge import process self.process = process self.cb = cb self.startModels = models if not chargeModel: from AddCharge import defaultChargeModel chargeModel = defaultChargeModel self.initialChargeModel = chargeModel ModelessDialog.__init__(self, **kw)
def __init__(self, ensemble, **kw): self.title = "MD Movie: %s" % ensemble.name self.ensemble = ensemble self.model = Trajectory.Ensemble(self.ensemble) self.model.CreateMolecule() endFrame = ensemble.endFrame if endFrame == "pipe": fn = 1 while True: replyobj.status("Loading trajectory from pipe:" " frame %d\n" % fn) try: self.model.LoadFrame(fn, makeCurrent=False) except NoFrameError: break fn += 1 replyobj.status("Loading trajectory from pipe: done\n") endFrame = fn-1 if ensemble.startFrame == None: self.startFrame = 1 else: self.startFrame = ensemble.startFrame if self.startFrame > len(ensemble): replyobj.warning("Start frame > number of" " trajectory frames; changing start" " frame to 1\n") self.startFrame = 1 if endFrame == None: self.endFrame = len(ensemble) else: self.endFrame = endFrame if self.endFrame > len(ensemble): replyobj.warning("End frame > number of" " trajectory frames; changing end" " frame to last frame\n") self.endFrame = len(ensemble) self.molTrigID = chimera.triggers.addHandler("Molecule", self._molTrigCB, None) self.openOpts = kw self._inTriggerCB = False ModelessDialog.__init__(self) del self.openOpts chimera.extension.manager.registerInstance(self)
def __init__(self, mol, modes, sesData=None, *args, **kw): self.showVectors = False self.vectorModel = None self.sessionHandler = None self.movieDialog = None self.modeNumber = False self.__recursion = False self.counter = 0 self.cyl = 0 self.con = 0 self.rel = 0 self.vecSf = 0 self.atoms = list() self.modeData = list() self.title = None self.molecule = None print modes self.molecule = mol self.title = "Normal Modes for %s" % mol.name cs1 = mol.newCoordSet(0) for atom in mol.atoms: atom.setCoord(atom.coord(), cs1) self.atoms.append(atom) for index, mode in enumerate(modes): active = False displacements = list() v = mode.getEigvec() # freq = str((mode.getEigval()/FREQ_CONVERSOR)**0.5) freq = str(mode.getEigval()) for i in xrange(0, len(v), 3): x, y, z = v[i:i + 3] displacements.append(Vector(x, y, z)) self.modeData.append( _NormalModeProxy(index, active, freq, displacements, self)) self._createMovieDialog(self.molecule) ModelessDialog.__init__(self, *args, **kw) self.sessionHandler = chimera.triggers.addHandler( SAVE_SESSION, self._sessionSaveCB, None) if not chimera.nogui: # avoid useless errors during development chimera.extension.manager.registerInstance(self)
def __init__(self, ensemble, **kw): self.title = "MD Movie: %s" % ensemble.name self.ensemble = ensemble self.model = Trajectory.Ensemble(self.ensemble) self.model.CreateMolecule() endFrame = ensemble.endFrame if endFrame == "pipe": fn = 1 while True: replyobj.status("Loading trajectory from pipe:" " frame %d\n" % fn) try: self.model.LoadFrame(fn, makeCurrent=False) except NoFrameError: break fn += 1 replyobj.status("Loading trajectory from pipe: done\n") endFrame = fn - 1 if ensemble.startFrame == None: self.startFrame = 1 else: self.startFrame = ensemble.startFrame if self.startFrame > len(ensemble): replyobj.warning("Start frame > number of" " trajectory frames; changing start" " frame to 1\n") self.startFrame = 1 if endFrame == None: self.endFrame = len(ensemble) else: self.endFrame = endFrame if self.endFrame > len(ensemble): replyobj.warning("End frame > number of" " trajectory frames; changing end" " frame to last frame\n") self.endFrame = len(ensemble) self.molTrigID = chimera.triggers.addHandler("Molecule", self._molTrigCB, None) self.openOpts = kw self._inTriggerCB = False ModelessDialog.__init__(self) del self.openOpts chimera.extension.manager.registerInstance(self)
def __init__(self, viewdock, *args, **kw): self.viewdock = viewdock self.results = viewdock.results self.compounds = Set() self.selected = None self.valueCache = {} self._isMapped = False self._colAddHandler = None self._colDelHandler = None self._colUpdHandler = None self._needChangeCompounds = False ModelessDialog.__init__(self, *args, **kw) self._exitHandler = self.viewdock.triggers.addHandler( self.viewdock.EXIT, self._exit, None) self._cpdChgHandler = self.viewdock.triggers.addHandler( self.viewdock.COMPOUND_STATE_CHANGED, self._compoundStateChanged, None)
def __init__(self, seqCanvas): self.seqCanvas = seqCanvas seqCanvas.mainCanvas.bind('<ButtonPress-1>', self._mouseDownCB) seqCanvas.mainCanvas.bind('<ButtonRelease-1>', self._mouseUpCB) seqCanvas.mainCanvas.bind('<B1-Motion>', self._mouseDragCB) seqCanvas.mainCanvas.bind('<Button-3>', lambda e: self._focusCB(e, pref="residue")) seqCanvas.mainCanvas.bind('<Shift-Button-3>', lambda e: self._focusCB(e, pref="region")) self.title = "Region Browser for " + seqCanvas.mav.title self._dragLines = [] self._dragRegion = None self._prevDrag = None self._bboxes = [] self._afterID = None self._highlightedRegion = None self.regions = [] self.associatedRegions = {} self.renameDialogs = {} self._scfDialog = None ModelessDialog.__init__(self)
def __init__(self): import os.path myDir, junk = os.path.split(__file__) addFunction('place text', (self._pickLabel, self._moveLabel, None), icon=chimage.get(Image.open(os.path.join(myDir, 'ilabel.png')), tkgui.app)) addFunction('place key', (self._startOrGrabKey, self._sizeOrMoveKey, None), icon=chimage.get( Image.open(os.path.join(myDir, 'key.png')), tkgui.app)) import Ilabel if not Ilabel._ilabelModel: Ilabel.IlabelModel() self.model = Ilabel._ilabelModel ModelessDialog.__init__(self) self._sessionHandlerID = chimera.triggers.addHandler( SAVE_SESSION, self._saveSession, None) self._closeHandlerID = chimera.triggers.addHandler( CLOSE_SESSION, self.destroy, None) self._beginRestoreHandlerID = chimera.triggers.addHandler( BEGIN_RESTORE_SESSION, self.destroy, None)
def __init__(self): import os.path myDir, junk = os.path.split(__file__) addFunction('place text', (self._pickLabel, self._moveLabel, None), icon=chimage.get( Image.open(os.path.join(myDir, 'ilabel.png')), tkgui.app)) addFunction('place key', (self._startOrGrabKey, self._sizeOrMoveKey, None), icon=chimage.get( Image.open(os.path.join(myDir, 'key.png')), tkgui.app)) import Ilabel if not Ilabel._ilabelModel: Ilabel.IlabelModel() self.model = Ilabel._ilabelModel ModelessDialog.__init__(self) self._sessionHandlerID = chimera.triggers.addHandler( SAVE_SESSION, self._saveSession, None) self._closeHandlerID = chimera.triggers.addHandler( CLOSE_SESSION, self.destroy, None) self._beginRestoreHandlerID = chimera.triggers.addHandler( BEGIN_RESTORE_SESSION, self.destroy, None)
def __init__(self, num, width, height, img_src, **kw): """num is the number of panels the wizard is to contain width is the desired width of each panel, in pixels height is the desired height of each panel, in pixels img_src is the absolute path to a .gif file containing an image to appear in the left-hand side of the wizard """ self.panel_width = width self.panel_height = height self.img_src = img_src if kw.has_key('img_bg_color'): self.img_bg_color = kw['img_bg_color'] else: self.img_bg_color = None self.numPanels = num self.pCurrent = 0 self.pFrames = [None] * self.numPanels ModelessDialog.__init__(self)
def __init__(self, num, width, height, img_src, **kw): """num is the number of panels the wizard is to contain width is the desired width of each panel, in pixels height is the desired height of each panel, in pixels img_src is the absolute path to a .gif file containing an image to appear in the left-hand side of the wizard """ self.panel_width = width self.panel_height = height self.img_src = img_src if kw.has_key('img_bg_color'): self.img_bg_color = kw['img_bg_color'] else: self.img_bg_color = None self.numPanels = num self.pCurrent = 0 self.pFrames = [None] * self.numPanels ModelessDialog.__init__(self)
def __init__(self, mav, *args, **kw): self.mav = mav self.title = "Delete Sequences/Gaps of %s" % (mav.title, ) self.handlerID = self.mav.triggers.addHandler(MOD_ALIGN, self._alignMod, None) ModelessDialog.__init__(self, *args, **kw)
def __init__(self, fileAttrs, mavStatus): self.fileAttrs = fileAttrs self.mavStatus = mavStatus self.reminder = "Annotations only saved in Stockholm format\n"\ "Comments saved in RSF and Stockholm formats\n" ModelessDialog.__init__(self)
def __init__(self, noteDialog): self.noteDialog = noteDialog ModelessDialog.__init__(self)
def __init__(self, rotDialog): self.rotDialog = rotDialog ModelessDialog.__init__(self)
def __init__(self, mav, *args, **kw): self.mav = mav self.title = "Match Structures by Sequence for %s" % mav.title ModelessDialog.__init__(self, *args, **kw)
def __init__(self, mav, *args, **kw): self.mav = mav self.title = "Match Structures by Sequence for %s" % mav.title ModelessDialog.__init__(self, *args, **kw)
def __init__(self, fileName): self._fileName = fileName self.title = "Open %s" % fileName self.Open = self.OK ModelessDialog.__init__(self)
def __init__(self, models=None): self.initModels = models ModelessDialog.__init__(self)
def __init__(self, controller, movie_ui, *args, **kwargs): self.title = "OrbiTraj Configuration" self.controller = controller self.movie_ui = movie_ui ModelessDialog.__init__(self, *args, **kwargs)