def resetfunklet(self): if self.enable_multi.state(): #change all selected for parmkey in self._parmlist: # if not self._parmdict[parmkey]['publish']: if self.parmtable.isRowSelected( self._parmdict[parmkey]['row']): #set to 0 funklet = self._parmdict[parmkey]['funklet'] coeff = array([[0.]]) if funklet: coeff = funklet.coeff if is_scalar(coeff): coeff = array([[0.]]) else: if is_scalar(coeff[0]): for i in range(len(coeff)): coeff[i] = 0. else: for i in range(len(coeff)): for j in range(len(coeff[0])): coeff[i][j] = 0. funklet.coeff = coeff self._parmdict[parmkey]['funklet'] = funklet # print "setting funklet ",funklet; meqds.set_node_state(parmkey, funklet=funklet) self.reexecute() else: if not self._currentparm: return self._currentparm.resettozero()
def resetfunklet(self): if self.enable_multi.state(): # change all selected for parmkey in self._parmlist: # if not self._parmdict[parmkey]['publish']: if self.parmtable.isRowSelected(self._parmdict[parmkey]["row"]): # set to 0 funklet = self._parmdict[parmkey]["funklet"] coeff = array([[0.0]]) if funklet: coeff = funklet.coeff if is_scalar(coeff): coeff = array([[0.0]]) else: if is_scalar(coeff[0]): for i in range(len(coeff)): coeff[i] = 0.0 else: for i in range(len(coeff)): for j in range(len(coeff[0])): coeff[i][j] = 0.0 funklet.coeff = coeff self._parmdict[parmkey]["funklet"] = funklet # print "setting funklet ",funklet; meqds.set_node_state(parmkey, funklet=funklet) self.reexecute() else: if not self._currentparm: return self._currentparm.resettozero()
def update_default_selected(self, funklet): newfunkclass = "MeqPolc" if hasattr(funklet, "class"): newfunkclass = getattr(funklet, "class") for parmkey in self._parmlist: if self.parmtable.isRowSelected(self._parmdict[parmkey]["row"]): funkletclass = self._parmdict[parmkey]["defaultclass"] if not newfunkclass == funkletclass: # cannot change class continue # print "setting def_funklet ",funklet; meqds.set_node_state(parmkey, default_funklet=funklet)
def update_selected(self, funklet): newfunkclass = 'MeqPolc' if hasattr(funklet, 'class'): newfunkclass = getattr(funklet, 'class') for parmkey in self._parmlist: if self.parmtable.isRowSelected(self._parmdict[parmkey]['row']): funkletclass = self._parmdict[parmkey]['class'] if not newfunkclass == funkletclass: # cannot change class continue self._parmdict[parmkey]['funklet'] = funklet # print "setting funklet ",funklet; meqds.set_node_state(parmkey, funklet=funklet)
def updateC00(self): ok = True change = self.c00Text.text().toDouble()[0] self.changeC00(change) if self.enable_multi.state(): #change all selected for parmkey in self._parmlist: # if not self._parmdict[parmkey]['publish']: if self.parmtable.isRowSelected( self._parmdict[parmkey]['row']): #set c00 funklet = self._parmdict[parmkey]['funklet'] coeff = array([[0.]]) if funklet: coeff = funklet.coeff if is_scalar(coeff): coeff = array([[self.c00]]) # coeff=[[coeff]]; else: if is_scalar(coeff[0]): # ncoeff=[]; # for i in range(len(coeff)): # ncoeff.append([coeff[i]]); # coeff=ncoeff; coeff[0] = self.c00 else: if is_scalar(coeff[0][0]): coeff[0][0] = self.c00 funklet.coeff = coeff self._parmdict[parmkey]['funklet'] = funklet meqds.set_node_state(parmkey, funklet=funklet) self.reexecute() else: if not self._currentparm: return self._currentparm.setc00(self.c00)
def updateC00(self): ok = True change = self.c00Text.text().toDouble()[0] self.changeC00(change) if self.enable_multi.state(): # change all selected for parmkey in self._parmlist: # if not self._parmdict[parmkey]['publish']: if self.parmtable.isRowSelected(self._parmdict[parmkey]["row"]): # set c00 funklet = self._parmdict[parmkey]["funklet"] coeff = array([[0.0]]) if funklet: coeff = funklet.coeff if is_scalar(coeff): coeff = array([[self.c00]]) # coeff=[[coeff]]; else: if is_scalar(coeff[0]): # ncoeff=[]; # for i in range(len(coeff)): # ncoeff.append([coeff[i]]); # coeff=ncoeff; coeff[0] = self.c00 else: if is_scalar(coeff[0][0]): coeff[0][0] = self.c00 funklet.coeff = coeff self._parmdict[parmkey]["funklet"] = funklet meqds.set_node_state(parmkey, funklet=funklet) self.reexecute() else: if not self._currentparm: return self._currentparm.setc00(self.c00)
def leftMouse(self, row, col): #check if solvable paramters are updated if row < 0 or row > len(self._parmlist) or col > len( list(self._solverdict.keys())) + solverstart: #nothing return if col < solverstart: if not row == self._parmindex: self.parmSetIndex() #nothing return checkbutton = self.parmtable.item(row, col) if not checkbutton: return parmkey = str(self.parmtable.text(row, 0)) parm = self._parmdict[parmkey]['node'] solver = str(self.parmtable.horizontalHeader().label(col)) solvers = self._parmdict[parmkey]['solvers'] if checkbutton.isChecked(): checkbutton.setChecked(False) else: checkbutton.setChecked(True) updateneeded = False if solver in solvers: if solvers[solver] and not checkbutton.isChecked(): solvers[solver] = 0 self._parmdict[parmkey]['solvers'] = solvers updateneeded = True if not solvers[solver] and checkbutton.isChecked(): solvers[solver] = 1 self._parmdict[parmkey]['solvers'] = solvers updateneeded = True if updateneeded: nodegroups = [] for solver in list(self._solverdict.keys()): group = self._solverdict[solver]['group'] if solver in solvers: if solvers[solver]: nodegroups.append(group) dmigroups = make_hiid_list(nodegroups) if nodegroups: meqds.set_node_state(parm, node_groups=dmigroups) else: meqds.set_node_state(parm, node_groups=hiid(0)) meqds.set_node_state(parm, solvable=False)
def leftMouse(self, row, col): # check if solvable paramters are updated if row < 0 or row > len(self._parmlist) or col > len(self._solverdict.keys()) + solverstart: # nothing return if col < solverstart: if not row == self._parmindex: self.parmSetIndex() # nothing return checkbutton = self.parmtable.item(row, col) if not checkbutton: return parmkey = str(self.parmtable.text(row, 0)) parm = self._parmdict[parmkey]["node"] solver = str(self.parmtable.horizontalHeader().label(col)) solvers = self._parmdict[parmkey]["solvers"] if checkbutton.isChecked(): checkbutton.setChecked(False) else: checkbutton.setChecked(True) updateneeded = False if solvers.has_key(solver): if solvers[solver] and not checkbutton.isChecked(): solvers[solver] = 0 self._parmdict[parmkey]["solvers"] = solvers updateneeded = True if not solvers[solver] and checkbutton.isChecked(): solvers[solver] = 1 self._parmdict[parmkey]["solvers"] = solvers updateneeded = True if updateneeded: nodegroups = [] for solver in self._solverdict.keys(): group = self._solverdict[solver]["group"] if solvers.has_key(solver): if solvers[solver]: nodegroups.append(group) dmigroups = make_hiid_list(nodegroups) if nodegroups: meqds.set_node_state(parm, node_groups=dmigroups) else: meqds.set_node_state(parm, node_groups=hiid(0)) meqds.set_node_state(parm, solvable=False)