Changeset 68


Ignore:
Timestamp:
May 19, 2010 3:07:01 PM (12 years ago)
Author:
vondreel
Message:

improvements in powder pattern plot options

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASII.py

    r66 r68  
    235235        self.dataFrame = None
    236236        self.Contour = False
     237        self.SinglePlot = False
    237238        self.plotView = 0
    238239        self.Image = 0
  • trunk/GSASIIIO.py

    r65 r68  
    700700    Azms = [(azms[i+1]+azms[i])/2. for i in range(len(azms)-1)]
    701701    for i,azm in enumerate(Azms):
    702         name += " Azm= %.2f"%(azm)
    703702        item, cookie = self.PatternTree.GetFirstChild(self.root)
    704703        Id = 0
    705704        while item:
    706705            Name = self.PatternTree.GetItemText(item)
    707             if name in Name:
     706            if name == Name:
    708707                Id = item
    709708            item, cookie = self.PatternTree.GetNextChild(self.root, cookie)
     
    720719            self.PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(self,Id,'Unit Cells List'),[])             
    721720        else:
    722             Id = self.PatternTree.AppendItem(parent=self.root,text=name)
     721            Id = self.PatternTree.AppendItem(parent=self.root,text=name+" Azm= %.2f"%(azm))
    723722            self.PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Comments'),Comments)                   
    724723            self.PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Limits'),[tuple(Xminmax),Xminmax])
  • trunk/GSASIIplot.py

    r65 r68  
    4747        self.SetSizer(sizer)
    4848        self.status = parent.CreateStatusBar()
    49 #        self.Bind(wx.aui.EVT_AUI_PAGE_CHANGED, self.OnPageChanged)
     49        self.status.SetFieldsCount(2)
     50        self.status.SetStatusWidths([-1,120])
     51        self.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CHANGED, self.OnPageChanged)
    5052       
    5153        self.plotList = []
     
    6062       
    6163    def OnPageChanged(self,event):
    62         print 'page changed'
     64        self.status.DestroyChildren()                           #get rid of special stuff on status bar
    6365       
    6466def PlotSngl(self,newPlot=False):
     
    7880                HKLtxt = '(%3d,%3d,%3d)'%(xpos,ypos,zpos)
    7981            Page.canvas.SetToolTipString(HKLtxt)
    80             self.G2plotNB.status.SetFields(['HKL = '+HKLtxt,])
     82            self.G2plotNB.status.SetFields(['HKL = '+HKLtxt,''])
    8183               
    8284    def OnSCPick(event):
     
    9698        print i
    9799        HKLtxt = '(%3d,%3d,%3d %10.2f %6.3f %10.2f)'%(h,k,l,Fosq,sig,Fcsq)
    98         self.G2plotNB.status.SetFields(['HKL, Fosq, sig, Fcsq = '+HKLtxt,])
     100        self.G2plotNB.status.SetFields(['HKL, Fosq, sig, Fcsq = '+HKLtxt,''])
    99101                         
    100102       
     
    245247            else:
    246248                self.Contour = True
     249        elif event.key == 's':
     250            if self.SinglePlot:
     251                self.SinglePlot = False
     252            else:
     253                self.SinglePlot = True
     254           
    247255        PlotPatterns(self)
     256       
     257    def OnKeyBox(event):
     258        if self.G2plotNB.nb.GetSelection() == self.G2plotNB.plotList.index('Powder Patterns'):
     259            event.key = cb.GetValue()[0]
     260            cb.SetValue(' key press')
     261            OnPlotKeyPress(event)
    248262                       
    249263    def OnMotion(event):
     
    258272                if abs(xpos) > 0.:                  #avoid possible singularity at beam center
    259273                    dsp = wave/(2.*sind(abs(xpos)/2.0))
    260                 self.G2plotNB.status.SetFields(['2-theta =%9.3f d =%9.5f Intensity =%9.1f'%(xpos,dsp,ypos),])
     274                self.G2plotNB.status.SetStatusText('2-theta =%9.3f d =%9.5f Intensity =%9.1f'%(xpos,dsp,ypos),0)
    261275                if self.itemPicked:
    262276                    Page.canvas.SetToolTipString('%9.3f'%(xpos))
    263277            except TypeError:
    264                 self.G2plotNB.status.SetFields(['Select PWDR powder pattern first',])
    265                
    266                    
     278                self.G2plotNB.status.SetStatusText('Select PWDR powder pattern first',0)
     279                                   
    267280    def OnRelease(event):
    268281        if self.itemPicked is None: return
     
    308321        Page.canvas.mpl_connect('pick_event', OnPick)
    309322        Page.canvas.mpl_connect('button_release_event', OnRelease)
    310        
    311323    Page.SetFocus()
    312 
     324    cb = wx.ComboBox(self.G2plotNB.status,style=wx.CB_DROPDOWN|wx.CB_READONLY,
     325        choices=(' key press','d: offset down','u: offset up','c: toggle contour','s: toggle single plot'))
     326    cb.Bind(wx.EVT_COMBOBOX, OnKeyBox)
     327    rect = self.G2plotNB.status.GetFieldRect(1)
     328    cb.SetPosition((rect.x,rect.y))
     329    cb.SetValue(' key press')
     330   
    313331    PickId = self.PickId
    314332    PatternId = self.PatternId
    315333    colors=['b','g','r','c','m','k']
    316     PlotList = []
    317334    Lines = []
    318     item, cookie = self.PatternTree.GetFirstChild(self.root)
    319     while item:
    320         if 'PWDR' in self.PatternTree.GetItemText(item):
    321             Pattern = self.PatternTree.GetItemPyData(item)
    322             Pattern.append(self.PatternTree.GetItemText(item))
    323             PlotList.append(Pattern)
    324         item, cookie = self.PatternTree.GetNextChild(self.root, cookie)               
     335    if self.SinglePlot:
     336        Pattern = self.PatternTree.GetItemPyData(self.PatternId)
     337        Pattern.append(self.PatternTree.GetItemText(self.PatternId))
     338        PlotList = [Pattern,]
     339    else:       
     340        PlotList = []
     341        item, cookie = self.PatternTree.GetFirstChild(self.root)
     342        while item:
     343            if 'PWDR' in self.PatternTree.GetItemText(item):
     344                Pattern = self.PatternTree.GetItemPyData(item)
     345                Pattern.append(self.PatternTree.GetItemText(item))
     346                PlotList.append(Pattern)
     347            item, cookie = self.PatternTree.GetNextChild(self.root, cookie)               
    325348    Ymax = 1.0
    326349    for Pattern in PlotList:
     
    410433        if xpos:                                        #avoid out of frame mouse position
    411434            Page.canvas.SetCursor(wx.CROSS_CURSOR)
    412             self.G2plotNB.status.SetFields(['2-theta =%9.3f '%(xpos,),])
     435            self.G2plotNB.status.SetFields(['2-theta =%9.3f '%(xpos,),''])
    413436
    414437    try:
     
    566589                Q = 2.*math.pi/dsp
    567590                self.G2plotNB.status.SetFields(\
    568                     ['Detector 2-th =%9.2fdeg, dsp =%9.3fA, Q = %6.3fA-1, azm = %7.2fdeg'%(tth,dsp,Q,azm),])
     591                    ['Detector 2-th =%9.2fdeg, dsp =%9.3fA, Q = %6.3fA-1, azm = %7.2fdeg'%(tth,dsp,Q,azm),''])
    569592
    570593    def OnImPlotKeyPress(event):
     
    667690        Page.canvas.mpl_connect('button_release_event', OnImRelease)
    668691    Page.SetFocus()
    669        
    670692    Plot.set_title(self.PatternTree.GetItemText(self.Image)[4:])
    671693    size,imagefile = self.PatternTree.GetItemPyData(self.Image)
     
    762784        if azm and tth:
    763785            self.G2plotNB.status.SetFields(\
    764                 ['Detector 2-th =%9.3fdeg, azm = %7.2fdeg'%(tth,azm),])
     786                ['Detector 2-th =%9.3fdeg, azm = %7.2fdeg'%(tth,azm),''])
    765787                               
    766788    try:
     
    827849        if azm and tth:
    828850            self.G2plotNB.status.SetFields(\
    829                 ['Detector 2-th =%9.3fdeg, azm = %7.2fdeg'%(tth,azm),])
     851                ['Detector 2-th =%9.3fdeg, azm = %7.2fdeg'%(tth,azm),''])
    830852                               
    831853    try:
Note: See TracChangeset for help on using the changeset viewer.