Changes in / [8e674ccf:60a4e71] in sasview


Ignore:
Location:
src/sas/qtgui
Files:
4 edited

Legend:

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

    r70f4458 rf3cc979  
    128128 
    129129            # Find param in volume_params 
    130             for p in parameters.form_volume_parameters: 
     130            poly_pars = parameters.form_volume_parameters 
     131            if is2D: 
     132                poly_pars += parameters.orientation_parameters 
     133            for p in poly_pars: 
    131134                if p.name != param.name: 
    132135                    continue 
  • src/sas/qtgui/Perspectives/Fitting/FittingWidget.py

    rc71b20a rf3cc979  
    569569            menu.exec_(self.lstParams.viewport().mapToGlobal(position)) 
    570570        except AttributeError as ex: 
    571             logging.error("Error generating context menu: %s" % ex) 
     571            logger.error("Error generating context menu: %s" % ex) 
    572572        return 
    573573 
     
    12271227        if model_column in [delegate.poly_pd, delegate.poly_error, delegate.poly_min, delegate.poly_max]: 
    12281228            row = self.getRowFromName(parameter_name) 
    1229             param_item = self._model_model.item(row) 
     1229            param_item = self._model_model.item(row).child(0).child(0, model_column) 
     1230            if param_item is None: 
     1231                return 
    12301232            self._model_model.blockSignals(True) 
    1231             param_item.child(0).child(0, model_column).setText(item.text()) 
     1233            param_item.setText(item.text()) 
    12321234            self._model_model.blockSignals(False) 
    12331235 
     
    14641466            self.communicate.statusBarUpdateSignal.emit(msg) 
    14651467            msg += results.mesg 
    1466             logging.error(msg) 
     1468            logger.error(msg) 
    14671469            return 
    14681470 
     
    15071509        if self.calc_fit._interrupting: 
    15081510            msg = "Fitting cancelled by user after: %s s." % GuiUtils.formatNumber(elapsed) 
    1509             logging.warning("\n"+msg+"\n") 
     1511            logger.warning("\n"+msg+"\n") 
    15101512        else: 
    15111513            msg = "Fitting completed successfully in: %s s." % GuiUtils.formatNumber(elapsed) 
     
    20602062                kernel_module = generate.load_kernel_module(name) 
    20612063            except ModuleNotFoundError as ex: 
    2062                 logging.error("Can't find the model "+ str(ex)) 
     2064                logger.error("Can't find the model "+ str(ex)) 
    20632065                return 
    20642066 
     
    25282530        """ 
    25292531        # TODO: remimplement thread cancellation 
    2530         logging.error("".join(traceback.format_exception(etype, value, tb))) 
     2532        logger.error("".join(traceback.format_exception(etype, value, tb))) 
    25312533 
    25322534    def setTableProperties(self, table): 
     
    27102712 
    27112713        if not datafile: 
    2712             logging.info("No weight data chosen.") 
     2714            logger.info("No weight data chosen.") 
    27132715            raise IOError 
    27142716 
     
    28092811 
    28102812        func = QtWidgets.QComboBox() 
    2811         # Available range of shells displayed in the combobox 
    2812         func.addItems([str(i) for i in range(param_length+1)]) 
    2813  
    2814         # Respond to index change 
    2815         func.currentIndexChanged.connect(self.modifyShellsInList) 
    28162813 
    28172814        # cell 2: combobox 
    28182815        item2 = QtGui.QStandardItem() 
    2819         self._model_model.appendRow([item1, item2]) 
     2816 
     2817        # cell 3: min value 
     2818        item3 = QtGui.QStandardItem() 
     2819 
     2820        # cell 4: max value 
     2821        item4 = QtGui.QStandardItem() 
     2822 
     2823        self._model_model.appendRow([item1, item2, item3, item4]) 
    28202824 
    28212825        # Beautify the row:  span columns 2-4 
     
    28262830        self._n_shells_row = shell_row - 1 
    28272831 
    2828         # Set the index to the state-kept value 
    2829         func.setCurrentIndex(self.current_shell_displayed 
    2830                              if self.current_shell_displayed < func.count() else 0) 
    2831  
    2832     def modifyShellsInList(self, index): 
     2832        # Get the default number of shells for the model 
     2833        kernel_pars = self.kernel_module._model_info.parameters.kernel_parameters 
     2834        shell_par = None 
     2835        for par in kernel_pars: 
     2836            if par.name == param_name: 
     2837                shell_par = par 
     2838                break 
     2839        if not shell_par: 
     2840            logger.error("Could not find %s in kernel parameters.", param_name) 
     2841        default_shell_count = shell_par.default 
     2842        shell_min = 0 
     2843        shell_max = 0 
     2844        try: 
     2845            shell_min = int(shell_par.limits[0]) 
     2846            shell_max = int(shell_par.limits[1]) 
     2847        except IndexError as ex: 
     2848            # no info about limits 
     2849            pass 
     2850        item3.setText(str(shell_min)) 
     2851        item4.setText(str(shell_max)) 
     2852 
     2853        # Respond to index change 
     2854        func.currentTextChanged.connect(self.modifyShellsInList) 
     2855 
     2856        # Available range of shells displayed in the combobox 
     2857        func.addItems([str(i) for i in range(shell_min, shell_max+1)]) 
     2858 
     2859        # Add default number of shells to the model 
     2860        func.setCurrentText(str(default_shell_count)) 
     2861 
     2862    def modifyShellsInList(self, text): 
    28332863        """ 
    28342864        Add/remove additional multishell parameters 
     
    28372867        first_row = self._n_shells_row + 1 
    28382868        remove_rows = self._num_shell_params 
     2869        try: 
     2870            index = int(text) 
     2871        except ValueError: 
     2872            # bad text on the control! 
     2873            index = 0 
     2874            logger.error("Multiplicity incorrect! Setting to 0") 
    28392875 
    28402876        if remove_rows > 1: 
     
    28512887        self.current_shell_displayed = index 
    28522888 
    2853         # Change 'n' in the parameter model, thereby updating the underlying model 
     2889        # Param values for existing shells were reset to default; force all changes into kernel module 
     2890        for row in new_rows: 
     2891            par = row[0].text() 
     2892            val = GuiUtils.toDouble(row[1].text()) 
     2893            self.kernel_module.setParam(par, val) 
     2894 
     2895        # Change 'n' in the parameter model; also causes recalculation 
    28542896        self._model_model.item(self._n_shells_row, 1).setText(str(index)) 
    28552897 
  • src/sas/qtgui/Perspectives/Fitting/UnitTesting/FittingWidgetTest.py

    r3fbd77b rf712bf30  
    613613 
    614614        # Check that the number of rows increased 
     615        # (note that n == 1 by default in core_multi_shell so this increases index by 2) 
    615616        more_rows = self.widget._model_model.rowCount() - last_row 
    616         self.assertEqual(more_rows, 6) # 6 new rows: 2 params per index 
    617  
    618         # Back to 0 
     617        self.assertEqual(more_rows, 4) # 4 new rows: 2 params per index 
     618 
     619        # Set to 0 
    619620        self.widget.lstParams.indexWidget(func_index).setCurrentIndex(0) 
    620         self.assertEqual(self.widget._model_model.rowCount(), last_row) 
     621        self.assertEqual(self.widget._model_model.rowCount(), last_row - 2) # 2 fewer rows than default 
    621622 
    622623    def testPlotTheory(self): 
  • src/sas/qtgui/Plotting/PlotterBase.py

    rd9150d8 r343d7fd  
    1010 
    1111import matplotlib.pyplot as plt 
     12from matplotlib import rcParams 
    1213 
    1314DEFAULT_CMAP = pylab.cm.jet 
     
    2930        self.manager = manager 
    3031        self.quickplot = quickplot 
     32 
     33        # Set auto layout so x/y axis captions don't get cut off 
     34        rcParams.update({'figure.autolayout': True}) 
    3135 
    3236        #plt.style.use('ggplot') 
Note: See TracChangeset for help on using the changeset viewer.