Ignore:
Timestamp:
Mar 23, 2017 7:53:10 AM (7 years ago)
Author:
Piotr Rozyczko <rozyczko@…>
Branches:
ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc
Children:
9934e48
Parents:
29eb947
Message:

FittingWidget? code review SASVIEW-561

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/sas/qtgui/Perspectives/Fitting/FittingWidget.py

    r29eb947 rb1e36a3  
    7979        self.communicate = self.parent.communicate 
    8080 
     81        # Define bold font for use in various controls 
     82        self.boldFont=QtGui.QFont() 
     83        self.boldFont.setBold(True) 
     84 
     85        # Set data label 
     86        self.label.setFont(self.boldFont) 
     87        self.label.setText("No data loaded") 
     88        self.lblFilename.setText("") 
     89 
    8190        # Set the main models 
    8291        # We can't use a single model here, due to restrictions on flattening 
     
    116125        self.cbCategory.setCurrentIndex(0) 
    117126 
    118         self._index = data 
     127        self._index = None 
    119128        if data is not None: 
    120129            self.data = data 
     
    136145        # _index contains the QIndex with data 
    137146        self._index = value 
     147 
    138148        # Update logics with data items 
    139149        self.logic.data = GuiUtils.dataFromItem(value[0]) 
     
    141151        self.data_is_loaded = True 
    142152        # Tag along functionality 
     153        self.label.setText("Data loaded from: ") 
     154        self.lblFilename.setText(self.logic.data.title) 
    143155        self.updateQRange() 
    144156        self.cmdFit.setEnabled(True) 
     
    151163        """ Disable the combobox """ 
    152164        self.cbModel.setEnabled(False) 
    153         self.label_3.setEnabled(False) 
     165        self.lblModel.setEnabled(False) 
    154166 
    155167    def enableModelCombo(self): 
    156168        """ Enable the combobox """ 
    157169        self.cbModel.setEnabled(True) 
    158         self.label_3.setEnabled(True) 
     170        self.lblModel.setEnabled(True) 
    159171 
    160172    def disableStructureCombo(self): 
    161173        """ Disable the combobox """ 
    162174        self.cbStructureFactor.setEnabled(False) 
    163         self.label_4.setEnabled(False) 
     175        self.lblStructure.setEnabled(False) 
    164176 
    165177    def enableStructureCombo(self): 
    166178        """ Enable the combobox """ 
    167179        self.cbStructureFactor.setEnabled(True) 
    168         self.label_4.setEnabled(True) 
     180        self.lblStructure.setEnabled(True) 
    169181 
    170182    def updateQRange(self): 
     
    271283        models = [] 
    272284        # Populate the models combobox 
    273         self.cbModel.addItems(sorted([model for (model,_) in model_list])) 
     285        self.cbModel.addItems(sorted([model for (model, _) in model_list])) 
    274286 
    275287    def createDefaultDataset(self): 
     
    303315            self.createDefaultDataset() 
    304316        else: 
    305             self.calculateDataForModel() 
     317            self.calculateQGridForModel() 
    306318 
    307319    def onSelectStructureFactor(self): 
     
    427439            value = item.checkState() 
    428440        else: 
    429             value = float(item.text()) 
     441            try: 
     442                value = float(item.text()) 
     443            except ValueError: 
     444                # Can't be converted properly, bring back the old value and exit 
     445                return 
     446 
    430447        parameter_name = str(self._poly_model.data(name_index).toPyObject()) # "distribution of sld" etc. 
    431448        if "Distribution of" in parameter_name: 
     
    506523        if self.data is None or not self.data.is_data: 
    507524            self.createDefaultDataset() 
    508         self.calculateDataForModel() 
     525        self.calculateQGridForModel() 
    509526 
    510527    def onNpts(self, text): 
     
    515532        try: 
    516533            self.npts = int(text) 
    517         except: 
     534        except ValueError: 
     535            # TODO 
     536            # This will return the old value to model/view and return 
     537            # notifying the user about format available. 
    518538            pass 
    519539 
     
    525545        try: 
    526546            self.q_range_min = float(text) 
    527         except: 
    528             pass 
     547        except ValueError: 
     548            # TODO 
     549            # This will return the old value to model/view and return 
     550            # notifying the user about format available. 
     551            return 
    529552        # set Q range labels on the main tab 
    530553        self.lblMinRangeDef.setText(str(self.q_range_min)) 
     
    550573        return self.complete1D if isinstance(self.data, Data1D) else self.complete2D 
    551574 
    552     def calculateDataForModel(self): 
     575    def calculateQGridForModel(self): 
    553576        """ 
    554577        Prepare the fitting data object, based on current ModelModel 
     
    603626    def calcException(self, etype, value, tb): 
    604627        """ 
    605         Something horrible happened in the deferred. Cry me a river. 
     628        Something horrible happened in the deferred. 
    606629        """ 
    607630        logging.error("".join(traceback.format_exception(etype, value, tb))) 
    608         msg = traceback.format_exception(etype, value, tb, limit=1) 
    609631 
    610632    def setTableProperties(self, table): 
     
    624646 
    625647        header.ResizeMode(QtGui.QHeaderView.Interactive) 
     648        # Resize column 0 and 6 to content 
    626649        header.setResizeMode(0, QtGui.QHeaderView.ResizeToContents) 
    627650        header.setResizeMode(6, QtGui.QHeaderView.ResizeToContents) 
     
    694717 
    695718        func = QtGui.QComboBox() 
    696         func.addItems([str(i+1) for i in xrange(param_length)]) 
     719        # Available range of shells displayed in the combobox 
     720        func.addItems([str(i) for i in xrange(param_length+1)]) 
     721        # Respond to index change 
    697722        func.currentIndexChanged.connect(self.modifyShellsInList) 
    698723 
Note: See TracChangeset for help on using the changeset viewer.