Changes in / [3090270:c8536d6c] 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

    r3090270 r3090270  
    21022102            return 
    21032103 
     2104        product_params = None 
     2105 
    21042106        if self.kernel_module is None: 
    21052107            # Structure factor is the only selected model; build it and show all its params 
     
    21072109            s_params = self.kernel_module._model_info.parameters 
    21082110            s_params_orig = s_params 
    2109  
    21102111        else: 
    21112112            s_kernel = self.models[structure_factor]() 
     
    21242125            if "radius_effective_mode" in all_param_names: 
    21252126                # Show all parameters 
     2127                # In this case, radius_effective is NOT pruned by sasmodels.product 
    21262128                s_params = modelinfo.ParameterTable(all_params[p_pars_len:p_pars_len+s_pars_len]) 
    21272129                s_params_orig = modelinfo.ParameterTable(s_kernel._model_info.parameters.kernel_parameters) 
     2130                product_params = modelinfo.ParameterTable( 
     2131                        self.kernel_module._model_info.parameters.kernel_parameters[p_pars_len+s_pars_len:]) 
    21282132            else: 
    21292133                # Ensure radius_effective is not displayed 
    21302134                s_params_orig = modelinfo.ParameterTable(s_kernel._model_info.parameters.kernel_parameters[1:]) 
    21312135                if "radius_effective" in all_param_names: 
     2136                    # In this case, radius_effective is NOT pruned by sasmodels.product 
    21322137                    s_params = modelinfo.ParameterTable(all_params[p_pars_len+1:p_pars_len+s_pars_len]) 
     2138                    product_params = modelinfo.ParameterTable( 
     2139                            self.kernel_module._model_info.parameters.kernel_parameters[p_pars_len+s_pars_len:]) 
    21332140                else: 
     2141                    # In this case, radius_effective is pruned by sasmodels.product 
    21342142                    s_params = modelinfo.ParameterTable(all_params[p_pars_len:p_pars_len+s_pars_len-1]) 
     2143                    product_params = modelinfo.ParameterTable( 
     2144                            self.kernel_module._model_info.parameters.kernel_parameters[p_pars_len+s_pars_len-1:]) 
    21352145 
    21362146        # Add heading row 
     
    21402150        # Any renamed parameters are stored as data in the relevant item, for later handling 
    21412151        FittingUtilities.addSimpleParametersToModel( 
    2142                 s_params, 
    2143                 self.is2D, 
    2144                 s_params_orig, 
    2145                 self._model_model, 
    2146                 self.lstParams) 
     2152                parameters=s_params, 
     2153                is2D=self.is2D, 
     2154                parameters_original=s_params_orig, 
     2155                model=self._model_model, 
     2156                view=self.lstParams) 
     2157 
     2158        # Insert product-only params into QModel 
     2159        if product_params: 
     2160            prod_rows = FittingUtilities.addSimpleParametersToModel( 
     2161                    parameters=product_params, 
     2162                    is2D=self.is2D, 
     2163                    parameters_original=None, 
     2164                    model=self._model_model, 
     2165                    view=self.lstParams, 
     2166                    row_num=2) 
     2167 
     2168            # Since this all happens after shells are dealt with and we've inserted rows, fix this counter 
     2169            self._n_shells_row += len(prod_rows) 
    21472170 
    21482171    def haveParamsToFit(self): 
Note: See TracChangeset for help on using the changeset viewer.