Changeset 2570


Ignore:
Timestamp:
Dec 10, 2016 11:55:32 AM (5 years ago)
Author:
vondreele
Message:

more TextCtrl? --> ValidatedTextCtrl?

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIddataGUI.py

    r2569 r2570  
    123123            UseList[G2frame.hist]['Scale'][1] = Obj.GetValue()
    124124           
    125         def OnScaleVal(event):
    126             event.Skip()
    127             Obj = event.GetEventObject()
    128             try:
    129                 scale = float(Obj.GetValue())
    130                 if scale > 0:
    131                     UseList[G2frame.hist]['Scale'][0] = scale
    132             except ValueError:
    133                 pass
    134             Obj.SetValue("%.4f"%(UseList[G2frame.hist]['Scale'][0]))          #reset in case of error
    135                        
    136125        scaleSizer = wx.BoxSizer(wx.HORIZONTAL)
    137126        if 'PWDR' in G2frame.hist:
     
    142131        scaleRef.Bind(wx.EVT_CHECKBOX, OnScaleRef)
    143132        scaleSizer.Add(scaleRef,0,WACV|wx.LEFT,5)
    144 #        azmthOff = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data,'azmthOff',nDig=(10,2),typeHint=float,OnLeave=OnAzmthOff)
    145         scaleVal = wx.TextCtrl(DData,wx.ID_ANY,
    146             '%.4f'%(UseList[G2frame.hist]['Scale'][0]),style=wx.TE_PROCESS_ENTER)
    147         scaleVal.Bind(wx.EVT_TEXT_ENTER,OnScaleVal)
    148         scaleVal.Bind(wx.EVT_KILL_FOCUS,OnScaleVal)
     133        scaleVal = G2G.ValidatedTxtCtrl(DData,UseList[G2frame.hist]['Scale'],0,
     134            min=0.,nDig=(10,4),typeHint=float)
    149135        scaleSizer.Add(scaleVal,0,WACV)
    150136        if 'PWDR' in G2frame.hist and generalData['Type'] != 'magnetic':
     
    299285        Obj.SetValue("%.3g"%(UseList[G2frame.hist]['HStrain'][0][pid]))          #reset in case of error
    300286
    301     def OnPOVal(event):
    302         event.Skip()
    303         Obj = event.GetEventObject()
    304         try:
    305             mdVal = float(Obj.GetValue())
    306             if mdVal > 0:
    307                 UseList[G2frame.hist]['Pref.Ori.'][1] = mdVal
    308         except ValueError:
    309             pass
    310         Obj.SetValue("%.3f"%(UseList[G2frame.hist]['Pref.Ori.'][1]))          #reset in case of error
    311        
    312287    def OnPOAxis(event):
    313288        event.Skip()
     
    527502        poRef.Bind(wx.EVT_CHECKBOX,OnPORef)
    528503        poSizer.Add(poRef,0,WACV|wx.LEFT,5)
    529 #        azmthOff = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data,'azmthOff',nDig=(10,2),typeHint=float,OnLeave=OnAzmthOff)
    530         poVal = wx.TextCtrl(DData,wx.ID_ANY,
    531             '%.3f'%(POData[1]),style=wx.TE_PROCESS_ENTER)
    532         poVal.Bind(wx.EVT_TEXT_ENTER,OnPOVal)
    533         poVal.Bind(wx.EVT_KILL_FOCUS,OnPOVal)
     504        poVal = G2G.ValidatedTxtCtrl(DData,POData,1,nDig=(10,3),typeHint=float,min=0.)
    534505        poSizer.Add(poVal,0,WACV)
    535506        poSizer.Add(wx.StaticText(DData,wx.ID_ANY,' Unique axis, H K L: '),0,WACV)
     
    543514    def SHDataSizer(POData):
    544515       
    545         def OnODFValue(event):
    546             event.Skip()
    547             Obj = event.GetEventObject()
    548             odf = ODFIndx[Obj.GetId()]
    549             try:
    550                 value = float(Obj.GetValue())
    551                 POData[5][odf] = value
    552             except ValueError:
    553                 pass
    554             Obj.SetValue('%8.3f'%(POData[5][odf]))
     516        def OnODFValue(invalid,value,tc):
    555517            G2plt.PlotSizeStrainPO(G2frame,data,G2frame.hist)
    556518   
    557519        ODFSizer = wx.FlexGridSizer(0,8,2,2)
    558         ODFIndx = {}
    559520        ODFkeys = POData[5].keys()
    560521        ODFkeys.sort()
    561522        for odf in ODFkeys:
    562523            ODFSizer.Add(wx.StaticText(DData,wx.ID_ANY,odf),0,WACV)
    563 #        azmthOff = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data,'azmthOff',nDig=(10,2),typeHint=float,OnLeave=OnAzmthOff)
    564             ODFval = wx.TextCtrl(DData,wx.ID_ANY,'%8.3f'%(POData[5][odf]),style=wx.TE_PROCESS_ENTER)
    565             ODFIndx[ODFval.GetId()] = odf
    566             ODFval.Bind(wx.EVT_TEXT_ENTER,OnODFValue)
    567             ODFval.Bind(wx.EVT_KILL_FOCUS,OnODFValue)
     524            ODFval = G2G.ValidatedTxtCtrl(DData,POData[5],odf,nDig=(8,3),typeHint=float,OnLeave=OnODFValue)
    568525            ODFSizer.Add(ODFval,0,WACV|wx.LEFT,5)
    569526        return ODFSizer
     
    737694            Obj.SetValue('%3d %3d %3d'%(uvw[0],uvw[1],uvw[2]))
    738695           
    739         def OnTwinVal(event):
    740             event.Skip()
    741             Obj = event.GetEventObject()
    742             it = Indx[Obj.GetId()]
    743             try:
    744                 val = float(Obj.GetValue())
    745                 if 0. > val > 1.:
    746                     raise ValueError
    747             except ValueError:
    748                 val = UseList[G2frame.hist]['Twins'][it][1]
    749             UseList[G2frame.hist]['Twins'][it][1] = val
     696        def OnTwinVal(invalid,value,tc):
     697            it = Indx[tc.GetId()]
    750698            sumTw = 0.
    751699            for it,twin in enumerate(UseList[G2frame.hist]['Twins']):
     
    824772                valSizer = wx.BoxSizer(wx.HORIZONTAL)
    825773                valSizer.Add(wx.StaticText(DData,-1,label=' Twin element fraction:'),0,WACV)
    826 #        azmthOff = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data,'azmthOff',nDig=(10,2),typeHint=float,OnLeave=OnAzmthOff)
    827                 twinval = wx.TextCtrl(DData,-1,'%.3f'%(TwVal),style=Style)
    828774                if it:
     775                    twinval = G2G.ValidatedTxtCtrl(DData,UseList[G2frame.hist]['Twins'][it],1,nDig=(10,3),
     776                        min=0.,max=1.,typeHint=float,OnLeave=OnTwinVal)
    829777                    Indx[twinval.GetId()] = it
    830                     twinval.Bind(wx.EVT_TEXT_ENTER,OnTwinVal)
    831                     twinval.Bind(wx.EVT_KILL_FOCUS,OnTwinVal)
    832778                else:
     779                    twinval = wx.TextCtrl(DData,-1,'%.3f'%(TwVal),style=Style)
    833780                    twinval.SetBackgroundColour(VERY_LIGHT_GREY)
    834781                valSizer.Add(twinval,0,WACV)
  • trunk/GSASIIimgGUI.py

    r2569 r2570  
    100100    if darkImg: del darkImg         #force cleanup
    101101    if backImg: del backImg
    102 #    GSASIIpath.IPyBreak()
    103102    sumImg -= int(data.get('Flat Bkg',0))
    104103    Imax = np.max(sumImg)
     
    271270                    G2frame.PatternTree.Expand(pId)
    272271                    G2frame.PatternId = pId
    273 #                        GSASIIpath.IPyBreak()
    274272        finally:
    275273            dlg.Destroy()
     
    16991697    def DzeroSizer():
    17001698   
    1701         def OnDzero(event):
    1702             event.Skip()
    1703             Obj = event.GetEventObject()
    1704             try:
    1705                 value = min(20.0,max(0.25,float(Obj.GetValue())))
    1706             except ValueError:
    1707                 value = 1.0
    1708             Obj.SetValue("%.5f"%(value))
    1709             data['d-zero'][Indx[Obj.GetId()]]['Dset'] = value
     1699        def OnDzero(invalid,value,tc):
    17101700            data['d-zero'] = G2mth.sortArray(data['d-zero'],'Dset',reverse=True)
    1711             Ring,R = G2img.MakeStrStaRing(data['d-zero'][Indx[Obj.GetId()]],G2frame.ImageZ,Controls)
     1701            Ring,R = G2img.MakeStrStaRing(data['d-zero'][Indx[tc.GetId()]],G2frame.ImageZ,Controls)
    17121702            if len(Ring):
    1713                 data['d-zero'][Indx[Obj.GetId()]].update(R)
     1703                data['d-zero'][Indx[tc.GetId()]].update(R)
    17141704            else:
    17151705                G2frame.ErrorDialog('Strain peak selection','WARNING - No points found for this ring selection')
    17161706               
    1717             UpdateStressStrain(G2frame,data)
    1718             G2plt.PlotExposedImage(G2frame,event=event,newPlot=False)
     1707            wx.CallAfter(UpdateStressStrain,G2frame,data)
     1708            G2plt.PlotExposedImage(G2frame,event=tc.event,newPlot=False)
    17191709            G2plt.PlotStrain(G2frame,data,newPlot=True)
    17201710           
     
    17261716            G2plt.PlotStrain(G2frame,data,newPlot=True)
    17271717       
    1728         def OnCutOff(event):
    1729             event.Skip()
    1730             Obj = event.GetEventObject()
    1731             try:
    1732                 value = min(20.0,max(0.5,float(Obj.GetValue())))
    1733             except ValueError:
    1734                 value = 1.0
    1735             Obj.SetValue("%.1f"%(value))
    1736             data['d-zero'][Indx[Obj.GetId()]]['cutoff'] = value
    1737             Ring,R = G2img.MakeStrStaRing(data['d-zero'][Indx[Obj.GetId()]],G2frame.ImageZ,Controls)
    1738             G2plt.PlotExposedImage(G2frame,event=event)
     1718        def OnCutOff(invalid,value,tc):
     1719            Ring,R = G2img.MakeStrStaRing(data['d-zero'][Indx[tc.GetId()]],G2frame.ImageZ,Controls)
     1720            G2plt.PlotExposedImage(G2frame,event=tc.event)
    17391721            G2plt.PlotStrain(G2frame,data,newPlot=True)
    17401722       
     
    17511733        for id,dzero in enumerate(data['d-zero']):
    17521734            dzeroSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,label=(' d-zero #%d: '%(id))),0,WACV)
    1753 #        azmthOff = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data,'azmthOff',nDig=(10,2),typeHint=float,OnLeave=OnAzmthOff)
    1754             dZero = wx.TextCtrl(G2frame.dataDisplay,-1,value=('%.5f'%(dzero['Dset'])),
    1755                 style=wx.TE_PROCESS_ENTER)
     1735            dZero = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data['d-zero'][id],'Dset',
     1736                min=0.25,max=20.,nDig=(10,5),typeHint=float,OnLeave=OnDzero)
    17561737            dzeroSizer.Add(dZero,0,WACV)
    1757             dZero.Bind(wx.EVT_TEXT_ENTER,OnDzero)
    1758             dZero.Bind(wx.EVT_KILL_FOCUS,OnDzero)
    17591738            Indx[dZero.GetId()] = id
    17601739            dzeroSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,label=(' d-zero ave: %.5f'%(dzero['Dcalc']))),0,WACV)
    17611740               
    17621741            dzeroSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Min ring I/Ib '),0,WACV)
    1763 #        azmthOff = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data,'azmthOff',nDig=(10,2),typeHint=float,OnLeave=OnAzmthOff)
    1764             cutOff = wx.TextCtrl(parent=G2frame.dataDisplay,value=("%.1f" % (dzero['cutoff'])),
    1765                 style=wx.TE_PROCESS_ENTER)
    1766             cutOff.Bind(wx.EVT_TEXT_ENTER,OnCutOff)
    1767             cutOff.Bind(wx.EVT_KILL_FOCUS,OnCutOff)
     1742            cutOff = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data['d-zero'][id],'cutoff',
     1743                    min=0.5,max=20.,nDig=(10,1),typeHint=float,OnLeave=OnCutOff)
    17681744            Indx[cutOff.GetId()] = id
    17691745            dzeroSizer.Add(cutOff,0,WACV)
  • trunk/GSASIIpwdGUI.py

    r2569 r2570  
    26692669        Obj = event.GetEventObject()
    26702670        bravais[bravList.index(Obj.GetId())] = Obj.GetValue()
    2671        
    2672     def OnZero(event):
    2673         event.Skip()
    2674         try:
    2675             Zero = min(5.0,max(-5.0,float(zero.GetValue())))
    2676         except ValueError:
    2677             Zero = 0.0
    2678         controls[1] = Zero
    2679         zero.SetValue("%.4f"%(Zero))
    2680        
     2671               
    26812672    def OnZeroVar(event):
    26822673        controls[0] = zeroVar.GetValue()
     
    32013192    else:
    32023193        littleSizer.Add(wx.StaticText(G2frame.dataDisplay,label=" Zero offset"),0,WACV)
    3203 #        azmthOff = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data,'azmthOff',nDig=(10,2),typeHint=float,OnLeave=OnAzmthOff)
    3204         zero = wx.TextCtrl(G2frame.dataDisplay,value="%.4f"%(controls[1]),style=wx.TE_PROCESS_ENTER)
    3205         zero.Bind(wx.EVT_TEXT_ENTER,OnZero)
    3206         zero.Bind(wx.EVT_KILL_FOCUS,OnZero)
     3194        zero = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,controls,1,nDig=(10,4),typeHint=float,min=-5.,max=5.)
    32073195        littleSizer.Add(zero,0,WACV)
    32083196        zeroVar = wx.CheckBox(G2frame.dataDisplay,label="Refine?")
Note: See TracChangeset for help on using the changeset viewer.