Changeset 1201


Ignore:
Timestamp:
Jan 18, 2014 4:29:52 PM (8 years ago)
Author:
vondreele
Message:

remove bind to leave window in ValidatedTxtCtrl?; interfered with plotting
implement plot of intensity*scale for small angle data
remove some dead code in G2pwdGUI

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIgrid.py

    r1199 r1201  
    295295        # When the mouse is moved away or the widget loses focus
    296296        # display the last saved value, if an expression
    297         self.Bind(wx.EVT_LEAVE_WINDOW, self._onLoseFocus)
     297#        self.Bind(wx.EVT_LEAVE_WINDOW, self._onLoseFocus)
     298        self.Bind(wx.EVT_TEXT_ENTER, self._onLoseFocus)
    298299        self.Bind(wx.EVT_KILL_FOCUS, self._onLoseFocus)
    299300
  • trunk/GSASIImath.py

    r1200 r1201  
    152152        Adiag = np.sqrt(np.diag(Amat))
    153153        Anorm = np.outer(Adiag,Adiag)
    154 #        Amat /= Anorm
    155154        Amatlam = Amat*(One+Lam)/Anorm              #scale Amat to Marquardt array       
    156155    try:
  • trunk/GSASIIplot.py

    r1199 r1201  
    400400    def OnPlotKeyPress(event):
    401401        newPlot = False
    402         if event.key == 'w':
     402        if event.key == 'w' and 'PWDR' in plottype:
    403403            if G2frame.Weight:
    404404                G2frame.Weight = False
     
    407407                G2frame.SinglePlot = True
    408408            newPlot = True
    409         elif event.key == 'b':
     409        elif event.key == 'b' and 'PWDR' in plottype:
    410410            if G2frame.SubBack:
    411411                G2frame.SubBack = False
     
    537537
    538538            except TypeError:
    539                 G2frame.G2plotNB.status.SetStatusText('Select '+plotType+' powder pattern first',1)
     539                G2frame.G2plotNB.status.SetStatusText('Select '+plottype+' powder pattern first',1)
    540540                                                   
    541541    def OnPick(event):
     
    683683                'c: contour on','q: toggle q plot','s: toggle single plot','+: no selection')
    684684        else:
    685             Page.Choice = (' key press','l: offset left','r: offset right','d: offset down',
    686                 'u: offset up','o: reset offset','b: toggle subtract background','n: log(I) on','c: contour on',
    687                 'q: toggle q plot','s: toggle single plot','w: toggle divide by sig','+: no selection')
     685            if 'PWDR' in plottype:
     686                Page.Choice = (' key press','l: offset left','r: offset right','d: offset down',
     687                    'u: offset up','o: reset offset','b: toggle subtract background','n: log(I) on','c: contour on',
     688                    'q: toggle q plot','s: toggle single plot','w: toggle divide by sig','+: no selection')
     689            elif 'SASD' in plottype:
     690                Page.Choice = (' key press','l: offset left','r: offset right','d: offset down',
     691                    'u: offset up','o: reset offset','n: log(I) on','c: contour on',
     692                    'q: toggle q plot','s: toggle single plot','+: no selection')
    688693    Page.keyPress = OnPlotKeyPress
    689694   
     
    699704        Parms,Parms2 = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,
    700705            G2frame.PatternId, 'Instrument Parameters'))
     706        Sample = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Sample Parameters'))
    701707        ParmList = [Parms,]
    702708        Title = Pattern[-1]
     
    705711        PlotList = []
    706712        ParmList = []
     713        SampleList = []
    707714        item, cookie = G2frame.PatternTree.GetFirstChild(G2frame.root)
    708715        while item:
    709             if plotType in G2frame.PatternTree.GetItemText(item):
     716            if plottype in G2frame.PatternTree.GetItemText(item):
    710717                Pattern = G2frame.PatternTree.GetItemPyData(item)
    711718                if len(Pattern) < 3:                    # put name on end if needed
     
    714721                ParmList.append(G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,
    715722                    item,'Instrument Parameters'))[0])
     723                SampleList.append(G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,
     724                    item, 'Sample Parameters')))
    716725            item, cookie = G2frame.PatternTree.GetNextChild(G2frame.root, cookie)               
    717726    lenX = 0
     
    752761    else:
    753762        if 'C' in ParmList[0]['Type'][0]:
    754             Plot.set_ylabel('Intensity',fontsize=14)
     763            if 'PWDR' in plottype:
     764                Plot.set_ylabel('Intensity',fontsize=14)
     765            elif 'SASD' in plottype:
     766                Plot.set_ylabel('Intensity, cm-1',fontsize=14)
    755767        else:
    756768            Plot.set_ylabel('Normalized intensity',fontsize=14)
     
    763775    for N,Pattern in enumerate(PlotList):
    764776        Parms = ParmList[N]
     777        Sample = SampleList[N]
    765778        if 'C' in Parms['Type'][0]:
    766779            wave = G2mth.getWave(Parms)
     
    789802        if not lenX:
    790803            lenX = len(X)
    791         Y = xye[1]+offset*N
     804        if 'PWDR' in plottype:
     805            Y = xye[1]+offset*N
     806        elif 'SASD' in plottype:
     807            Y = xye[1]*Sample['Scale'][0]+offset*N
    792808        if LimitId:
    793809            limits = np.array(G2frame.PatternTree.GetItemPyData(LimitId))
     
    816832            if ifpicked:
    817833                Z = xye[3]+offset*N
    818                 if 'PWDR' in plotType:  #powder background
     834                if 'PWDR' in plottype:  #powder background
    819835                    W = xye[4]+offset*N
    820836                    D = xye[5]-Ymax*G2frame.delOffset
    821                 elif 'SASD' in plotType:
     837                elif 'SASD' in plottype:
    822838                    D = xye[4]-Ymax*G2frame.delOffset
    823839                if G2frame.logPlot:
    824                     if 'PWDR' in plotType:
     840                    if 'PWDR' in plottype:
    825841                        Plot.semilogy(X,Y,colors[N%6]+'+',picker=3.,clip_on=False,nonposy='mask')
    826842                        Plot.semilogy(X,Z,colors[(N+1)%6],picker=False,nonposy='mask')
    827843                        Plot.semilogy(X,W,colors[(N+2)%6],picker=False,nonposy='mask')
    828                     elif 'SASD' in plotType:
     844                    elif 'SASD' in plottype:
    829845                        Plot.loglog(X,Y,colors[N%6]+'+',picker=3.,clip_on=False,nonposy='mask')
    830846                        Plot.loglog(X,Z,colors[(N+1)%6],picker=False,nonposy='mask')
     
    839855                    Plot.axhline(0.,color=wx.BLACK)
    840856                else:
    841                     if G2frame.SubBack and 'PWDR' in plotType:
     857                    if G2frame.SubBack and 'PWDR' in plottype:
    842858                        Plot.plot(Xum,Y-W,colors[N%6]+'+',picker=3.,clip_on=False)
    843859                        Plot.plot(X,Z-W,colors[(N+1)%6],picker=False)
     
    845861                        Plot.plot(Xum,Y,colors[N%6]+'+',picker=3.,clip_on=False)
    846862                        Plot.plot(X,Z,colors[(N+1)%6],picker=False)
    847                     if 'PWDR' in plotType:
     863                    if 'PWDR' in plottype:
    848864                        Plot.plot(X,W,colors[(N+2)%6],picker=False)
    849865                    Plot.plot(X,D,colors[(N+3)%6],picker=False)
     
    868884            else:
    869885                if G2frame.logPlot:
    870                     if 'PWDR' in plotType:
     886                    if 'PWDR' in plottype:
    871887                        Plot.semilogy(X,Y,colors[N%6],picker=False,nonposy='mask')
    872                     elif 'SASD' in plotType:
     888                    elif 'SASD' in plottype:
    873889                        Plot.loglog(X,Y,colors[N%6],picker=False,nonposy='mask')
    874890                else:
     
    9981014           
    9991015def PlotISFG(G2frame,newPlot=False,type=''):
    1000     ''' PLotting package for PDF analysis; displays I(q), S(q), F(q) and G(r) as single
     1016    ''' Plotting package for PDF analysis; displays I(q), S(q), F(q) and G(r) as single
    10011017    or multiple plots with waterfall and contour plots as options
    10021018    '''
  • trunk/GSASIIpwdGUI.py

    r1199 r1201  
    12561256            dlg.Destroy()
    12571257
    1258     def OnScaleRef(event):
    1259         Obj = event.GetEventObject()
    1260         data['Scale'][1] = Obj.GetValue()
    1261        
    1262     def OnScaleVal(event):
    1263         Obj = event.GetEventObject()
    1264         try:
    1265             scale = float(Obj.GetValue())
    1266             if scale > 0:
    1267                 data['Scale'][0] = scale
    1268         except ValueError:
    1269             pass
    1270         Obj.SetValue("%.4f"%(data['Scale'][0]))          #reset in case of error
    1271        
    12721258    def OnHistoType(event):
    12731259        Obj = event.GetEventObject()
     
    12841270    def OnNameVal(event):
    12851271        event.Skip()
    1286         wx.CallAfter(SetNameVal)       
     1272        wx.CallAfter(SetNameVal)
     1273       
     1274    def AfterChange(invalid,value,tc):
     1275        if invalid:
     1276            return
     1277        if tc.key == 0 and 'SASD' in histName:          #a kluge!
     1278            G2plt.PlotPatterns(G2frame,plotType='SASD',newPlot=True)
     1279                   
    12871280
    12881281    ######## DEBUG #######################################################
     
    13841377            parmRef = G2gd.G2CheckBox(G2frame.dataDisplay,' '+lbl,data[key],1)
    13851378            parmSizer.Add(parmRef,0,wx.ALIGN_CENTER_VERTICAL|wx.EXPAND)
    1386             parmVal = G2gd.ValidatedTxtCtrl(G2frame.dataDisplay,data[key],0,nDig=nDig,typeHint=float)
     1379            parmVal = G2gd.ValidatedTxtCtrl(G2frame.dataDisplay,data[key],0,
     1380                nDig=nDig,typeHint=float,OnLeave=AfterChange)
    13871381        else:
    13881382            parmSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' '+lbl),
Note: See TracChangeset for help on using the changeset viewer.