Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/sas/qtgui/Perspectives/Inversion/DMaxExplorerWidget.py

    rf4480f0 rb0ba43e  
    88 
    99# global 
    10 import sys 
    11 import os 
    1210import logging 
    1311import numpy as np 
     
    4240        super(DmaxWindow, self).__init__() 
    4341        self.setupUi(self) 
     42        self.parent = parent 
    4443 
    4544        self.setWindowTitle("Dₐₓ Explorer") 
     
    5049 
    5150        self.plot = PlotterWidget(self, self) 
    52         self.hasPlot = None 
     51        self.hasPlot = False 
    5352        self.verticalLayout.insertWidget(0, self.plot) 
    5453 
    5554        # Let's choose the Standard Item Model. 
    5655        self.model = QtGui.QStandardItemModel(self) 
    57         self.mapper = None 
     56        self.mapper = QtWidgets.QDataWidgetMapper(self) 
    5857 
    5958        # Add validators on line edits 
    6059        self.setupValidators() 
    6160 
    62         # # Connect buttons to slots. 
    63         # # Needs to be done early so default values propagate properly. 
     61        # Connect buttons to slots. 
     62        # Needs to be done early so default values propagate properly. 
    6463        self.setupSlots() 
    6564 
     
    8281 
    8382    def setupModel(self): 
     83        self.model.blockSignals(True) 
    8484        self.model.setItem(W.NPTS, QtGui.QStandardItem(str(self.nfunc))) 
     85        self.model.blockSignals(False) 
     86        self.model.blockSignals(True) 
    8587        self.model.setItem(W.DMIN, QtGui.QStandardItem("{:.1f}".format(0.9*self.pr_state.d_max))) 
     88        self.model.blockSignals(False) 
     89        self.model.blockSignals(True) 
    8690        self.model.setItem(W.DMAX, QtGui.QStandardItem("{:.1f}".format(1.1*self.pr_state.d_max))) 
     91        self.model.blockSignals(False) 
     92        self.model.blockSignals(True) 
    8793        self.model.setItem(W.VARIABLE, QtGui.QStandardItem( "χ²/dof")) 
     94        self.model.blockSignals(False) 
    8895 
    8996    def setupMapper(self): 
    90         self.mapper = QtWidgets.QDataWidgetMapper(self) 
    9197        self.mapper.setOrientation(QtCore.Qt.Vertical) 
    9298        self.mapper.setModel(self.model) 
     
    111117        chi2 = [] 
    112118 
    113         xs = np.linspace(float(self.model.item(W.DMIN).text()), 
    114                          float(self.model.item(W.DMAX).text()), 
    115                          float(self.model.item(W.NPTS).text())) 
     119        try: 
     120            dmin = float(self.model.item(W.DMIN).text()) 
     121            dmax = float(self.model.item(W.DMAX).text()) 
     122            npts = float(self.model.item(W.NPTS).text()) 
     123            xs = np.linspace(dmin, dmax, npts) 
     124        except ValueError as e: 
     125            msg = ("An input value is not correctly formatted. Please check {}" 
     126                   .format(e.message)) 
     127            logger.error(msg) 
    116128 
    117129        original = self.pr_state.d_max 
     
    132144                msg = "ExploreDialog: inversion failed " 
    133145                msg += "for D_max=%s\n%s" % (str(x), ex) 
    134                 print(msg) 
    135146                logger.error(msg) 
    136147 
     
    142153            msg = "ExploreDialog: inversion failed " 
    143154            msg += "for D_max=%s\n%s" % (str(x), ex) 
    144             print(msg) 
    145155            logger.error(msg) 
    146156 
     
    151161        if plotter == "χ²/dof": 
    152162            ys = chi2 
    153             y_label = "\chi^2/dof" 
     163            y_label = "\\chi^2/dof" 
    154164            y_unit = "a.u." 
    155165        elif plotter == "I(Q=0)": 
    156166            ys = iq0 
    157167            y_label = "I(q=0)" 
    158             y_unit = "\AA^{-1}" 
     168            y_unit = "\\AA^{-1}" 
    159169        elif plotter == "Rg": 
    160170            ys = rg 
    161171            y_label = "R_g" 
    162             y_unit = "\AA" 
     172            y_unit = "\\AA" 
    163173        elif plotter == "Oscillation parameter": 
    164174            ys = osc 
     
    168178            ys = bck 
    169179            y_label = "Bckg" 
    170             y_unit = "\AA^{-1}" 
     180            y_unit = "\\AA^{-1}" 
    171181        elif plotter == "Positive Fraction": 
    172182            ys = pos 
     
    175185        else: 
    176186            ys = pos_err 
    177             y_label = "P^{+}_{1\sigma}" 
     187            y_label = "P^{+}_{1\\sigma}" 
    178188            y_unit = "a.u." 
    179189 
     
    188198        data._yunit = y_unit 
    189199        self.plot.plot(data=data, marker="-") 
     200 
     201    def closeEvent(self, event): 
     202        """Override close event""" 
     203        self.parent.dmaxWindow = None 
     204        event.accept() 
Note: See TracChangeset for help on using the changeset viewer.