Changeset ea578f6 in sasview


Ignore:
Timestamp:
Aug 8, 2018 9:42:58 AM (2 weeks ago)
Author:
tcbennun
Branches:
ESS_GUI_beta_approx
Children:
bb9610a
Parents:
41e3f36
Message:

use beta approx (requires beta_approx branch of sasmodels!)

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

Legend:

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

    r41e3f36 rea578f6  
    477477        self.updateQRange() 
    478478        # Structure factor options 
    479         self.cbProductMethod.setEnabled(False) 
     479        self.cbCalculationMode.setEnabled(False) 
    480480 
    481481    def initializeSignals(self): 
     
    488488        self.cbModel.currentIndexChanged.connect(self.onSelectModel) 
    489489        self.cbFileNames.currentIndexChanged.connect(self.onSelectBatchFilename) 
     490        self.cbCalculationMode.currentIndexChanged.connect(self.onSelectCalculationMode) 
    490491        # Checkboxes 
    491492        self.chk2DView.toggled.connect(self.toggle2D) 
     
    10031004        self.respondToModelStructure(model=model, structure_factor=structure) 
    10041005 
     1006    def onSelectCalculationMode(self): 
     1007        """New product calculation mode was selected; recalculate.""" 
     1008        idx = self.cbCalculationMode.currentIndex() 
     1009        self.kernel_module.setParam("beta_mode", idx) 
     1010        self.recalculatePlotData() 
     1011 
    10051012    def onCustomModelChange(self): 
    10061013        """ 
     
    10831090        # calc method control 
    10841091        if structure_factor in [None, "", "None"]: 
    1085             self.cbProductMethod.setEnabled(False) 
     1092            self.cbCalculationMode.setEnabled(False) 
    10861093 
    10871094        # kernel parameters -> model_model 
     
    20392046        self._last_model_row = self._model_model.rowCount() 
    20402047 
    2041         # add to calc dropdown 
    2042         # TODO: THIS IS A TEMP MOCKUP (see below) 
    2043         self.cbProductMethod.clear() 
    2044         self.cbProductMethod.addItems(["default", "beta approx"]) 
    2045         self.cbProductMethod.setEnabled(True) 
    2046  
    2047         # TODO: commented-out code below uses unimplemented changes to 
    2048         # TODO: product.py 
    2049         #pname = product.PRODUCT_CALC_METHOD_PARAM 
    2050         #params = self.kernel_module._model_info.parameters 
    2051         #if pname in params: 
    2052         #    param = params[pname] 
    2053         #    choices = [product.PRODUCT_CALC_STRS[c] for c in param.choices] 
    2054         #    self.cbProductMethod.clear() 
    2055         #    self.cbProductMethod.addItems(choices) 
    2056         #    self.cbProductMethod.setEnabled(True) 
    2057         #else: 
    2058         #    logger.info("Could not find param '{}' in product modelinfo params".format( 
    2059         #        pname 
    2060         #    )) 
    2061         #    self.cbProductMethod.setEnabled(False) 
     2048        # beta approx parameter 
     2049        beta_mode = None 
     2050        try: 
     2051            beta_mode = self.kernel_module._model_info.parameters["beta_mode"] 
     2052        except KeyError: 
     2053            pass 
     2054 
     2055        # Beta approx mode 
     2056 
     2057        self.cbCalculationMode.blockSignals(True) 
     2058 
     2059        if beta_mode: 
     2060            # see sasmodels: product.BETA_DEFINITION 
     2061            # The first option is assumed to represent beta_mode=0, the and the second beta_mode=1, 
     2062            # i.e. the current index of cbCalculationMode will be the parameter value. 
     2063            cb_options = [str(x[0]) for x in beta_mode.limits] 
     2064            self.cbCalculationMode.clear() 
     2065            self.cbCalculationMode.addItems(cb_options) 
     2066            self.cbCalculationMode.setEnabled(True) 
     2067        else: 
     2068            # make it clear that there is no beta option 
     2069            self.cbCalculationMode.clear() 
     2070            self.cbCalculationMode.addItem("P*S") 
     2071            self.cbCalculationMode.setCurrentIndex(0) 
     2072            self.cbCalculationMode.setEnabled(False) 
     2073 
     2074        self.cbCalculationMode.blockSignals(False) 
    20622075 
    20632076    def onMainParamsChange(self, item): 
     
    27582771        # TODO: add polidyspersity and magnetism 
    27592772 
    2760  
    27612773    def updateUndo(self): 
    27622774        """ 
  • src/sas/qtgui/Perspectives/Fitting/UI/FittingWidgetUI.ui

    r1f95cbe rea578f6  
    77    <x>0</x> 
    88    <y>0</y> 
    9     <width>552</width> 
    10     <height>609</height> 
     9    <width>521</width> 
     10    <height>603</height> 
    1111   </rect> 
    1212  </property> 
     
    1919  <property name="minimumSize"> 
    2020   <size> 
    21     <width>481</width> 
     21    <width>521</width> 
    2222    <height>466</height> 
    2323   </size> 
     
    349349           <widget class="QLabel" name="label_3"> 
    350350            <property name="text"> 
    351              <string>Calc. method</string> 
    352             </property> 
    353            </widget> 
    354           </item> 
    355           <item> 
    356            <widget class="QComboBox" name="cbProductMethod"> 
     351             <string>Calculation mode</string> 
     352            </property> 
     353           </widget> 
     354          </item> 
     355          <item> 
     356           <widget class="QComboBox" name="cbCalculationMode"> 
    357357            <property name="enabled"> 
    358358             <bool>false</bool> 
     
    360360            <property name="minimumSize"> 
    361361             <size> 
    362               <width>83</width> 
     362              <width>110</width> 
    363363              <height>0</height> 
    364364             </size> 
Note: See TracChangeset for help on using the changeset viewer.