Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/sas/qtgui/Utilities/GridPanel.py

    r4fbf0db raed0532  
    5454        # Fill in the table from input data 
    5555        self.setupTable(widget=self.tblParams, data=output_data) 
    56         #TODO: This is not what was inteded to be. 
    5756        if output_data is not None: 
    5857            # Set a table tooltip describing the model 
    59             model_name = list(output_data.keys())[0] 
     58            model_name = output_data[0][0].model.id 
    6059            self.tabWidget.setTabToolTip(0, model_name) 
    6160 
     
    411410            index += 1 
    412411 
    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.