def sort(self, column, order):
if "spectral_models" not in self.session.metadata:
return None
self.emit(QtCore.SIGNAL("layoutAboutToBeChanged()"))
sorters = {
0: lambda sm: sm.transitions["wavelength"].mean(),
1: lambda sm: sm._repr_element,
2: lambda sm: isinstance(sm, SpectralSynthesisModel),
3: lambda sm: sm.use_for_stellar_parameter_inference,
4: lambda sm: sm.use_for_stellar_composition_inference
}
self.session.metadata["spectral_models"].sort(key=sorters[column])
if order == QtCore.Qt.DescendingOrder:
self.session.metadata["spectral_models"].reverse()
self.session._spectral_model_conflicts = spectral_model_conflicts(
self.session.metadata["spectral_models"],
self.session.metadata["line_list"])
self.dataChanged.emit(self.createIndex(0, 0),
self.createIndex(self.rowCount(0), self.columnCount(0)))
self.emit(QtCore.SIGNAL("layoutChanged()"))
评论列表
文章目录