Ignore:
Timestamp:
Oct 29, 2018 9:54:42 AM (6 years ago)
Author:
piotr
Branches:
ESS_GUI, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc
Children:
6216eb75
Parents:
ec4a143
Message:

Minor fixes to the combobox enablement and multiplicity choice. SASVIEW-1153

File:
1 edited

Legend:

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

    rec4a143 r7fb68060  
    293293        self.has_magnet_error_column = False 
    294294 
     295        # Enablement of comboboxes 
     296        self.enabled_cbmodel = False 
     297        self.enabled_sfmodel = False 
     298 
    295299        # If the widget generated theory item, save it 
    296300        self.theory_item = None 
     
    459463        self.cbModel.setEnabled(False) 
    460464        self.lblModel.setEnabled(False) 
     465        self.enabled_cbmodel = False 
    461466 
    462467    def enableModelCombo(self): 
     
    464469        self.cbModel.setEnabled(True) 
    465470        self.lblModel.setEnabled(True) 
     471        self.enabled_cbmodel = True 
    466472 
    467473    def disableStructureCombo(self): 
     
    469475        self.cbStructureFactor.setEnabled(False) 
    470476        self.lblStructure.setEnabled(False) 
     477        self.enabled_sfmodel = False 
    471478 
    472479    def enableStructureCombo(self): 
     
    474481        self.cbStructureFactor.setEnabled(True) 
    475482        self.lblStructure.setEnabled(True) 
     483        self.enabled_sfmodel = True 
    476484 
    477485    def togglePoly(self, isChecked): 
     
    31003108        shell_par = None 
    31013109        for par in kernel_pars: 
    3102             if par.name == param_name: 
     3110            parname = par.name 
     3111            if '[' in parname: 
     3112                 parname = parname[:parname.index('[')] 
     3113            if parname == param_name: 
    31033114                shell_par = par 
    31043115                break 
    3105         if not shell_par: 
     3116        if shell_par is None: 
    31063117            logger.error("Could not find %s in kernel parameters.", param_name) 
     3118            return 
    31073119        default_shell_count = shell_par.default 
    31083120        shell_min = 0 
     
    31143126            # no info about limits 
    31153127            pass 
     3128        except Exception as ex: 
     3129            logging.error("Badly defined multiplicity: "+ str(ex)) 
     3130            return 
    31163131        # don't update the kernel here - this data is display only 
    31173132        self._model_model.blockSignals(True) 
     
    31203135        self._model_model.blockSignals(False) 
    31213136 
     3137        ## Respond to index change 
     3138        #func.currentTextChanged.connect(self.modifyShellsInList) 
     3139 
     3140        # Respond to button press 
     3141        button.clicked.connect(self.onShowSLDProfile) 
     3142 
     3143        # Available range of shells displayed in the combobox 
     3144        func.addItems([str(i) for i in range(shell_min, shell_max+1)]) 
     3145 
    31223146        # Respond to index change 
    31233147        func.currentTextChanged.connect(self.modifyShellsInList) 
    31243148 
    3125         # Respond to button press 
    3126         button.clicked.connect(self.onShowSLDProfile) 
    3127  
    3128         # Available range of shells displayed in the combobox 
    3129         func.addItems([str(i) for i in range(shell_min, shell_max+1)]) 
    3130  
    31313149        # Add default number of shells to the model 
    31323150        func.setCurrentText(str(default_shell_count)) 
     3151        self.modifyShellsInList(str(default_shell_count)) 
    31333152 
    31343153    def modifyShellsInList(self, text): 
     
    31783197        """ 
    31793198        # get profile data 
    3180         x, y = self.kernel_module.getProfile() 
     3199        try: 
     3200            x, y = self.kernel_module.getProfile() 
     3201        except TypeError: 
     3202            msg = "SLD profile calculation failed." 
     3203            logging.error(msg) 
     3204            return 
     3205 
    31813206        y *= 1.0e6 
    31823207        profile_data = Data1D(x=x, y=y) 
     
    32113236 
    32123237        self.cbCategory.setEnabled(enabled) 
    3213         self.cbModel.setEnabled(enabled) 
     3238 
     3239        if enabled: 
     3240            # worry about original enablement of model and SF 
     3241            self.cbModel.setEnabled(self.enabled_cbmodel) 
     3242            self.cbStructureFactor.setEnabled(self.enabled_sfmodel) 
     3243        else: 
     3244            self.cbModel.setEnabled(enabled) 
     3245            self.cbStructureFactor.setEnabled(enabled) 
     3246 
    32143247        self.cmdPlot.setEnabled(enabled) 
    32153248 
Note: See TracChangeset for help on using the changeset viewer.