Changeset 72f4834 in sasview for src/sas/qtgui/Perspectives/Fitting


Ignore:
Timestamp:
Jun 16, 2017 4:22:23 AM (8 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:
85487ebd
Parents:
b0c5e8c
Message:

Code review changes SASVIEW-597

Location:
src/sas/qtgui/Perspectives/Fitting
Files:
4 edited

Legend:

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

    rb0c5e8c r72f4834  
    1919# Set the default optimizer 
    2020fitters.FIT_DEFAULT_ID = 'lm' 
     21 
    2122 
    2223class FittingOptions(QtGui.QDialog, Ui_FittingOptions): 
     
    6667        self.assignValidators() 
    6768 
     69        # Set defaults 
    6870        self.current_fitter_id = fitters.FIT_DEFAULT_ID 
     71 
     72        # OK has to be initialized to True, after initial validator setup 
     73        self.buttonBox.button(QtGui.QDialogButtonBox.Ok).setEnabled(True) 
    6974 
    7075        # Display HTML content 
     
    8085            if type(f_type) == types.FunctionType: 
    8186                validator = QtGui.QIntValidator() 
     87                validator.setBottom(0) 
    8288            elif f_type == types.FloatType: 
    8389                validator = QtGui.QDoubleValidator() 
     90                validator.setBottom(0) 
    8491            else: 
    8592                continue 
     
    8895                if hasattr(line_edit, 'setValidator') and validator is not None: 
    8996                    line_edit.setValidator(validator) 
     97                    line_edit.textChanged.connect(self.check_state) 
     98                    line_edit.textChanged.emit(line_edit.text()) 
     99 
     100    def check_state(self, *args, **kwargs): 
     101        sender = self.sender() 
     102        validator = sender.validator() 
     103        state = validator.validate(sender.text(), 0)[0] 
     104        if state == QtGui.QValidator.Acceptable: 
     105            color = '' # default 
     106            self.buttonBox.button(QtGui.QDialogButtonBox.Ok).setEnabled(True) 
     107        else: 
     108            color = '#fff79a' # yellow 
     109            self.buttonBox.button(QtGui.QDialogButtonBox.Ok).setEnabled(False) 
     110 
     111        sender.setStyleSheet('QLineEdit { background-color: %s }' % color) 
    90112 
    91113    def onAlgorithmChange(self, index): 
  • src/sas/qtgui/Perspectives/Fitting/FittingWidget.py

    rb0c5e8c r72f4834  
    13631363        """ 
    13641364        datafile = QtGui.QFileDialog.getOpenFileName( 
    1365             self, "Choose a weight file", "", "All files (*.*)") 
    1366         if not datafile: 
     1365            self, "Choose a weight file", "", "All files (*.*)", 
     1366            None, QtGui.QFileDialog.DontUseNativeDialog) 
     1367 
     1368        if datafile is None: 
    13671369            logging.info("No weight data chosen.") 
    13681370            raise IOError 
     1371 
    13691372        values = [] 
    13701373        weights = [] 
  • src/sas/qtgui/Perspectives/Fitting/UI/FittingOptionsUI.ui

    rb0c5e8c r72f4834  
    116116               <item> 
    117117                <property name="text"> 
    118                  <string>radom</string> 
     118                 <string>random</string> 
    119119                </property> 
    120120               </item> 
  • src/sas/qtgui/Perspectives/Fitting/UnitTesting/FittingOptionsTest.py

    rb0c5e8c r72f4834  
    6161        self.assertIsInstance(self.widget.ftol_de.validator(), QtGui.QDoubleValidator) 
    6262        self.assertIsInstance(self.widget.xtol_de.validator(), QtGui.QDoubleValidator) 
     63 
     64        # bottom value for floats and ints 
     65        self.assertEqual(self.widget.steps_de.validator().bottom(), 0) 
     66        self.assertEqual(self.widget.CR_de.validator().bottom(), 0) 
     67 
     68        # Behaviour on empty cell 
     69        self.widget.onAlgorithmChange(3) 
     70        self.widget.steps_de.setText("") 
     71        # This should disable the OK button 
     72        self.assertFalse(self.widget.buttonBox.button(QtGui.QDialogButtonBox.Ok).isEnabled()) 
     73        # Let's put some valid value in lineedit 
     74        self.widget.steps_de.setText("1") 
     75        # This should enable the OK button 
     76        self.assertTrue(self.widget.buttonBox.button(QtGui.QDialogButtonBox.Ok).isEnabled()) 
    6377 
    6478    def testOnAlgorithmChange(self): 
Note: See TracChangeset for help on using the changeset viewer.