Changeset 557fc498 in sasview for src/sas


Ignore:
Timestamp:
Sep 13, 2018 8:17:42 AM (6 years ago)
Author:
Piotr Rozyczko <rozyczko@…>
Branches:
ESS_GUI, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc
Children:
855e7ad
Parents:
1a15ada
Message:

Added GUI elements disablement/enablement on fit and calculate SASVIEW-1064

File:
1 edited

Legend:

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

    r6889ba2 r557fc498  
    13771377        self.communicate.statusBarUpdateSignal.emit('Fitting started...') 
    13781378        self.fit_started = True 
     1379 
    13791380        # Disable some elements 
    1380         self.setFittingStarted() 
     1381        self.disableInteractiveElements() 
    13811382 
    13821383    def stopFit(self): 
     
    13871388            return 
    13881389        self.calc_fit.stop() 
    1389         #self.fit_started=False 
    13901390        #re-enable the Fit button 
    1391         self.setFittingStopped() 
     1391        self.enableInteractiveElements() 
    13921392 
    13931393        msg = "Fitting cancelled." 
     
    14031403        """ 
    14041404        """ 
    1405         self.setFittingStopped() 
     1405        self.enableInteractiveElements() 
    14061406        msg = "Fitting failed with: "+ str(reason) 
    14071407        self.communicate.statusBarUpdateSignal.emit(msg) 
     
    14201420        """ 
    14211421        #re-enable the Fit button 
    1422         self.setFittingStopped() 
     1422        self.enableInteractiveElements() 
    14231423 
    14241424        if len(result) == 0: 
     
    14921492        """ 
    14931493        #re-enable the Fit button 
    1494         self.setFittingStopped() 
     1494        self.enableInteractiveElements() 
    14951495 
    14961496        if len(result) == 0: 
     
    23632363        weight = FittingUtilities.getWeight(data=data, is2d=self.is2D, flag=self.weighting) 
    23642364 
     2365        # Disable buttons/table 
     2366        self.disableInteractiveElements() 
    23652367        # Awful API to a backend method. 
    23662368        calc_thread = self.methodCalculateForData()(data=data, 
     
    24042406        Thread returned error 
    24052407        """ 
     2408        # Bring the GUI to normal state 
     2409        self.enableInteractiveElements() 
    24062410        print("Calculate Data failed with ", reason) 
    24072411 
     
    24162420        Plot the current 1D data 
    24172421        """ 
     2422        # Bring the GUI to normal state 
     2423        self.enableInteractiveElements() 
     2424 
    24182425        fitted_data = self.logic.new1DPlot(return_data, self.tab_id) 
    24192426        residuals = self.calculateResiduals(fitted_data) 
     
    24452452        Plot the current 2D data 
    24462453        """ 
     2454        # Bring the GUI to normal state 
     2455        self.enableInteractiveElements() 
     2456 
    24472457        fitted_data = self.logic.new2DPlot(return_data) 
    24482458        residuals = self.calculateResiduals(fitted_data) 
     
    25152525        Thread threw an exception. 
    25162526        """ 
     2527        # Bring the GUI to normal state 
     2528        self.enableInteractiveElements() 
    25172529        # TODO: remimplement thread cancellation 
    25182530        logger.error("".join(traceback.format_exception(etype, value, tb))) 
     
    28922904        self.setMagneticModel() 
    28932905 
    2894     def setFittingStarted(self): 
    2895         """ 
    2896         Set buttion caption on fitting start 
     2906    def setInteractiveElements(self, enabled=True): 
     2907        """ 
     2908        Switch interactive GUI elements on/off 
     2909        """ 
     2910        assert isinstance(enabled, bool) 
     2911 
     2912        self.lstParams.setEnabled(enabled) 
     2913        self.lstPoly.setEnabled(enabled) 
     2914        self.lstMagnetic.setEnabled(enabled) 
     2915 
     2916        self.cbCategory.setEnabled(enabled) 
     2917        self.cbModel.setEnabled(enabled) 
     2918        self.cbStructureFactor.setEnabled(enabled) 
     2919 
     2920        self.chkPolydispersity.setEnabled(enabled) 
     2921        self.chkMagnetism.setEnabled(enabled) 
     2922        self.chk2DView.setEnabled(enabled) 
     2923 
     2924    def enableInteractiveElements(self): 
     2925        """ 
     2926        Set buttion caption on fitting/calculate finish 
     2927        Enable the param table(s) 
     2928        """ 
     2929        # Notify the user that fitting is available 
     2930        self.cmdFit.setStyleSheet('QPushButton {color: black;}') 
     2931        self.cmdFit.setText("Fit") 
     2932        self.fit_started = False 
     2933        self.setInteractiveElements(True) 
     2934 
     2935    def disableInteractiveElements(self): 
     2936        """ 
     2937        Set buttion caption on fitting/calculate start 
     2938        Disable the param table(s) 
    28972939        """ 
    28982940        # Notify the user that fitting is being run 
     
    29002942        self.cmdFit.setStyleSheet('QPushButton {color: red;}') 
    29012943        self.cmdFit.setText('Stop fit') 
    2902  
    2903     def setFittingStopped(self): 
    2904         """ 
    2905         Set button caption on fitting stop 
    2906         """ 
    2907         # Notify the user that fitting is available 
    2908         self.cmdFit.setStyleSheet('QPushButton {color: black;}') 
    2909         self.cmdFit.setText("Fit") 
    2910         self.fit_started = False 
     2944        self.setInteractiveElements(False) 
    29112945 
    29122946    def readFitPage(self, fp): 
Note: See TracChangeset for help on using the changeset viewer.