Changes in src/sas/qtgui/Utilities/GridPanel.py [aed0532:4fbf0db] in sasview
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/qtgui/Utilities/GridPanel.py
raed0532 r4fbf0db 54 54 # Fill in the table from input data 55 55 self.setupTable(widget=self.tblParams, data=output_data) 56 #TODO: This is not what was inteded to be. 56 57 if output_data is not None: 57 58 # Set a table tooltip describing the model 58 model_name = output_data[0][0].model.id59 model_name = list(output_data.keys())[0] 59 60 self.tabWidget.setTabToolTip(0, model_name) 60 61 … … 410 411 index += 1 411 412 413 414 class BatchInversionOutputPanel(BatchOutputPanel): 415 """ 416 Class for stateless grid-like printout of P(r) parameters for any number 417 of data sets 418 """ 419 def __init__(self, parent = None, output_data=None): 420 421 super(BatchInversionOutputPanel, self).__init__(parent._parent, output_data) 422 _translate = QtCore.QCoreApplication.translate 423 self.setWindowTitle(_translate("GridPanelUI", "Batch P(r) Results")) 424 425 def setupTable(self, widget=None, data=None): 426 """ 427 Create tablewidget items and show them, based on params 428 """ 429 # headers 430 param_list = ['Filename', 'Rg [Ã 431 ]', 'Chi^2/dof', 'I(Q=0)', 'Oscillations', 432 'Background [Ã 433 ^-1]', 'P+ Fraction', 'P+1-theta Fraction', 434 'Calc. Time [sec]'] 435 436 if data is None: 437 return 438 keys = data.keys() 439 rows = len(keys) 440 columns = len(param_list) 441 self.tblParams.setColumnCount(columns) 442 self.tblParams.setRowCount(rows) 443 444 for i, param in enumerate(param_list): 445 self.tblParams.setHorizontalHeaderItem(i, QtWidgets.QTableWidgetItem(param)) 446 447 # first - Chi2 and data filename 448 for i_row, (filename, pr) in enumerate(data.items()): 449 out = pr.out 450 cov = pr.cov 451 if out is None: 452 logging.warning("P(r) for {} did not converge.".format(filename)) 453 continue 454 self.tblParams.setItem(i_row, 0, QtWidgets.QTableWidgetItem( 455 "{}".format(filename))) 456 self.tblParams.setItem(i_row, 1, QtWidgets.QTableWidgetItem( 457 "{:.3g}".format(pr.rg(out)))) 458 self.tblParams.setItem(i_row, 2, QtWidgets.QTableWidgetItem( 459 "{:.3g}".format(pr.chi2[0]))) 460 self.tblParams.setItem(i_row, 3, QtWidgets.QTableWidgetItem( 461 "{:.3g}".format(pr.iq0(out)))) 462 self.tblParams.setItem(i_row, 4, QtWidgets.QTableWidgetItem( 463 "{:.3g}".format(pr.oscillations(out)))) 464 self.tblParams.setItem(i_row, 5, QtWidgets.QTableWidgetItem( 465 "{:.3g}".format(pr.background))) 466 self.tblParams.setItem(i_row, 6, QtWidgets.QTableWidgetItem( 467 "{:.3g}".format(pr.get_positive(out)))) 468 self.tblParams.setItem(i_row, 7, QtWidgets.QTableWidgetItem( 469 "{:.3g}".format(pr.get_pos_err(out, cov)))) 470 self.tblParams.setItem(i_row, 8, QtWidgets.QTableWidgetItem( 471 "{:.2g}".format(pr.elapsed))) 472 473 self.tblParams.resizeColumnsToContents() 474 475 @classmethod 476 def onHelp(cls): 477 """ 478 Open a local url in the default browser 479 """ 480 location = GuiUtils.HELP_DIRECTORY_LOCATION 481 url = "/user/sasgui/perspectives/pr/pr_help.html#batch-pr-mode" 482 try: 483 webbrowser.open('file://' + os.path.realpath(location + url)) 484 except webbrowser.Error as ex: 485 logging.warning("Cannot display help. %s" % ex) 486 487 def closeEvent(self, event): 488 """Tell the parent window the window closed""" 489 self.parent.batchResultsWindow = None 490 event.accept()
Note: See TracChangeset
for help on using the changeset viewer.