def setDataParameter(self, index, value, role=Qt.EditRole): if not index.isValid() or not (0 <= index.row() < PARAMETER_ROW_COUNT): return False parameter = self.entity.Item if parameter is None: return False row = index.row() column = index.column() if role == Qt.EditRole: if column == COLUMN.PROPERTY: return False # should not happen; this column should not be editable elif column == COLUMN.VALUE: if row == PARAMETER_ROW.ID: parameter.setId(str(value)) elif row == PARAMETER_ROW.NAME: parameter.setName(str(value)) elif row == PARAMETER_ROW.VALUE: parameter.setValue(float(value)) elif row == PARAMETER_ROW.UNITS: parameter.setUnits(str(value)) elif row == PARAMETER_ROW.CONSTANT: parameter.setConstant(typehelpers.stringToBool(value)) self.dataChanged.emit(index, index) return True return False
def setDataSpecies(self, index, value, role=Qt.EditRole): if not index.isValid() or not (0 <= index.row() < SPECIES_ROW_COUNT): return False species = self.entity.Item if species is None: return False row = index.row() column = index.column() if role == Qt.EditRole: if column == COLUMN.PROPERTY: return False elif column == COLUMN.VALUE: if row == SPECIES_ROW.ID: self.entity.setId(str(value)) elif row == SPECIES_ROW.NAME: species.setName(str(value)) elif row == SPECIES_ROW.COMPARTMENT: species.setCompartment(str(value)) elif row == SPECIES_ROW.INITIALQUANTITY: self.setSpeciesInitialQuantity(species, value) elif row == SPECIES_ROW.SUBSTANCEUNITS: species.setSubstanceUnits(str(value)) elif row == SPECIES_ROW.QUANTITYTYPE: self.setQuantityType(species, value) elif row == SPECIES_ROW.CONSTANT: species.setConstant(typehelpers.stringToBool(value)) self.dataChanged.emit(index, index) return True return False