Changes in / [f0365a2e:01b4877] in sasview


Ignore:
Location:
src/sas/qtgui/Perspectives/Fitting
Files:
2 edited

Legend:

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

    r70f4458 r70f4458  
    167167    return rows 
    168168 
    169 def addSimpleParametersToModel(parameters, is2D, parameters_original=None, model=None, view=None): 
     169def addSimpleParametersToModel(parameters, is2D, parameters_original=None, model=None, view=None, row_num=None): 
    170170    """ 
    171171    Update local ModelModel with sasmodel parameters (non-dispersed, non-magnetic) 
     
    216216        # Append to the model and use the combobox, if required 
    217217        if None not in (model, view): 
    218             model.appendRow(row) 
     218            if row_num is None: 
     219                model.appendRow(row) 
     220            else: 
     221                model.insertRow(row_num, row) 
     222                row_num += 1 
     223 
    219224            if cbox: 
    220225                view.setIndexWidget(item2.index(), cbox) 
     226 
    221227        rows.append(row) 
    222228 
  • src/sas/qtgui/Perspectives/Fitting/FittingWidget.py

    r5fb714b r5fb714b  
    20912091            return 
    20922092 
     2093        product_params = None 
     2094 
    20932095        if self.kernel_module is None: 
    20942096            # Structure factor is the only selected model; build it and show all its params 
     
    20962098            s_params = self.kernel_module._model_info.parameters 
    20972099            s_params_orig = s_params 
    2098  
    20992100        else: 
    21002101            s_kernel = self.models[structure_factor]() 
     
    21132114            if "radius_effective_mode" in all_param_names: 
    21142115                # Show all parameters 
     2116                # In this case, radius_effective is NOT pruned by sasmodels.product 
    21152117                s_params = modelinfo.ParameterTable(all_params[p_pars_len:p_pars_len+s_pars_len]) 
    21162118                s_params_orig = modelinfo.ParameterTable(s_kernel._model_info.parameters.kernel_parameters) 
     2119                product_params = modelinfo.ParameterTable( 
     2120                        self.kernel_module._model_info.parameters.kernel_parameters[p_pars_len+s_pars_len:]) 
    21172121            else: 
    21182122                # Ensure radius_effective is not displayed 
    21192123                s_params_orig = modelinfo.ParameterTable(s_kernel._model_info.parameters.kernel_parameters[1:]) 
    21202124                if "radius_effective" in all_param_names: 
     2125                    # In this case, radius_effective is NOT pruned by sasmodels.product 
    21212126                    s_params = modelinfo.ParameterTable(all_params[p_pars_len+1:p_pars_len+s_pars_len]) 
     2127                    product_params = modelinfo.ParameterTable( 
     2128                            self.kernel_module._model_info.parameters.kernel_parameters[p_pars_len+s_pars_len:]) 
    21222129                else: 
     2130                    # In this case, radius_effective is pruned by sasmodels.product 
    21232131                    s_params = modelinfo.ParameterTable(all_params[p_pars_len:p_pars_len+s_pars_len-1]) 
     2132                    product_params = modelinfo.ParameterTable( 
     2133                            self.kernel_module._model_info.parameters.kernel_parameters[p_pars_len+s_pars_len-1:]) 
    21242134 
    21252135        # Add heading row 
     
    21292139        # Any renamed parameters are stored as data in the relevant item, for later handling 
    21302140        FittingUtilities.addSimpleParametersToModel( 
    2131                 s_params, 
    2132                 self.is2D, 
    2133                 s_params_orig, 
    2134                 self._model_model, 
    2135                 self.lstParams) 
     2141                parameters=s_params, 
     2142                is2D=self.is2D, 
     2143                parameters_original=s_params_orig, 
     2144                model=self._model_model, 
     2145                view=self.lstParams) 
     2146 
     2147        # Insert product-only params into QModel 
     2148        if product_params: 
     2149            prod_rows = FittingUtilities.addSimpleParametersToModel( 
     2150                    parameters=product_params, 
     2151                    is2D=self.is2D, 
     2152                    parameters_original=None, 
     2153                    model=self._model_model, 
     2154                    view=self.lstParams, 
     2155                    row_num=2) 
     2156 
     2157            # Since this all happens after shells are dealt with and we've inserted rows, fix this counter 
     2158            self._n_shells_row += len(prod_rows) 
    21362159 
    21372160    def haveParamsToFit(self): 
Note: See TracChangeset for help on using the changeset viewer.