Changeset 186d678 in sasview for src/sas/qtgui/Perspectives/Fitting/FittingWidget.py
- Timestamp:
- Oct 31, 2018 4:08:16 AM (5 years ago)
- 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:
- 48df831
- Parents:
- b1b71ad (diff), 04e1c80 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/qtgui/Perspectives/Fitting/FittingWidget.py
rd00475d r186d678 294 294 self.has_magnet_error_column = False 295 295 296 # Enablement of comboboxes 297 self.enabled_cbmodel = False 298 self.enabled_sfmodel = False 299 296 300 # If the widget generated theory item, save it 297 301 self.theory_item = None … … 460 464 self.cbModel.setEnabled(False) 461 465 self.lblModel.setEnabled(False) 466 self.enabled_cbmodel = False 462 467 463 468 def enableModelCombo(self): … … 465 470 self.cbModel.setEnabled(True) 466 471 self.lblModel.setEnabled(True) 472 self.enabled_cbmodel = True 467 473 468 474 def disableStructureCombo(self): … … 470 476 self.cbStructureFactor.setEnabled(False) 471 477 self.lblStructure.setEnabled(False) 478 self.enabled_sfmodel = False 472 479 473 480 def enableStructureCombo(self): … … 475 482 self.cbStructureFactor.setEnabled(True) 476 483 self.lblStructure.setEnabled(True) 484 self.enabled_sfmodel = True 477 485 478 486 def togglePoly(self, isChecked): … … 1009 1017 Checks if the current model has magnetic scattering implemented 1010 1018 """ 1011 current_model = self.cbModel.currentText() 1012 return self.is2D and current_model in self.MAGNETIC_MODELS 1019 has_params = False 1020 if self.kernel_module: 1021 has_mag_params = len(self.kernel_module.magnetic_params) > 0 1022 return self.is2D and has_mag_params 1013 1023 1014 1024 def onSelectModel(self): … … 1034 1044 if not model: 1035 1045 return 1046 1036 1047 self.chkMagnetism.setEnabled(self.canHaveMagnetism()) 1037 1048 self.chkMagnetism.setEnabled(self.canHaveMagnetism()) … … 1175 1186 self.SASModelToQModel(model, structure_factor) 1176 1187 1188 # Enable magnetism checkbox for selected models 1189 self.chkMagnetism.setEnabled(self.canHaveMagnetism()) 1190 self.tabFitting.setTabEnabled(TAB_MAGNETISM, self.chkMagnetism.isChecked() and self.canHaveMagnetism()) 1191 1192 # Update column widths 1177 1193 for column, width in self.lstParamHeaderSizes.items(): 1178 1194 self.lstParams.setColumnWidth(column, width) … … 1573 1589 if param_dict is None: 1574 1590 return 1575 if hasattr(res, 'convergence') and len(res.convergence)>0: 1576 self.communicate.resultPlotUpdateSignal.emit(result[0]) 1591 self.communicate.resultPlotUpdateSignal.emit(result[0]) 1577 1592 1578 1593 elapsed = result[1] … … 3110 3125 shell_par = None 3111 3126 for par in kernel_pars: 3112 if par.name == param_name: 3127 parname = par.name 3128 if '[' in parname: 3129 parname = parname[:parname.index('[')] 3130 if parname == param_name: 3113 3131 shell_par = par 3114 3132 break 3115 if not shell_par:3133 if shell_par is None: 3116 3134 logger.error("Could not find %s in kernel parameters.", param_name) 3135 return 3117 3136 default_shell_count = shell_par.default 3118 3137 shell_min = 0 … … 3124 3143 # no info about limits 3125 3144 pass 3145 except Exception as ex: 3146 logging.error("Badly defined multiplicity: "+ str(ex)) 3147 return 3126 3148 # don't update the kernel here - this data is display only 3127 3149 self._model_model.blockSignals(True) … … 3130 3152 self._model_model.blockSignals(False) 3131 3153 3154 ## Respond to index change 3155 #func.currentTextChanged.connect(self.modifyShellsInList) 3156 3157 # Respond to button press 3158 button.clicked.connect(self.onShowSLDProfile) 3159 3160 # Available range of shells displayed in the combobox 3161 func.addItems([str(i) for i in range(shell_min, shell_max+1)]) 3162 3132 3163 # Respond to index change 3133 3164 func.currentTextChanged.connect(self.modifyShellsInList) 3134 3165 3135 # Respond to button press3136 button.clicked.connect(self.onShowSLDProfile)3137 3138 # Available range of shells displayed in the combobox3139 func.addItems([str(i) for i in range(shell_min, shell_max+1)])3140 3141 3166 # Add default number of shells to the model 3142 3167 func.setCurrentText(str(default_shell_count)) 3168 self.modifyShellsInList(str(default_shell_count)) 3143 3169 3144 3170 def modifyShellsInList(self, text): … … 3188 3214 """ 3189 3215 # get profile data 3190 x, y = self.kernel_module.getProfile() 3216 try: 3217 x, y = self.kernel_module.getProfile() 3218 except TypeError: 3219 msg = "SLD profile calculation failed." 3220 logging.error(msg) 3221 return 3222 3191 3223 y *= 1.0e6 3192 3224 profile_data = Data1D(x=x, y=y) … … 3221 3253 3222 3254 self.cbCategory.setEnabled(enabled) 3223 self.cbModel.setEnabled(enabled) 3255 3256 if enabled: 3257 # worry about original enablement of model and SF 3258 self.cbModel.setEnabled(self.enabled_cbmodel) 3259 self.cbStructureFactor.setEnabled(self.enabled_sfmodel) 3260 else: 3261 self.cbModel.setEnabled(enabled) 3262 self.cbStructureFactor.setEnabled(enabled) 3263 3224 3264 self.cmdPlot.setEnabled(enabled) 3225 3265
Note: See TracChangeset
for help on using the changeset viewer.