def applyChanges(self, tool=None): ''' Save surrogate model setup in foqus session ''' if self.blockapply: return if tool is None: tool = self.toolSelectBox.currentText() pg = self.dat.surrogateMethods.plugins[tool].\ surrogateMethod(self.dat) inputs = [] outputs = [] dataFilter = self.dataBrowser.filterSelectBox.currentText() if dataFilter == '': dataFilter = None # inputs and input var options for i in range(self.inputTable.rowCount()): c = gh.isCellChecked(self.inputTable, i, 0) var = self.dat.flowsheet.input.get(c[1]) var.setMin( gh.getCellJSON(self.inputTable, i, self.inputCols['Min'])) var.setMax( gh.getCellJSON(self.inputTable, i, self.inputCols['Max'])) if c[0]: inputs.append(c[1]) for item in pg.inputCols: col = self.inputCols[item[0]] val = gh.getCellJSON(self.inputTable, i, col) pg.setInputVarOption(item[0], c[1], val) # outputs and output var options for i in range(self.outputTable.rowCount()): c = gh.isCellChecked(self.outputTable, i, 0) if c[0]: outputs.append(c[1]) for item in pg.outputCols: col = self.outputCols[item[0]] val = gh.getCellJSON(self.outputTable, i, col) pg.setOutputVarOption(item[0], c[1], val) pg.input = inputs pg.output = outputs pg.dataFilter = dataFilter for i in range(self.optTable[tool].rowCount()): optName = gh.getCellText(self.optTable[tool], i, 0) if pg.options[optName].dtype == bool: optValue = gh.isChecked(self.optTable[tool], i, 1) elif len(pg.options[optName].validValues) > 0: optValue = gh.cellPulldownJSON(self.optTable[tool], i, 1) else: optValue = gh.getCellJSON(self.optTable[tool], i, 1) pg.options[optName].value = optValue pg.saveInSession() self.dat.surrogateCurrent = pg.name
def applyChanges(self): """ Update the edge with the parameters shown on the form """ if self.edge == None: return if self.tearBox.isChecked(): self.edge.tear = True else: self.edge.tear = False if self.activeBox.isChecked(): self.edge.active = True else: self.edge.active = False try: self.edge.curve = float(self.curveBox.text()) except: print("Curve must be a number") self.edge.start = self.fromBox.currentText() self.edge.end = self.toBox.currentText() self.edge.con = [] for row in range(self.connectTable.rowCount()): f = gh.cellPulldownValue(self.connectTable, row, 0) t = gh.cellPulldownValue(self.connectTable, row, 1) a = gh.isCellChecked(self.connectTable, row, 2)[0] self.edge.addConnection(f, t, a) self.redrawFlowsheet.emit()