Ignore:
File:
1 edited

Legend:

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

    r33c0561 r14e1ff0  
    128128        self.is_chain_fitting = False 
    129129 
     130        # Is the fit job running? 
     131        self.is_running = False 
     132        self.calc_fit = None 
     133 
    130134        # Remember previous content of modified cell 
    131135        self.current_cell = "" 
     
    257261        Perform the constrained/simultaneous fit 
    258262        """ 
     263        # Stop if we're running 
     264        if self.is_running: 
     265            self.is_running = False 
     266            #re-enable the Fit button 
     267            self.cmdFit.setStyleSheet('QPushButton {color: black;}') 
     268            self.cmdFit.setText("Fit") 
     269            # stop the fitpages 
     270            self.calc_fit.stop() 
     271            return 
     272 
    259273        # Find out all tabs to fit 
    260274        tabs_to_fit = self.getTabsForFit() 
     
    310324 
    311325        # new fit thread object 
    312         calc_fit = FitThread(handler=handler, 
     326        self.calc_fit = FitThread(handler=handler, 
    313327                             fn=sim_fitter_list, 
    314328                             batch_inputs=batch_inputs, 
     
    321335        if LocalConfig.USING_TWISTED: 
    322336            # start the trhrhread with twisted 
    323             calc_thread = threads.deferToThread(calc_fit.compute) 
    324             calc_thread.addCallback(completefn) 
    325             calc_thread.addErrback(self.onFitFailed) 
     337            self.calc_fit = threads.deferToThread(self.calc_fit.compute) 
     338            self.calc_fit.addCallback(completefn) 
     339            self.calc_fit.addErrback(self.onFitFailed) 
    326340        else: 
    327341            # Use the old python threads + Queue 
    328             calc_fit.queue() 
    329             calc_fit.ready(2.5) 
    330  
    331  
    332         #disable the Fit button 
     342            self.calc_fit.queue() 
     343            self.calc_fit.ready(2.5) 
     344 
     345        # modify the Fit button 
    333346        self.cmdFit.setStyleSheet('QPushButton {color: red;}') 
    334         self.cmdFit.setText('Running...') 
     347        self.cmdFit.setText('Stop fit') 
    335348        self.parent.communicate.statusBarUpdateSignal.emit('Fitting started...') 
    336         self.cmdFit.setEnabled(False) 
     349        self.is_running = True 
    337350 
    338351    def onHelp(self): 
     
    457470        self.cmdFit.setStyleSheet('QPushButton {color: black;}') 
    458471        self.cmdFit.setText("Fit") 
    459         self.cmdFit.setEnabled(True) 
    460472 
    461473        # Notify the parent about completed fitting 
     
    503515        self.cmdFit.setStyleSheet('QPushButton {color: black;}') 
    504516        self.cmdFit.setText("Fit") 
    505         self.cmdFit.setEnabled(True) 
    506517 
    507518        # Notify the parent about completed fitting 
     
    538549        self.cmdFit.setStyleSheet('QPushButton {color: black;}') 
    539550        self.cmdFit.setText("Fit") 
    540         self.cmdFit.setEnabled(True) 
    541551 
    542552        # Notify the parent about completed fitting 
     
    958968        if isBatch: 
    959969            self.chkChain.setChecked(is_chain) 
     970 
     971    def getReport(self): 
     972        """ 
     973        Wrapper for non-existent functionality. 
     974        Tell the user to use the reporting tool 
     975        on separate fit pages. 
     976        """ 
     977        msg = "Please use Report Results directly on fit pages" 
     978        msg += " involved in the Constrained and Simultaneous fitting process." 
     979        msgbox = QtWidgets.QMessageBox(self) 
     980        msgbox.setIcon(QtWidgets.QMessageBox.Warning) 
     981        msgbox.setText(msg) 
     982        msgbox.setWindowTitle("Fit Report") 
     983        _ = msgbox.exec_() 
     984        return 
Note: See TracChangeset for help on using the changeset viewer.