Changeset 2905
- Timestamp:
- Jul 4, 2017 12:11:29 PM (8 years ago)
- Location:
- branch/2frame
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified branch/2frame/GSASIIIO.py ¶
r2900 r2905 154 154 155 155 ''' 156 Npix,Imagefile,imagetag = G2frame. PatternTree.GetImageLoc(treeId)156 Npix,Imagefile,imagetag = G2frame.GPXtree.GetImageLoc(treeId) 157 157 if isinstance(Imagefile,list): 158 158 imagefile,imagetag = Imagefile … … 170 170 print 'found image file '+os.path.join(G2frame.dirname,fil) 171 171 imagefile = os.path.join(G2frame.dirname,fil) 172 G2frame. PatternTree.UpdateImageLoc(treeId,imagefile)172 G2frame.GPXtree.UpdateImageLoc(treeId,imagefile) 173 173 return Npix,imagefile,imagetag 174 174 pth,enddir = os.path.split(pth) … … 178 178 # & GPX was .../A/B/C/refs/fil.gpx but is now .../NEW/TEST/TEST1 179 179 # will look for .../NEW/TEST/TEST1/imgs/ima.ge, .../NEW/TEST/imgs/ima.ge, .../NEW/imgs/ima.ge and so on 180 Controls = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.root, 'Controls'))180 Controls = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.root, 'Controls')) 181 181 gpxPath = Controls.get('LastSavedAs','').replace('\\','/').split('/') # blank in older .GPX files 182 182 imgPath = imagefile.replace('\\','/').split('/') … … 194 194 print 'found image file '+os.path.join(pth,fil) 195 195 imagefile = os.path.join(pth,fil) 196 G2frame. PatternTree.UpdateImageLoc(treeId,imagefile)196 G2frame.GPXtree.UpdateImageLoc(treeId,imagefile) 197 197 return Npix,imagefile,imagetag 198 198 pth,enddir = os.path.split(pth) … … 209 209 if dlg.ShowModal() == wx.ID_OK: 210 210 imagefile = dlg.GetPath() 211 G2frame. PatternTree.UpdateImageLoc(treeId,imagefile)211 G2frame.GPXtree.UpdateImageLoc(treeId,imagefile) 212 212 else: 213 213 imagefile = False … … 283 283 ImageTag (where there is more than one image in the file), if defined. 284 284 ''' 285 ImgNames = G2gd.Get PatternTreeDataNames(G2frame,['IMG ',])285 ImgNames = G2gd.GetGPXtreeDataNames(G2frame,['IMG ',]) 286 286 TreeLbl = 'IMG '+os.path.basename(imagefile) 287 287 ImageTag = Data.get('ImageTag') … … 292 292 imageInfo = imagefile 293 293 TreeName = G2obj.MakeUniqueLabel(TreeLbl,ImgNames) 294 Id = G2frame. PatternTree.AppendItem(parent=G2frame.root,text=TreeName)295 G2frame. PatternTree.SetItemPyData(G2frame.PatternTree.AppendItem(Id,text='Comments'),Comments)294 Id = G2frame.GPXtree.AppendItem(parent=G2frame.root,text=TreeName) 295 G2frame.GPXtree.SetItemPyData(G2frame.GPXtree.AppendItem(Id,text='Comments'),Comments) 296 296 Imax = np.amax(Image) 297 297 if G2frame.imageDefault: … … 340 340 Data['setDefault'] = False 341 341 Data['range'] = [(0,Imax),[0,Imax]] 342 G2frame. PatternTree.SetItemPyData(G2frame.PatternTree.AppendItem(Id,text='Image Controls'),Data)342 G2frame.GPXtree.SetItemPyData(G2frame.GPXtree.AppendItem(Id,text='Image Controls'),Data) 343 343 Masks = {'Points':[],'Rings':[],'Arcs':[],'Polygons':[],'Frames':[],'Thresholds':[(0,Imax),[0,Imax]]} 344 G2frame. PatternTree.SetItemPyData(G2frame.PatternTree.AppendItem(Id,text='Masks'),Masks)345 G2frame. PatternTree.SetItemPyData(G2frame.PatternTree.AppendItem(Id,text='Stress/Strain'),344 G2frame.GPXtree.SetItemPyData(G2frame.GPXtree.AppendItem(Id,text='Masks'),Masks) 345 G2frame.GPXtree.SetItemPyData(G2frame.GPXtree.AppendItem(Id,text='Stress/Strain'), 346 346 {'Type':'True','d-zero':[],'Sample phi':0.0,'Sample z':0.0,'Sample load':0.0}) 347 G2frame. PatternTree.SetItemPyData(Id,[Npix,imageInfo])347 G2frame.GPXtree.SetItemPyData(Id,[Npix,imageInfo]) 348 348 G2frame.PickId = Id 349 349 G2frame.PickIdText = G2frame.GetTreeItemsList(G2frame.PickId) … … 496 496 497 497 def SaveMultipleImg(G2frame): 498 if not G2frame. PatternTree.GetCount():498 if not G2frame.GPXtree.GetCount(): 499 499 print 'no images!' 500 500 return 501 choices = G2gd.Get PatternTreeDataNames(G2frame,['IMG ',])501 choices = G2gd.GetGPXtreeDataNames(G2frame,['IMG ',]) 502 502 if len(choices) == 1: 503 503 names = choices … … 511 511 if not names: return 512 512 for name in names: 513 Id = G2gd.Get PatternTreeItemId(G2frame, G2frame.root, name)514 Npix,imagefile,imagetag = G2frame. PatternTree.GetImageLoc(Id)513 Id = G2gd.GetGPXtreeItemId(G2frame, G2frame.root, name) 514 Npix,imagefile,imagetag = G2frame.GPXtree.GetImageLoc(Id) 515 515 imroot = os.path.splitext(imagefile)[0] 516 516 if imagetag: 517 517 imroot += '_' + str(imagetag) 518 Data = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id, 'Image Controls'))518 Data = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id, 'Image Controls')) 519 519 print('Writing '+imroot+'.imctrl') 520 520 File = open(imroot+'.imctrl','w') … … 528 528 File.write(key+':'+str(Data[key])+'\n') 529 529 File.close() 530 mask = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id, 'Masks'))530 mask = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id, 'Masks')) 531 531 G2imG.CleanupMasks(mask) 532 532 print('Writing '+imroot+'.immask') … … 563 563 datum = data[0] 564 564 565 Id = G2frame. PatternTree.AppendItem(parent=G2frame.root,text=datum[0])565 Id = G2frame.GPXtree.AppendItem(parent=G2frame.root,text=datum[0]) 566 566 if datum[0].startswith('PWDR'): 567 567 if 'ranId' not in datum[1][0]: # patch: add random Id if not present 568 568 datum[1][0]['ranId'] = ran.randint(0,sys.maxint) 569 G2frame. PatternTree.SetItemPyData(Id,datum[1][:3]) #temp. trim off junk (patch?)569 G2frame.GPXtree.SetItemPyData(Id,datum[1][:3]) #temp. trim off junk (patch?) 570 570 elif datum[0].startswith('HKLF'): 571 571 if 'ranId' not in datum[1][0]: # patch: add random Id if not present 572 572 datum[1][0]['ranId'] = ran.randint(0,sys.maxint) 573 G2frame. PatternTree.SetItemPyData(Id,datum[1])573 G2frame.GPXtree.SetItemPyData(Id,datum[1]) 574 574 else: 575 G2frame. PatternTree.SetItemPyData(Id,datum[1])575 G2frame.GPXtree.SetItemPyData(Id,datum[1]) 576 576 if datum[0] == 'Controls' and 'LastSavedUsing' in datum[1]: 577 577 LastSavedUsing = datum[1]['LastSavedUsing'] … … 592 592 continue 593 593 #end PDF cleanup 594 sub = G2frame. PatternTree.AppendItem(Id,datus[0])594 sub = G2frame.GPXtree.AppendItem(Id,datus[0]) 595 595 #patch 596 596 if datus[0] == 'Instrument Parameters' and len(datus[1]) == 1: … … 602 602 datus[1][0][item] = list(datus[1][0][item]) 603 603 #end patch 604 G2frame. PatternTree.SetItemPyData(sub,datus[1])604 G2frame.GPXtree.SetItemPyData(sub,datus[1]) 605 605 if 'PDF ' in datum[0][:4] and oldPDF: 606 sub = G2frame. PatternTree.AppendItem(Id,'PDF Peaks')607 G2frame. PatternTree.SetItemPyData(sub,{'Limits':[1.,5.],'Background':[2,[0.,-0.2*np.pi],False],'Peaks':[]})606 sub = G2frame.GPXtree.AppendItem(Id,'PDF Peaks') 607 G2frame.GPXtree.SetItemPyData(sub,{'Limits':[1.,5.],'Background':[2,[0.,-0.2*np.pi],False],'Peaks':[]}) 608 608 if datum[0].startswith('IMG'): #retrieve image default flag & data if set 609 Data = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Image Controls'))609 Data = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Image Controls')) 610 610 if Data['setDefault']: 611 611 G2frame.imageDefault = Data … … 627 627 def ProjFileSave(G2frame): 628 628 'Save a GSAS-II project file' 629 if not G2frame. PatternTree.IsEmpty():629 if not G2frame.GPXtree.IsEmpty(): 630 630 file = open(G2frame.GSASprojectfile,'wb') 631 631 print 'save to file: ',G2frame.GSASprojectfile … … 633 633 # (Controls should always be created at this point) 634 634 try: 635 Controls = G2frame. PatternTree.GetItemPyData(636 G2gd.Get PatternTreeItemId(G2frame,G2frame.root, 'Controls'))635 Controls = G2frame.GPXtree.GetItemPyData( 636 G2gd.GetGPXtreeItemId(G2frame,G2frame.root, 'Controls')) 637 637 Controls['LastSavedAs'] = os.path.abspath(G2frame.GSASprojectfile) 638 638 Controls['LastSavedUsing'] = str(GSASIIpath.GetVersionNumber()) … … 642 642 wx.BeginBusyCursor() 643 643 try: 644 item, cookie = G2frame. PatternTree.GetFirstChild(G2frame.root)644 item, cookie = G2frame.GPXtree.GetFirstChild(G2frame.root) 645 645 while item: 646 646 data = [] 647 name = G2frame. PatternTree.GetItemText(item)648 data.append([name,G2frame. PatternTree.GetItemPyData(item)])649 item2, cookie2 = G2frame. PatternTree.GetFirstChild(item)647 name = G2frame.GPXtree.GetItemText(item) 648 data.append([name,G2frame.GPXtree.GetItemPyData(item)]) 649 item2, cookie2 = G2frame.GPXtree.GetFirstChild(item) 650 650 while item2: 651 name = G2frame. PatternTree.GetItemText(item2)652 data.append([name,G2frame. PatternTree.GetItemPyData(item2)])653 item2, cookie2 = G2frame. PatternTree.GetNextChild(item, cookie2)654 item, cookie = G2frame. PatternTree.GetNextChild(G2frame.root, cookie)651 name = G2frame.GPXtree.GetItemText(item2) 652 data.append([name,G2frame.GPXtree.GetItemPyData(item2)]) 653 item2, cookie2 = G2frame.GPXtree.GetNextChild(item, cookie2) 654 item, cookie = G2frame.GPXtree.GetNextChild(G2frame.root, cookie) 655 655 cPickle.dump(data,file,1) 656 656 file.close() … … 667 667 X = G2frame.Integrate[2][:-1] 668 668 N = len(X) 669 Id = G2frame. PatternTree.GetItemParent(PickId)670 name = G2frame. PatternTree.GetItemText(Id)669 Id = G2frame.GPXtree.GetItemParent(PickId) 670 name = G2frame.GPXtree.GetItemText(Id) 671 671 name = name.replace('IMG ',data['type']+' ') 672 Comments = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id, 'Comments'))672 Comments = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id, 'Comments')) 673 673 if 'PWDR' in name: 674 674 names = ['Type','Lam','Zero','Polariz.','U','V','W','X','Y','SH/L','Azimuth'] … … 693 693 for i,azm in enumerate(azms[:-1]): 694 694 Aname = name+" Azm= %.2f"%((azm+dazm)%360.) 695 item, cookie = G2frame. PatternTree.GetFirstChild(G2frame.root)695 item, cookie = G2frame.GPXtree.GetFirstChild(G2frame.root) 696 696 # if Overwrite delete any duplicate 697 if Overwrite and G2gd.Get PatternTreeItemId(G2frame,G2frame.root,Aname):697 if Overwrite and G2gd.GetGPXtreeItemId(G2frame,G2frame.root,Aname): 698 698 print('Replacing '+Aname) 699 item = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,Aname)700 G2frame. PatternTree.Delete(item)699 item = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,Aname) 700 G2frame.GPXtree.Delete(item) 701 701 else: 702 702 nOcc = 0 703 703 while item: 704 Name = G2frame. PatternTree.GetItemText(item)704 Name = G2frame.GPXtree.GetItemText(item) 705 705 if Aname in Name: 706 706 nOcc += 1 707 item, cookie = G2frame. PatternTree.GetNextChild(G2frame.root, cookie)707 item, cookie = G2frame.GPXtree.GetNextChild(G2frame.root, cookie) 708 708 if nOcc: 709 709 Aname += '(%d)'%(nOcc) … … 730 730 Ymax = np.max(Y) 731 731 W = np.where(Y>0.,1./Y,1.e-6) #probably not true 732 Id = G2frame. PatternTree.AppendItem(parent=G2frame.root,text=Aname)732 Id = G2frame.GPXtree.AppendItem(parent=G2frame.root,text=Aname) 733 733 G2frame.IntgOutList.append(Id) 734 G2frame. PatternTree.SetItemPyData(G2frame.PatternTree.AppendItem(Id,text='Comments'),Comments)735 G2frame. PatternTree.SetItemPyData(G2frame.PatternTree.AppendItem(Id,text='Limits'),[tuple(Xminmax),Xminmax])734 G2frame.GPXtree.SetItemPyData(G2frame.GPXtree.AppendItem(Id,text='Comments'),Comments) 735 G2frame.GPXtree.SetItemPyData(G2frame.GPXtree.AppendItem(Id,text='Limits'),[tuple(Xminmax),Xminmax]) 736 736 if 'PWDR' in Aname: 737 G2frame. PatternTree.SetItemPyData(G2frame.PatternTree.AppendItem(Id,text='Background'),[['chebyschev',1,3,1.0,0.0,0.0],737 G2frame.GPXtree.SetItemPyData(G2frame.GPXtree.AppendItem(Id,text='Background'),[['chebyschev',1,3,1.0,0.0,0.0], 738 738 {'nDebye':0,'debyeTerms':[],'nPeaks':0,'peaksList':[]}]) 739 739 inst = [dict(zip(names,zip(parms,parms,codes))),{}] 740 740 for item in inst[0]: 741 741 inst[0][item] = list(inst[0][item]) 742 G2frame. PatternTree.SetItemPyData(G2frame.PatternTree.AppendItem(Id,text='Instrument Parameters'),inst)742 G2frame.GPXtree.SetItemPyData(G2frame.GPXtree.AppendItem(Id,text='Instrument Parameters'),inst) 743 743 if 'PWDR' in Aname: 744 G2frame. PatternTree.SetItemPyData(G2frame.PatternTree.AppendItem(Id,text='Sample Parameters'),Sample)745 G2frame. PatternTree.SetItemPyData(G2frame.PatternTree.AppendItem(Id,text='Peak List'),{'sigDict':{},'peaks':[]})746 G2frame. PatternTree.SetItemPyData(G2frame.PatternTree.AppendItem(Id,text='Index Peak List'),[[],[]])747 G2frame. PatternTree.SetItemPyData(G2frame.PatternTree.AppendItem(Id,text='Unit Cells List'),[])748 G2frame. PatternTree.SetItemPyData(G2frame.PatternTree.AppendItem(Id,text='Reflection Lists'),{})744 G2frame.GPXtree.SetItemPyData(G2frame.GPXtree.AppendItem(Id,text='Sample Parameters'),Sample) 745 G2frame.GPXtree.SetItemPyData(G2frame.GPXtree.AppendItem(Id,text='Peak List'),{'sigDict':{},'peaks':[]}) 746 G2frame.GPXtree.SetItemPyData(G2frame.GPXtree.AppendItem(Id,text='Index Peak List'),[[],[]]) 747 G2frame.GPXtree.SetItemPyData(G2frame.GPXtree.AppendItem(Id,text='Unit Cells List'),[]) 748 G2frame.GPXtree.SetItemPyData(G2frame.GPXtree.AppendItem(Id,text='Reflection Lists'),{}) 749 749 elif 'SASD' in Aname: 750 G2frame. PatternTree.SetItemPyData(G2frame.PatternTree.AppendItem(Id,text='Substances'),G2pdG.SetDefaultSubstances())751 G2frame. PatternTree.SetItemPyData(G2frame.PatternTree.AppendItem(Id,text='Sample Parameters'),Sample)752 G2frame. PatternTree.SetItemPyData(G2frame.PatternTree.AppendItem(Id,text='Models'),G2pdG.SetDefaultSASDModel())750 G2frame.GPXtree.SetItemPyData(G2frame.GPXtree.AppendItem(Id,text='Substances'),G2pdG.SetDefaultSubstances()) 751 G2frame.GPXtree.SetItemPyData(G2frame.GPXtree.AppendItem(Id,text='Sample Parameters'),Sample) 752 G2frame.GPXtree.SetItemPyData(G2frame.GPXtree.AppendItem(Id,text='Models'),G2pdG.SetDefaultSASDModel()) 753 753 valuesdict = { 754 754 'wtFactor':1.0, … … 758 758 'qPlot':False,'dPlot':False,'sqrtPlot':False,'Yminmax':[Ymin,Ymax] 759 759 } 760 G2frame. PatternTree.SetItemPyData(760 G2frame.GPXtree.SetItemPyData( 761 761 Id,[valuesdict, 762 762 [np.array(X),np.array(Y),np.array(W),np.zeros(N),np.zeros(N),np.zeros(N)]]) … … 795 795 import scipy.interpolate as scintp 796 796 for export in exports: 797 PickId = G2gd.Get PatternTreeItemId(G2frame, G2frame.root, export)798 PDFControls = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame, PickId,'PDF Controls'))797 PickId = G2gd.GetGPXtreeItemId(G2frame, G2frame.root, export) 798 PDFControls = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame, PickId,'PDF Controls')) 799 799 if PDFsaves[0]: #I(Q) 800 800 iqfilename = ospath.join(G2frame.dirname,export.replace(' ','_')[5:]+'.iq') … … 854 854 855 855 if PDFsaves[4]: #pdfGUI file for G(R) 856 pId = G2gd.Get PatternTreeItemId(G2frame, G2frame.root, 'PWDR'+export[4:])857 Inst = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame, pId,'Instrument Parameters'))[0]858 Limits = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame, pId,'Limits'))856 pId = G2gd.GetGPXtreeItemId(G2frame, G2frame.root, 'PWDR'+export[4:]) 857 Inst = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame, pId,'Instrument Parameters'))[0] 858 Limits = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame, pId,'Limits')) 859 859 grfilename = ospath.join(G2frame.dirname,export.replace(' ','_')[5:]+'.gr') 860 860 grdata = PDFControls['G(R)'][1] … … 1464 1464 consDict = {} 1465 1465 Histograms,Phases = self.G2frame.GetUsedHistogramsAndPhasesfromTree() 1466 if self.G2frame. PatternTree.IsEmpty(): return # nothing to do1467 item, cookie = self.G2frame. PatternTree.GetFirstChild(self.G2frame.root)1466 if self.G2frame.GPXtree.IsEmpty(): return # nothing to do 1467 item, cookie = self.G2frame.GPXtree.GetFirstChild(self.G2frame.root) 1468 1468 while item: 1469 name = self.G2frame. PatternTree.GetItemText(item)1469 name = self.G2frame.GPXtree.GetItemText(item) 1470 1470 if name == 'Rigid bodies': 1471 rigidbodyDict = self.G2frame. PatternTree.GetItemPyData(item)1471 rigidbodyDict = self.G2frame.GPXtree.GetItemPyData(item) 1472 1472 elif name == 'Covariance': 1473 covDict = self.G2frame. PatternTree.GetItemPyData(item)1473 covDict = self.G2frame.GPXtree.GetItemPyData(item) 1474 1474 elif name == 'Constraints': 1475 consDict = self.G2frame. PatternTree.GetItemPyData(item)1476 item, cookie = self.G2frame. PatternTree.GetNextChild(self.G2frame.root, cookie)1475 consDict = self.G2frame.GPXtree.GetItemPyData(item) 1476 item, cookie = self.G2frame.GPXtree.GetNextChild(self.G2frame.root, cookie) 1477 1477 rbVary,rbDict = G2stIO.GetRigidBodyModels(rigidbodyDict,Print=False) 1478 1478 self.parmDict.update(rbDict) … … 1544 1544 self.SeqRefdata = None 1545 1545 self.SeqRefhist = None 1546 if self.G2frame. PatternTree.IsEmpty(): return # nothing to do1546 if self.G2frame.GPXtree.IsEmpty(): return # nothing to do 1547 1547 histType = None 1548 1548 if self.currentExportType == 'phase': 1549 1549 # if exporting phases load them here 1550 sub = G2gd.Get PatternTreeItemId(self.G2frame,self.G2frame.root,'Phases')1550 sub = G2gd.GetGPXtreeItemId(self.G2frame,self.G2frame.root,'Phases') 1551 1551 if not sub: 1552 1552 print 'no phases found' 1553 1553 return True 1554 item, cookie = self.G2frame. PatternTree.GetFirstChild(sub)1554 item, cookie = self.G2frame.GPXtree.GetFirstChild(sub) 1555 1555 while item: 1556 phaseName = self.G2frame. PatternTree.GetItemText(item)1557 self.Phases[phaseName] = self.G2frame. PatternTree.GetItemPyData(item)1558 item, cookie = self.G2frame. PatternTree.GetNextChild(sub, cookie)1556 phaseName = self.G2frame.GPXtree.GetItemText(item) 1557 self.Phases[phaseName] = self.G2frame.GPXtree.GetItemPyData(item) 1558 item, cookie = self.G2frame.GPXtree.GetNextChild(sub, cookie) 1559 1559 return 1560 1560 elif self.currentExportType == 'single': … … 1566 1566 1567 1567 if histType: # Loading just one kind of tree entry 1568 item, cookie = self.G2frame. PatternTree.GetFirstChild(self.G2frame.root)1568 item, cookie = self.G2frame.GPXtree.GetFirstChild(self.G2frame.root) 1569 1569 while item: 1570 name = self.G2frame. PatternTree.GetItemText(item)1570 name = self.G2frame.GPXtree.GetItemText(item) 1571 1571 if name.startswith(histType): 1572 1572 if self.Histograms.get(name): # there is already an item with this name … … 1582 1582 # element contains refinement results, carry 1583 1583 # that over too now. 1584 self.Histograms[name]['Data'] = self.G2frame. PatternTree.GetItemPyData(item)[1]1585 self.Histograms[name][0] = self.G2frame. PatternTree.GetItemPyData(item)[0]1586 item2, cookie2 = self.G2frame. PatternTree.GetFirstChild(item)1584 self.Histograms[name]['Data'] = self.G2frame.GPXtree.GetItemPyData(item)[1] 1585 self.Histograms[name][0] = self.G2frame.GPXtree.GetItemPyData(item)[0] 1586 item2, cookie2 = self.G2frame.GPXtree.GetFirstChild(item) 1587 1587 while item2: 1588 child = self.G2frame. PatternTree.GetItemText(item2)1589 self.Histograms[name][child] = self.G2frame. PatternTree.GetItemPyData(item2)1590 item2, cookie2 = self.G2frame. PatternTree.GetNextChild(item, cookie2)1591 item, cookie = self.G2frame. PatternTree.GetNextChild(self.G2frame.root, cookie)1588 child = self.G2frame.GPXtree.GetItemText(item2) 1589 self.Histograms[name][child] = self.G2frame.GPXtree.GetItemPyData(item2) 1590 item2, cookie2 = self.G2frame.GPXtree.GetNextChild(item, cookie2) 1591 item, cookie = self.G2frame.GPXtree.GetNextChild(self.G2frame.root, cookie) 1592 1592 # index powder and single crystal histograms by number 1593 1593 for hist in self.Histograms: … … 1607 1607 # else standard load: using all interlinked phases and histograms 1608 1608 self.Histograms,self.Phases = self.G2frame.GetUsedHistogramsAndPhasesfromTree() 1609 item, cookie = self.G2frame. PatternTree.GetFirstChild(self.G2frame.root)1609 item, cookie = self.G2frame.GPXtree.GetFirstChild(self.G2frame.root) 1610 1610 while item: 1611 name = self.G2frame. PatternTree.GetItemText(item)1612 item2, cookie2 = self.G2frame. PatternTree.GetFirstChild(item)1611 name = self.G2frame.GPXtree.GetItemText(item) 1612 item2, cookie2 = self.G2frame.GPXtree.GetFirstChild(item) 1613 1613 if not item2: 1614 self.OverallParms[name] = self.G2frame. PatternTree.GetItemPyData(item)1615 item, cookie = self.G2frame. PatternTree.GetNextChild(self.G2frame.root, cookie)1614 self.OverallParms[name] = self.G2frame.GPXtree.GetItemPyData(item) 1615 item, cookie = self.G2frame.GPXtree.GetNextChild(self.G2frame.root, cookie) 1616 1616 # index powder and single crystal histograms 1617 1617 for hist in self.Histograms: -
TabularUnified branch/2frame/GSASIIconstrGUI.py ¶
r2900 r2905 224 224 print str(key) + ': '+str(j)+' variable(s) as strings converted to objects' 225 225 ################################################################################## 226 rigidbodyDict = G2frame. PatternTree.GetItemPyData(227 G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Rigid bodies'))226 rigidbodyDict = G2frame.GPXtree.GetItemPyData( 227 G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Rigid bodies')) 228 228 rbIds = rigidbodyDict.get('RBIds',{'Vector':[],'Residue':[]}) 229 229 rbVary,rbDict = G2stIO.GetRigidBodyModels(rigidbodyDict,Print=False) … … 1207 1207 oAcof = G2lat.cell2A(oldPhase['General']['Cell'][1:7]) 1208 1208 nAcof = G2lat.cell2A(newPhase['General']['Cell'][1:7]) 1209 item = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Constraints')1210 constraints = G2frame. PatternTree.GetItemPyData(item)1209 item = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Constraints') 1210 constraints = G2frame.GPXtree.GetItemPyData(item) 1211 1211 # GSASIIpath.IPyBreak() 1212 1212 parmDict = {} -
TabularUnified branch/2frame/GSASIIctrlGUI.py ¶
r2900 r2905 1588 1588 # SelectEdit1Var execution begins here 1589 1589 saveArray = copy.deepcopy(array) # keep original values 1590 TreeItemType = G2frame. PatternTree.GetItemText(G2frame.PickId)1590 TreeItemType = G2frame.GPXtree.GetItemText(G2frame.PickId) 1591 1591 copyopts = {'InTable':False,"startvalue":None,'currentsel':None} 1592 hst = G2frame. PatternTree.GetItemText(G2frame.PatternId)1592 hst = G2frame.GPXtree.GetItemText(G2frame.PatternId) 1593 1593 histList = G2pdG.GetHistsLikeSelected(G2frame) 1594 1594 if not histList: … … 1668 1668 else: 1669 1669 refdictlst = None 1670 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,hst)1671 hstData = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Instrument Parameters'))[0]1670 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,hst) 1671 hstData = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Instrument Parameters'))[0] 1672 1672 for h in copyList: 1673 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,h)1674 instData = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Instrument Parameters'))[0]1673 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,h) 1674 instData = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Instrument Parameters'))[0] 1675 1675 if len(hstData) != len(instData) or hstData['Type'][0] != instData['Type'][0]: #don't mix data types or lam & lam1/lam2 parms! 1676 1676 print h+' not copied - instrument parameters not commensurate' 1677 1677 continue 1678 hData = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,TreeItemType))1678 hData = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,TreeItemType)) 1679 1679 if TreeItemType == 'Instrument Parameters': 1680 1680 hData = hData[0] -
TabularUnified branch/2frame/GSASIIdataGUI.py ¶
r2900 r2905 744 744 contents of the Controls 'Seq Data' item (if present) 745 745 ''' 746 controls = self. PatternTree.GetItemPyData(GetPatternTreeItemId(self,self.root, 'Controls'))746 controls = self.GPXtree.GetItemPyData(GetGPXtreeItemId(self,self.root, 'Controls')) 747 747 if controls.get('Seq Data'): 748 748 for i in self.SeqRefine: i.Enable(True) … … 1070 1070 newPhaseList.append(PhaseName) 1071 1071 print(u'Read phase {} from file {}'.format(PhaseName,self.lastimport)) 1072 if not Get PatternTreeItemId(self,self.root,'Phases'):1073 sub = self. PatternTree.AppendItem(parent=self.root,text='Phases')1072 if not GetGPXtreeItemId(self,self.root,'Phases'): 1073 sub = self.GPXtree.AppendItem(parent=self.root,text='Phases') 1074 1074 else: 1075 sub = Get PatternTreeItemId(self,self.root,'Phases')1076 psub = self. PatternTree.AppendItem(parent=sub,text=PhaseName)1077 self. PatternTree.SetItemPyData(psub,rd.Phase)1078 self. PatternTree.Expand(self.root) # make sure phases are seen1079 self. PatternTree.Expand(sub)1080 self. PatternTree.Expand(psub)1075 sub = GetGPXtreeItemId(self,self.root,'Phases') 1076 psub = self.GPXtree.AppendItem(parent=sub,text=PhaseName) 1077 self.GPXtree.SetItemPyData(psub,rd.Phase) 1078 self.GPXtree.Expand(self.root) # make sure phases are seen 1079 self.GPXtree.Expand(sub) 1080 self.GPXtree.Expand(psub) 1081 1081 wx.CallAfter(SelectDataTreeItem,self,psub) #bring up new phase General tab 1082 1082 1083 1083 if rd.Constraints: 1084 sub = Get PatternTreeItemId(self,self.root,'Constraints') # was created in CheckNotebook if needed1085 Constraints = self. PatternTree.GetItemPyData(sub)1084 sub = GetGPXtreeItemId(self,self.root,'Constraints') # was created in CheckNotebook if needed 1085 Constraints = self.GPXtree.GetItemPyData(sub) 1086 1086 # TODO: make sure that NEWVAR names are unique here? 1087 1087 for i in rd.Constraints: … … 1096 1096 PWDRlist = [] 1097 1097 HKLFlist = [] 1098 if self. PatternTree.GetCount():1099 item, cookie = self. PatternTree.GetFirstChild(self.root)1098 if self.GPXtree.GetCount(): 1099 item, cookie = self.GPXtree.GetFirstChild(self.root) 1100 1100 while item: 1101 name = self. PatternTree.GetItemText(item)1101 name = self.GPXtree.GetItemText(item) 1102 1102 if name.startswith('PWDR ') and name not in PWDRlist: 1103 1103 PWDRlist.append(name) 1104 1104 if name.startswith('HKLF ') and name not in HKLFlist: 1105 1105 HKLFlist.append(name) 1106 item, cookie = self. PatternTree.GetNextChild(self.root, cookie)1106 item, cookie = self.GPXtree.GetNextChild(self.root, cookie) 1107 1107 TextList = PWDRlist + HKLFlist 1108 1108 if not TextList: … … 1131 1131 notOK = False 1132 1132 # connect new phases to histograms 1133 sub = Get PatternTreeItemId(self,self.root,'Phases')1133 sub = GetGPXtreeItemId(self,self.root,'Phases') 1134 1134 if not sub: 1135 1135 raise Exception('ERROR -- why are there no phases here?') 1136 1136 wx.BeginBusyCursor() 1137 item, cookie = self. PatternTree.GetFirstChild(sub)1137 item, cookie = self.GPXtree.GetFirstChild(sub) 1138 1138 while item: # loop over (new) phases 1139 phaseName = self. PatternTree.GetItemText(item)1140 data = self. PatternTree.GetItemPyData(item)1141 item, cookie = self. PatternTree.GetNextChild(sub, cookie)1139 phaseName = self.GPXtree.GetItemText(item) 1140 data = self.GPXtree.GetItemPyData(item) 1141 item, cookie = self.GPXtree.GetNextChild(sub, cookie) 1142 1142 if phaseName not in newPhaseList: continue 1143 1143 generalData = data['General'] … … 1154 1154 if histoName in HKLFlist: 1155 1155 #redo UpdateHKLFdata(histoName) here: 1156 Id = Get PatternTreeItemId(self,self.root,histoName)1157 refDict,reflData = self. PatternTree.GetItemPyData(Id)1156 Id = GetGPXtreeItemId(self,self.root,histoName) 1157 refDict,reflData = self.GPXtree.GetItemPyData(Id) 1158 1158 G,g = G2lat.cell2Gmat(generalData['Cell'][1:7]) 1159 1159 Super = reflData.get('Super',0) … … 1176 1176 UseList[histoName] = SetDefaultDData(reflData['Type'],histoName) 1177 1177 elif histoName in PWDRlist: 1178 Id = Get PatternTreeItemId(self,self.root,histoName)1179 refList = self. PatternTree.GetItemPyData(1180 Get PatternTreeItemId(self,Id,'Reflection Lists'))1178 Id = GetGPXtreeItemId(self,self.root,histoName) 1179 refList = self.GPXtree.GetItemPyData( 1180 GetGPXtreeItemId(self,Id,'Reflection Lists')) 1181 1181 refList[generalData['Name']] = {} 1182 1182 UseList[histoName] = SetDefaultDData('PWDR',histoName,NShkl=NShkl,NDij=NDij) … … 1219 1219 'image',multiple=True,Preview=False,load2Tree=True) 1220 1220 if rdlist: 1221 self. PatternTree.SelectItem(GetPatternTreeItemId(self,self.Image,'Image Controls')) #show last image to have beeen read1221 self.GPXtree.SelectItem(GetGPXtreeItemId(self,self.Image,'Image Controls')) #show last image to have beeen read 1222 1222 1223 1223 def _Add_ImportMenu_Sfact(self,parent): … … 1248 1248 # get a list of existing histograms 1249 1249 HKLFlist = [] 1250 if self. PatternTree.GetCount():1251 item, cookie = self. PatternTree.GetFirstChild(self.root)1250 if self.GPXtree.GetCount(): 1251 item, cookie = self.GPXtree.GetFirstChild(self.root) 1252 1252 while item: 1253 name = self. PatternTree.GetItemText(item)1253 name = self.GPXtree.GetItemText(item) 1254 1254 if name.startswith('HKLF ') and name not in HKLFlist: 1255 1255 HKLFlist.append(name) 1256 item, cookie = self. PatternTree.GetNextChild(self.root, cookie)1256 item, cookie = self.GPXtree.GetNextChild(self.root, cookie) 1257 1257 # look up which format was requested 1258 1258 reqrdr = self.ImportMenuId.get(event.GetId()) … … 1280 1280 HistName = G2obj.MakeUniqueLabel(HistName,HKLFlist) 1281 1281 print 'Read structure factor table '+HistName+' from file '+self.lastimport 1282 Id = self. PatternTree.AppendItem(parent=self.root,text=HistName)1282 Id = self.GPXtree.AppendItem(parent=self.root,text=HistName) 1283 1283 if not Bank['RefDict'].get('FF'): 1284 1284 Bank['RefDict']['FF'] = {} 1285 self. PatternTree.SetItemPyData(Id,[valuesdict,Bank['RefDict']])1286 Sub = self. PatternTree.AppendItem(Id,text='Instrument Parameters')1287 self. PatternTree.SetItemPyData(Sub,copy.copy(rd.Parameters))1288 self. PatternTree.SetItemPyData(1289 self. PatternTree.AppendItem(Id,text='Reflection List'),{}) #dummy entry for GUI use1285 self.GPXtree.SetItemPyData(Id,[valuesdict,Bank['RefDict']]) 1286 Sub = self.GPXtree.AppendItem(Id,text='Instrument Parameters') 1287 self.GPXtree.SetItemPyData(Sub,copy.copy(rd.Parameters)) 1288 self.GPXtree.SetItemPyData( 1289 self.GPXtree.AppendItem(Id,text='Reflection List'),{}) #dummy entry for GUI use 1290 1290 newHistList.append(HistName) 1291 1291 else: … … 1295 1295 if not rd.RefDict.get('FF'): 1296 1296 rd.RefDict['FF'] = {} 1297 Id = self. PatternTree.AppendItem(parent=self.root,text=HistName)1298 self. PatternTree.SetItemPyData(Id,[valuesdict,rd.RefDict])1299 Sub = self. PatternTree.AppendItem(Id,text='Instrument Parameters')1300 self. PatternTree.SetItemPyData(Sub,rd.Parameters)1301 self. PatternTree.SetItemPyData(1302 self. PatternTree.AppendItem(Id,text='Reflection List'),{}) #dummy entry for GUI use1297 Id = self.GPXtree.AppendItem(parent=self.root,text=HistName) 1298 self.GPXtree.SetItemPyData(Id,[valuesdict,rd.RefDict]) 1299 Sub = self.GPXtree.AppendItem(Id,text='Instrument Parameters') 1300 self.GPXtree.SetItemPyData(Sub,rd.Parameters) 1301 self.GPXtree.SetItemPyData( 1302 self.GPXtree.AppendItem(Id,text='Reflection List'),{}) #dummy entry for GUI use 1303 1303 newHistList.append(HistName) 1304 1304 1305 self. PatternTree.SelectItem(Id)1306 self. PatternTree.Expand(Id)1305 self.GPXtree.SelectItem(Id) 1306 self.GPXtree.Expand(Id) 1307 1307 self.Sngl = True 1308 1308 … … 1318 1318 if not result: return 1319 1319 # connect new phases to histograms 1320 sub = Get PatternTreeItemId(self,self.root,'Phases')1320 sub = GetGPXtreeItemId(self,self.root,'Phases') 1321 1321 if not sub: 1322 1322 raise Exception('ERROR -- why are there no phases here?') 1323 1323 wx.BeginBusyCursor() 1324 item, cookie = self. PatternTree.GetFirstChild(sub)1324 item, cookie = self.GPXtree.GetFirstChild(sub) 1325 1325 iph = -1 1326 1326 while item: # loop over (new) phases 1327 1327 iph += 1 1328 data = self. PatternTree.GetItemPyData(item)1329 item, cookie = self. PatternTree.GetNextChild(sub, cookie)1328 data = self.GPXtree.GetItemPyData(item) 1329 item, cookie = self.GPXtree.GetNextChild(sub, cookie) 1330 1330 if iph not in result: continue 1331 1331 generalData = data['General'] … … 1338 1338 for histoName in newHistList: 1339 1339 #redo UpdateHKLFdata(histoName) here: 1340 Id = Get PatternTreeItemId(self,self.root,histoName)1341 refDict,reflData = self. PatternTree.GetItemPyData(Id)1340 Id = GetGPXtreeItemId(self,self.root,histoName) 1341 refDict,reflData = self.GPXtree.GetItemPyData(Id) 1342 1342 UseList[histoName] = SetDefaultDData(reflData['Type'],histoName) 1343 1343 G,g = G2lat.cell2Gmat(generalData['Cell'][1:7]) … … 1884 1884 haveData = False 1885 1885 # check for phases connected to histograms 1886 sub = Get PatternTreeItemId(self,self.root,'Phases')1886 sub = GetGPXtreeItemId(self,self.root,'Phases') 1887 1887 if not sub: return 1888 item, cookie = self. PatternTree.GetFirstChild(sub)1888 item, cookie = self.GPXtree.GetFirstChild(sub) 1889 1889 while item: # loop over phases 1890 data = self. PatternTree.GetItemPyData(item)1891 item, cookie = self. PatternTree.GetNextChild(sub, cookie)1890 data = self.GPXtree.GetItemPyData(item) 1891 item, cookie = self.GPXtree.GetNextChild(sub, cookie) 1892 1892 UseList = data['Histograms'] 1893 1893 if UseList: haveData = True … … 1912 1912 # get a list of existing histograms 1913 1913 PWDRlist = [] 1914 if self. PatternTree.GetCount():1915 item, cookie = self. PatternTree.GetFirstChild(self.root)1914 if self.GPXtree.GetCount(): 1915 item, cookie = self.GPXtree.GetFirstChild(self.root) 1916 1916 while item: 1917 name = self. PatternTree.GetItemText(item)1917 name = self.GPXtree.GetItemText(item) 1918 1918 if name.startswith('PWDR ') and name not in PWDRlist: 1919 1919 PWDRlist.append(name) 1920 item, cookie = self. PatternTree.GetNextChild(self.root, cookie)1920 item, cookie = self.GPXtree.GetNextChild(self.root, cookie) 1921 1921 # look up which format was requested 1922 1922 reqrdr = self.ImportMenuId.get(event.GetId()) … … 1968 1968 '). Inst parameters from '+rd.instmsg) 1969 1969 # data are read, now store them in the tree 1970 Id = self. PatternTree.AppendItem(parent=self.root,text=HistName)1970 Id = self.GPXtree.AppendItem(parent=self.root,text=HistName) 1971 1971 if 'T' in Iparm1['Type'][0]: 1972 1972 if not rd.clockWd and rd.GSAS: … … 2018 2018 del Iparm1['CorrectionCode'] 2019 2019 rd.Sample['ranId'] = valuesdict['ranId'] # this should be removed someday 2020 self. PatternTree.SetItemPyData(Id,[valuesdict,rd.powderdata])2021 self. PatternTree.SetItemPyData(2022 self. PatternTree.AppendItem(Id,text='Comments'),2020 self.GPXtree.SetItemPyData(Id,[valuesdict,rd.powderdata]) 2021 self.GPXtree.SetItemPyData( 2022 self.GPXtree.AppendItem(Id,text='Comments'), 2023 2023 rd.comments) 2024 2024 Tmin = min(rd.powderdata[0]) … … 2027 2027 if 'NT' in Iparm1['Type'][0] and G2lat.Pos2dsp(Iparm1,Tmin) < 0.4: 2028 2028 Tmin1 = G2lat.Dsp2pos(Iparm1,0.4) 2029 self. PatternTree.SetItemPyData(2030 self. PatternTree.AppendItem(Id,text='Limits'),2029 self.GPXtree.SetItemPyData( 2030 self.GPXtree.AppendItem(Id,text='Limits'), 2031 2031 rd.pwdparms.get('Limits',[(Tmin,Tmax),[Tmin1,Tmax]]) 2032 2032 ) 2033 self.PatternId = Get PatternTreeItemId(self,Id,'Limits')2034 self. PatternTree.SetItemPyData(2035 self. PatternTree.AppendItem(Id,text='Background'),2033 self.PatternId = GetGPXtreeItemId(self,Id,'Limits') 2034 self.GPXtree.SetItemPyData( 2035 self.GPXtree.AppendItem(Id,text='Background'), 2036 2036 rd.pwdparms.get('Background', 2037 2037 [['chebyschev',True,3,1.0,0.0,0.0],{'nDebye':0,'debyeTerms':[],'nPeaks':0,'peaksList':[]}]) 2038 2038 ) 2039 self. PatternTree.SetItemPyData(2040 self. PatternTree.AppendItem(Id,text='Instrument Parameters'),2039 self.GPXtree.SetItemPyData( 2040 self.GPXtree.AppendItem(Id,text='Instrument Parameters'), 2041 2041 [Iparm1,Iparm2]) 2042 self. PatternTree.SetItemPyData(2043 self. PatternTree.AppendItem(Id,text='Sample Parameters'),2042 self.GPXtree.SetItemPyData( 2043 self.GPXtree.AppendItem(Id,text='Sample Parameters'), 2044 2044 rd.Sample) 2045 self. PatternTree.SetItemPyData(2046 self. PatternTree.AppendItem(Id,text='Peak List')2045 self.GPXtree.SetItemPyData( 2046 self.GPXtree.AppendItem(Id,text='Peak List') 2047 2047 ,{'peaks':[],'sigDict':{}}) 2048 self. PatternTree.SetItemPyData(2049 self. PatternTree.AppendItem(Id,text='Index Peak List'),2048 self.GPXtree.SetItemPyData( 2049 self.GPXtree.AppendItem(Id,text='Index Peak List'), 2050 2050 [[],[]]) 2051 self. PatternTree.SetItemPyData(2052 self. PatternTree.AppendItem(Id,text='Unit Cells List'),2051 self.GPXtree.SetItemPyData( 2052 self.GPXtree.AppendItem(Id,text='Unit Cells List'), 2053 2053 []) 2054 self. PatternTree.SetItemPyData(2055 self. PatternTree.AppendItem(Id,text='Reflection Lists'),2054 self.GPXtree.SetItemPyData( 2055 self.GPXtree.AppendItem(Id,text='Reflection Lists'), 2056 2056 {}) 2057 2057 # if any Control values have been set, move them into tree 2058 Controls = self. PatternTree.GetItemPyData(GetPatternTreeItemId(self,self.root, 'Controls'))2058 Controls = self.GPXtree.GetItemPyData(GetGPXtreeItemId(self,self.root, 'Controls')) 2059 2059 Controls.update(rd.Controls) 2060 2060 newHistList.append(HistName) … … 2063 2063 self.EnablePlot = True 2064 2064 if Id: 2065 self. PatternTree.Expand(Id)2066 self. PatternTree.SelectItem(Id)2065 self.GPXtree.Expand(Id) 2066 self.GPXtree.SelectItem(Id) 2067 2067 2068 2068 if not newHistList: return # somehow, no new histograms … … 2078 2078 if not result: return 2079 2079 # connect new phases to histograms 2080 sub = Get PatternTreeItemId(self,self.root,'Phases')2080 sub = GetGPXtreeItemId(self,self.root,'Phases') 2081 2081 if not sub: 2082 2082 raise Exception('ERROR -- why are there no phases here?') 2083 item, cookie = self. PatternTree.GetFirstChild(sub)2083 item, cookie = self.GPXtree.GetFirstChild(sub) 2084 2084 iph = -1 2085 2085 while item: # loop over (new) phases 2086 2086 iph += 1 2087 data = self. PatternTree.GetItemPyData(item)2088 item, cookie = self. PatternTree.GetNextChild(sub, cookie)2087 data = self.GPXtree.GetItemPyData(item) 2088 item, cookie = self.GPXtree.GetNextChild(sub, cookie) 2089 2089 if iph not in result: continue 2090 2090 generalData = data['General'] … … 2095 2095 for histoName in newHistList: 2096 2096 UseList[histoName] = SetDefaultDData('PWDR',histoName,NShkl=NShkl,NDij=NDij) 2097 Id = Get PatternTreeItemId(self,self.root,histoName)2098 refList = self. PatternTree.GetItemPyData(2099 Get PatternTreeItemId(self,Id,'Reflection Lists'))2097 Id = GetGPXtreeItemId(self,self.root,histoName) 2098 refList = self.GPXtree.GetItemPyData( 2099 GetGPXtreeItemId(self,Id,'Reflection Lists')) 2100 2100 refList[generalData['Name']] = [] 2101 2101 self.EnableRefineCommand() … … 2110 2110 # get a list of existing histograms 2111 2111 PWDRlist = [] 2112 if self. PatternTree.GetCount():2113 item, cookie = self. PatternTree.GetFirstChild(self.root)2112 if self.GPXtree.GetCount(): 2113 item, cookie = self.GPXtree.GetFirstChild(self.root) 2114 2114 while item: 2115 name = self. PatternTree.GetItemText(item)2115 name = self.GPXtree.GetItemText(item) 2116 2116 if name.startswith('PWDR ') and name not in PWDRlist: 2117 2117 PWDRlist.append(name) 2118 item, cookie = self. PatternTree.GetNextChild(self.root, cookie)2118 item, cookie = self.GPXtree.GetNextChild(self.root, cookie) 2119 2119 # Initialize a base class reader 2120 2120 rd = G2obj.ImportPowderData( … … 2191 2191 HistName = 'PWDR '+HistName 2192 2192 HistName = G2obj.MakeUniqueLabel(HistName,PWDRlist) # make new histogram names unique 2193 Id = self. PatternTree.AppendItem(parent=self.root,text=HistName)2193 Id = self.GPXtree.AppendItem(parent=self.root,text=HistName) 2194 2194 Ymin = np.min(rd.powderdata[1]) 2195 2195 Ymax = np.max(rd.powderdata[1]) … … 2201 2201 'qPlot':False,'dPlot':False,'sqrtPlot':False,'Yminmax':[Ymin,Ymax] 2202 2202 } 2203 self. PatternTree.SetItemPyData(Id,[valuesdict,rd.powderdata])2204 self. PatternTree.SetItemPyData(2205 self. PatternTree.AppendItem(Id,text='Comments'),2203 self.GPXtree.SetItemPyData(Id,[valuesdict,rd.powderdata]) 2204 self.GPXtree.SetItemPyData( 2205 self.GPXtree.AppendItem(Id,text='Comments'), 2206 2206 rd.comments) 2207 self. PatternTree.SetItemPyData(2208 self. PatternTree.AppendItem(Id,text='Limits'),2207 self.GPXtree.SetItemPyData( 2208 self.GPXtree.AppendItem(Id,text='Limits'), 2209 2209 [(Tmin,Tmax),[Tmin,Tmax]]) 2210 self.PatternId = Get PatternTreeItemId(self,Id,'Limits')2211 self. PatternTree.SetItemPyData(2212 self. PatternTree.AppendItem(Id,text='Background'),2210 self.PatternId = GetGPXtreeItemId(self,Id,'Limits') 2211 self.GPXtree.SetItemPyData( 2212 self.GPXtree.AppendItem(Id,text='Background'), 2213 2213 [['chebyschev',True,3,1.0,0.0,0.0], 2214 2214 {'nDebye':0,'debyeTerms':[],'nPeaks':0,'peaksList':[]}]) 2215 self. PatternTree.SetItemPyData(2216 self. PatternTree.AppendItem(Id,text='Instrument Parameters'),2215 self.GPXtree.SetItemPyData( 2216 self.GPXtree.AppendItem(Id,text='Instrument Parameters'), 2217 2217 [Iparm1,Iparm2]) 2218 self. PatternTree.SetItemPyData(2219 self. PatternTree.AppendItem(Id,text='Sample Parameters'),2218 self.GPXtree.SetItemPyData( 2219 self.GPXtree.AppendItem(Id,text='Sample Parameters'), 2220 2220 rd.Sample) 2221 self. PatternTree.SetItemPyData(2222 self. PatternTree.AppendItem(Id,text='Peak List')2221 self.GPXtree.SetItemPyData( 2222 self.GPXtree.AppendItem(Id,text='Peak List') 2223 2223 ,{'peaks':[],'sigDict':{}}) 2224 self. PatternTree.SetItemPyData(2225 self. PatternTree.AppendItem(Id,text='Index Peak List'),2224 self.GPXtree.SetItemPyData( 2225 self.GPXtree.AppendItem(Id,text='Index Peak List'), 2226 2226 [[],[]]) 2227 self. PatternTree.SetItemPyData(2228 self. PatternTree.AppendItem(Id,text='Unit Cells List'),2227 self.GPXtree.SetItemPyData( 2228 self.GPXtree.AppendItem(Id,text='Unit Cells List'), 2229 2229 []) 2230 self. PatternTree.SetItemPyData(2231 self. PatternTree.AppendItem(Id,text='Reflection Lists'),2230 self.GPXtree.SetItemPyData( 2231 self.GPXtree.AppendItem(Id,text='Reflection Lists'), 2232 2232 {}) 2233 self. PatternTree.Expand(Id)2234 self. PatternTree.SelectItem(Id)2233 self.GPXtree.Expand(Id) 2234 self.GPXtree.SelectItem(Id) 2235 2235 print(u'Added simulation powder data {}'.format(HistName)+ 2236 2236 ' with parameters from {}'.format(rd.instmsg)) … … 2244 2244 if not result: return 2245 2245 # connect new phases to histograms 2246 sub = Get PatternTreeItemId(self,self.root,'Phases')2246 sub = GetGPXtreeItemId(self,self.root,'Phases') 2247 2247 if not sub: 2248 2248 raise Exception('ERROR -- why are there no phases here?') 2249 item, cookie = self. PatternTree.GetFirstChild(sub)2249 item, cookie = self.GPXtree.GetFirstChild(sub) 2250 2250 iph = -1 2251 2251 while item: # loop over (new) phases 2252 2252 iph += 1 2253 data = self. PatternTree.GetItemPyData(item)2254 item, cookie = self. PatternTree.GetNextChild(sub, cookie)2253 data = self.GPXtree.GetItemPyData(item) 2254 item, cookie = self.GPXtree.GetNextChild(sub, cookie) 2255 2255 if iph not in result: continue 2256 2256 generalData = data['General'] … … 2260 2260 NDij = len(G2spc.HStrainNames(SGData)) 2261 2261 UseList[HistName] = SetDefaultDData('PWDR',HistName,NShkl=NShkl,NDij=NDij) 2262 Id = Get PatternTreeItemId(self,self.root,HistName)2263 refList = self. PatternTree.GetItemPyData(2264 Get PatternTreeItemId(self,Id,'Reflection Lists'))2262 Id = GetGPXtreeItemId(self,self.root,HistName) 2263 refList = self.GPXtree.GetItemPyData( 2264 GetGPXtreeItemId(self,Id,'Reflection Lists')) 2265 2265 refList[generalData['Name']] = [] 2266 2266 self.EnableRefineCommand() … … 2307 2307 # get a list of existing histograms 2308 2308 SASDlist = [] 2309 if self. PatternTree.GetCount():2310 item, cookie = self. PatternTree.GetFirstChild(self.root)2309 if self.GPXtree.GetCount(): 2310 item, cookie = self.GPXtree.GetFirstChild(self.root) 2311 2311 while item: 2312 name = self. PatternTree.GetItemText(item)2312 name = self.GPXtree.GetItemText(item) 2313 2313 if name.startswith('SASD ') and name not in SASDlist: 2314 2314 SASDlist.append(name) 2315 item, cookie = self. PatternTree.GetNextChild(self.root, cookie)2315 item, cookie = self.GPXtree.GetNextChild(self.root, cookie) 2316 2316 # look up which format was requested 2317 2317 reqrdr = self.ImportMenuId.get(event.GetId()) … … 2330 2330 ' from file '+self.lastimport 2331 2331 # data are read, now store them in the tree 2332 Id = self. PatternTree.AppendItem(parent=self.root,text=HistName)2332 Id = self.GPXtree.AppendItem(parent=self.root,text=HistName) 2333 2333 Iparm1,Iparm2 = GetSASDIparm(rd) 2334 2334 # if 'T' in Iparm1['Type'][0]: … … 2361 2361 } 2362 2362 rd.Sample['ranId'] = valuesdict['ranId'] # this should be removed someday 2363 self. PatternTree.SetItemPyData(Id,[valuesdict,rd.smallangledata])2364 self. PatternTree.SetItemPyData(2365 self. PatternTree.AppendItem(Id,text='Comments'),2363 self.GPXtree.SetItemPyData(Id,[valuesdict,rd.smallangledata]) 2364 self.GPXtree.SetItemPyData( 2365 self.GPXtree.AppendItem(Id,text='Comments'), 2366 2366 rd.comments) 2367 self. PatternTree.SetItemPyData(2368 self. PatternTree.AppendItem(Id,text='Limits'),2367 self.GPXtree.SetItemPyData( 2368 self.GPXtree.AppendItem(Id,text='Limits'), 2369 2369 [(Tmin,Tmax),[Tmin,Tmax]]) 2370 self.PatternId = Get PatternTreeItemId(self,Id,'Limits')2371 self. PatternTree.SetItemPyData(2372 self. PatternTree.AppendItem(Id,text='Instrument Parameters'),2370 self.PatternId = GetGPXtreeItemId(self,Id,'Limits') 2371 self.GPXtree.SetItemPyData( 2372 self.GPXtree.AppendItem(Id,text='Instrument Parameters'), 2373 2373 [Iparm1,Iparm2]) 2374 self. PatternTree.SetItemPyData(2375 self. PatternTree.AppendItem(Id,text='Substances'),G2pdG.SetDefaultSubstances())2376 self. PatternTree.SetItemPyData(2377 self. PatternTree.AppendItem(Id,text='Sample Parameters'),2374 self.GPXtree.SetItemPyData( 2375 self.GPXtree.AppendItem(Id,text='Substances'),G2pdG.SetDefaultSubstances()) 2376 self.GPXtree.SetItemPyData( 2377 self.GPXtree.AppendItem(Id,text='Sample Parameters'), 2378 2378 rd.Sample) 2379 self. PatternTree.SetItemPyData(2380 self. PatternTree.AppendItem(Id,text='Models'),G2pdG.SetDefaultSASDModel())2379 self.GPXtree.SetItemPyData( 2380 self.GPXtree.AppendItem(Id,text='Models'),G2pdG.SetDefaultSASDModel()) 2381 2381 newHistList.append(HistName) 2382 2382 else: 2383 2383 self.EnablePlot = True 2384 self. PatternTree.Expand(Id)2385 self. PatternTree.SelectItem(Id)2384 self.GPXtree.Expand(Id) 2385 self.GPXtree.SelectItem(Id) 2386 2386 2387 2387 if not newHistList: return # somehow, no new histograms … … 2422 2422 # get a list of existing histograms 2423 2423 REFDlist = [] 2424 if self. PatternTree.GetCount():2425 item, cookie = self. PatternTree.GetFirstChild(self.root)2424 if self.GPXtree.GetCount(): 2425 item, cookie = self.GPXtree.GetFirstChild(self.root) 2426 2426 while item: 2427 name = self. PatternTree.GetItemText(item)2427 name = self.GPXtree.GetItemText(item) 2428 2428 if name.startswith('REFD ') and name not in REFDlist: 2429 2429 REFDlist.append(name) 2430 item, cookie = self. PatternTree.GetNextChild(self.root, cookie)2430 item, cookie = self.GPXtree.GetNextChild(self.root, cookie) 2431 2431 # look up which format was requested 2432 2432 reqrdr = self.ImportMenuId.get(event.GetId()) … … 2445 2445 ' from file '+self.lastimport 2446 2446 # data are read, now store them in the tree 2447 Id = self. PatternTree.AppendItem(parent=self.root,text=HistName)2447 Id = self.GPXtree.AppendItem(parent=self.root,text=HistName) 2448 2448 Iparm1,Iparm2 = GetREFDIparm(rd) 2449 2449 # if 'T' in Iparm1['Type'][0]: … … 2478 2478 } 2479 2479 rd.Sample['ranId'] = valuesdict['ranId'] # this should be removed someday 2480 self. PatternTree.SetItemPyData(Id,[valuesdict,rd.reflectometrydata])2481 self. PatternTree.SetItemPyData(2482 self. PatternTree.AppendItem(Id,text='Comments'),2480 self.GPXtree.SetItemPyData(Id,[valuesdict,rd.reflectometrydata]) 2481 self.GPXtree.SetItemPyData( 2482 self.GPXtree.AppendItem(Id,text='Comments'), 2483 2483 rd.comments) 2484 self. PatternTree.SetItemPyData(2485 self. PatternTree.AppendItem(Id,text='Limits'),2484 self.GPXtree.SetItemPyData( 2485 self.GPXtree.AppendItem(Id,text='Limits'), 2486 2486 [(Tmin,Tmax),[Tmin,Tmax]]) 2487 self.PatternId = Get PatternTreeItemId(self,Id,'Limits')2488 self. PatternTree.SetItemPyData(2489 self. PatternTree.AppendItem(Id,text='Instrument Parameters'),2487 self.PatternId = GetGPXtreeItemId(self,Id,'Limits') 2488 self.GPXtree.SetItemPyData( 2489 self.GPXtree.AppendItem(Id,text='Instrument Parameters'), 2490 2490 [Iparm1,Iparm2]) 2491 self. PatternTree.SetItemPyData(2492 self. PatternTree.AppendItem(Id,text='Substances'),G2pdG.SetDefaultSubstances())2493 self. PatternTree.SetItemPyData(2494 self. PatternTree.AppendItem(Id,text='Sample Parameters'),2491 self.GPXtree.SetItemPyData( 2492 self.GPXtree.AppendItem(Id,text='Substances'),G2pdG.SetDefaultSubstances()) 2493 self.GPXtree.SetItemPyData( 2494 self.GPXtree.AppendItem(Id,text='Sample Parameters'), 2495 2495 rd.Sample) 2496 self. PatternTree.SetItemPyData(2497 self. PatternTree.AppendItem(Id,text='Models'),G2pdG.SetDefaultREFDModel())2496 self.GPXtree.SetItemPyData( 2497 self.GPXtree.AppendItem(Id,text='Models'),G2pdG.SetDefaultREFDModel()) 2498 2498 newHistList.append(HistName) 2499 2499 else: 2500 2500 self.EnablePlot = True 2501 self. PatternTree.Expand(Id)2502 self. PatternTree.SelectItem(Id)2501 self.GPXtree.Expand(Id) 2502 self.GPXtree.SelectItem(Id) 2503 2503 2504 2504 if not newHistList: return # somehow, no new histograms … … 2533 2533 # get a list of existing histograms 2534 2534 PDFlist = [] 2535 if self. PatternTree.GetCount():2536 item, cookie = self. PatternTree.GetFirstChild(self.root)2535 if self.GPXtree.GetCount(): 2536 item, cookie = self.GPXtree.GetFirstChild(self.root) 2537 2537 while item: 2538 name = self. PatternTree.GetItemText(item)2538 name = self.GPXtree.GetItemText(item) 2539 2539 if name.startswith('PDF ') and name not in PDFlist: 2540 2540 PDFlist.append(name) 2541 item, cookie = self. PatternTree.GetNextChild(self.root, cookie)2541 item, cookie = self.GPXtree.GetNextChild(self.root, cookie) 2542 2542 # look up which format was requested 2543 2543 reqrdr = self.ImportMenuId.get(event.GetId()) … … 2556 2556 ' from file '+self.lastimport 2557 2557 # data are read, now store them in the tree 2558 Id = self. PatternTree.AppendItem(self.root,text=HistName)2558 Id = self.GPXtree.AppendItem(self.root,text=HistName) 2559 2559 Ymin = np.min(rd.pdfdata[1]) 2560 2560 Ymax = np.max(rd.pdfdata[1]) … … 2564 2564 'qPlot':False,'dPlot':False,'sqrtPlot':False,'Yminmax':[Ymin,Ymax] 2565 2565 } 2566 self. PatternTree.SetItemPyData(2567 self. PatternTree.AppendItem(Id,text='PDF Controls'),2566 self.GPXtree.SetItemPyData( 2567 self.GPXtree.AppendItem(Id,text='PDF Controls'), 2568 2568 {'G(R)':[valuesdict,rd.pdfdata,HistName],'diffGRname':'','diffMult':1.0}) 2569 self. PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='PDF Peaks'),2569 self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='PDF Peaks'), 2570 2570 {'Limits':[1.,5.],'Background':[2,[0.,-0.2*np.pi],False],'Peaks':[]}) 2571 2571 else: 2572 2572 self.EnablePlot = True 2573 self. PatternTree.Expand(Id)2574 self. PatternTree.SelectItem(Id)2573 self.GPXtree.Expand(Id) 2574 self.GPXtree.SelectItem(Id) 2575 2575 2576 2576 if not newHistList: return # somehow, no new histograms … … 2895 2895 # # make a list of used phase ranId's 2896 2896 # phaseRIdList = [] 2897 # sub = Get PatternTreeItemId(self,self.root,'Phases')2897 # sub = GetGPXtreeItemId(self,self.root,'Phases') 2898 2898 # if sub: 2899 # item, cookie = self. PatternTree.GetFirstChild(sub)2899 # item, cookie = self.GPXtree.GetFirstChild(sub) 2900 2900 # while item: 2901 # phaseName = self. PatternTree.GetItemText(item)2902 # ranId = self. PatternTree.GetItemPyData(item).get('ranId')2901 # phaseName = self.GPXtree.GetItemText(item) 2902 # ranId = self.GPXtree.GetItemPyData(item).get('ranId') 2903 2903 # if ranId: phaseRIdList.append(ranId) 2904 # item, cookie = self. PatternTree.GetNextChild(sub, cookie)2904 # item, cookie = self.GPXtree.GetNextChild(sub, cookie) 2905 2905 # if rd.Reader(filename,fp,usedRanIdList=phaseRIdList): 2906 2906 # print 'read OK' … … 2925 2925 def _init_ctrls(self, parent): 2926 2926 wx.Frame.__init__(self, name='GSASII', parent=parent, 2927 size=wx.Size(700, 450),style=wx.DEFAULT_FRAME_STYLE, title='GSAS-II data tree') 2928 #size=wx.Size(400, 450),style=wx.DEFAULT_FRAME_STYLE, title='GSAS-II data tree') 2927 #size=wx.Size(700, 450),style=wx.DEFAULT_FRAME_STYLE, title='GSAS-II data tree') 2928 # DEBUG 2929 size=wx.Size(400, 450),style=wx.DEFAULT_FRAME_STYLE, title='GSAS-II data tree') 2929 2930 clientSize = wx.ClientDisplayRect() 2930 2931 Size = self.GetSize() … … 2967 2968 treeSizer = wx.BoxSizer() 2968 2969 self.treePanel.SetSizer(treeSizer) 2969 self. PatternTree = G2G.G2TreeCtrl(id=wxID_PATTERNTREE,2970 self.GPXtree = G2G.G2TreeCtrl(id=wxID_PATTERNTREE, 2970 2971 parent=self.treePanel, size=self.treePanel.GetClientSize(),style=wx.TR_DEFAULT_STYLE ) 2971 treeSizer.Add(self. PatternTree,1,wx.EXPAND|wx.ALL,0)2972 self. PatternTree.Bind(wx.EVT_TREE_SEL_CHANGED,self.OnDataTreeSelChanged)2973 self. PatternTree.Bind(wx.EVT_TREE_ITEM_RIGHT_CLICK,self.OnDataTreeSelChanged)2974 self. PatternTree.Bind(wx.EVT_TREE_ITEM_COLLAPSED,2975 self.On PatternTreeItemCollapsed, id=wxID_PATTERNTREE)2976 self. PatternTree.Bind(wx.EVT_TREE_ITEM_EXPANDED,2977 self.On PatternTreeItemExpanded, id=wxID_PATTERNTREE)2978 self. PatternTree.Bind(wx.EVT_TREE_DELETE_ITEM,2979 self.On PatternTreeItemDelete, id=wxID_PATTERNTREE)2980 self. PatternTree.Bind(wx.EVT_TREE_KEY_DOWN,2981 self.On PatternTreeKeyDown, id=wxID_PATTERNTREE)2982 self. PatternTree.Bind(wx.EVT_TREE_BEGIN_RDRAG,2983 self.On PatternTreeBeginRDrag, id=wxID_PATTERNTREE)2984 self. PatternTree.Bind(wx.EVT_TREE_END_DRAG,2985 self.On PatternTreeEndDrag, id=wxID_PATTERNTREE)2986 self.root = self. PatternTree.root2972 treeSizer.Add(self.GPXtree,1,wx.EXPAND|wx.ALL,0) 2973 self.GPXtree.Bind(wx.EVT_TREE_SEL_CHANGED,self.OnDataTreeSelChanged) 2974 self.GPXtree.Bind(wx.EVT_TREE_ITEM_RIGHT_CLICK,self.OnDataTreeSelChanged) 2975 self.GPXtree.Bind(wx.EVT_TREE_ITEM_COLLAPSED, 2976 self.OnGPXtreeItemCollapsed, id=wxID_PATTERNTREE) 2977 self.GPXtree.Bind(wx.EVT_TREE_ITEM_EXPANDED, 2978 self.OnGPXtreeItemExpanded, id=wxID_PATTERNTREE) 2979 self.GPXtree.Bind(wx.EVT_TREE_DELETE_ITEM, 2980 self.OnGPXtreeItemDelete, id=wxID_PATTERNTREE) 2981 self.GPXtree.Bind(wx.EVT_TREE_KEY_DOWN, 2982 self.OnGPXtreeKeyDown, id=wxID_PATTERNTREE) 2983 self.GPXtree.Bind(wx.EVT_TREE_BEGIN_RDRAG, 2984 self.OnGPXtreeBeginRDrag, id=wxID_PATTERNTREE) 2985 self.GPXtree.Bind(wx.EVT_TREE_END_DRAG, 2986 self.OnGPXtreeEndDrag, id=wxID_PATTERNTREE) 2987 self.root = self.GPXtree.root 2987 2988 2988 2989 # def FillWindow(panel,sizer,size=1.): … … 3110 3111 3111 3112 def GetTreeItemsList(self,item): 3112 return self. PatternTree._getTreeItemsList(item)3113 return self.GPXtree._getTreeItemsList(item) 3113 3114 3114 3115 # def OnSize(self,event): 3115 # 'Called to make PatternTree fill mainPanel'3116 # 'Called to make GPXtree fill mainPanel' 3116 3117 # print 'OnSize' 3117 3118 # event.Skip() … … 3119 3120 # self.dataWindow.SetupScrolling() 3120 3121 # self.mainPanel.SetSize(wx.Size(w,h)) 3121 # self. PatternTree.SetSize(wx.Size(w,h))3122 # self.GPXtree.SetSize(wx.Size(w,h)) 3122 3123 # self.dataWindow.SetSize(self.dataPanel.GetClientSize()) 3123 3124 … … 3147 3148 # wx.CallAfter(self.oldFocus.SetFocus) 3148 3149 3149 def On PatternTreeItemCollapsed(self, event):3150 def OnGPXtreeItemCollapsed(self, event): 3150 3151 'Called when a tree item is collapsed - all children will be collapsed' 3151 self. PatternTree.CollapseAllChildren(event.GetItem())3152 3153 def On PatternTreeItemExpanded(self, event):3152 self.GPXtree.CollapseAllChildren(event.GetItem()) 3153 3154 def OnGPXtreeItemExpanded(self, event): 3154 3155 'Called when a tree item is expanded' 3155 3156 self.OnDataTreeSelChanged(event) 3156 3157 event.Skip() 3157 3158 3158 def On PatternTreeItemDelete(self, event):3159 def OnGPXtreeItemDelete(self, event): 3159 3160 'Called when a tree item is deleted -- not sure what this does' 3160 3161 self.TreeItemDelete = True 3161 3162 3162 def On PatternTreeItemActivated(self, event):3163 def OnGPXtreeItemActivated(self, event): 3163 3164 'Called when a tree item is activated' 3164 3165 event.Skip() 3165 3166 3166 def On PatternTreeBeginRDrag(self,event):3167 def OnGPXtreeBeginRDrag(self,event): 3167 3168 event.Allow() 3168 3169 self.BeginDragId = event.GetItem() 3169 self.ParentId = self. PatternTree.GetItemParent(self.BeginDragId)3170 DragText = self. PatternTree.GetItemText(self.BeginDragId)3171 self.DragData = [[DragText,self. PatternTree.GetItemPyData(self.BeginDragId)],]3172 item, cookie = self. PatternTree.GetFirstChild(self.BeginDragId)3170 self.ParentId = self.GPXtree.GetItemParent(self.BeginDragId) 3171 DragText = self.GPXtree.GetItemText(self.BeginDragId) 3172 self.DragData = [[DragText,self.GPXtree.GetItemPyData(self.BeginDragId)],] 3173 item, cookie = self.GPXtree.GetFirstChild(self.BeginDragId) 3173 3174 while item: #G2 data tree has no sub children under a child of a tree item 3174 name = self. PatternTree.GetItemText(item)3175 self.DragData.append([name,self. PatternTree.GetItemPyData(item)])3176 item, cookie = self. PatternTree.GetNextChild(self.BeginDragId, cookie)3177 3178 def On PatternTreeEndDrag(self,event):3175 name = self.GPXtree.GetItemText(item) 3176 self.DragData.append([name,self.GPXtree.GetItemPyData(item)]) 3177 item, cookie = self.GPXtree.GetNextChild(self.BeginDragId, cookie) 3178 3179 def OnGPXtreeEndDrag(self,event): 3179 3180 event.Allow() 3180 3181 self.EndDragId = event.GetItem() 3181 3182 try: 3182 NewParent = self. PatternTree.GetItemParent(self.EndDragId)3183 NewParent = self.GPXtree.GetItemParent(self.EndDragId) 3183 3184 except: 3184 self.EndDragId = self. PatternTree.GetLastChild(self.root)3185 self.EndDragId = self.GPXtree.GetLastChild(self.root) 3185 3186 NewParent = self.root 3186 3187 if self.ParentId != NewParent: … … 3188 3189 else: 3189 3190 Name,Item = self.DragData[0] 3190 NewId = self. PatternTree.InsertItem(self.ParentId,self.EndDragId,Name,data=None)3191 self. PatternTree.SetItemPyData(NewId,Item)3191 NewId = self.GPXtree.InsertItem(self.ParentId,self.EndDragId,Name,data=None) 3192 self.GPXtree.SetItemPyData(NewId,Item) 3192 3193 for name,item in self.DragData[1:]: #loop over children 3193 Id = self. PatternTree.AppendItem(parent=NewId,text=name)3194 self. PatternTree.SetItemPyData(Id,item)3195 self. PatternTree.Delete(self.BeginDragId)3194 Id = self.GPXtree.AppendItem(parent=NewId,text=name) 3195 self.GPXtree.SetItemPyData(Id,item) 3196 self.GPXtree.Delete(self.BeginDragId) 3196 3197 SelectDataTreeItem(self,NewId) 3197 3198 3198 def On PatternTreeKeyDown(self,event): #doesn't exactly work right with Shift key down3199 def OnGPXtreeKeyDown(self,event): #doesn't exactly work right with Shift key down 3199 3200 'Allows stepping through the tree with the up/down arrow keys' 3200 3201 self.oldFocus = wx.Window.FindFocus() 3201 3202 keyevt = event.GetKeyEvent() 3202 3203 key = event.GetKeyCode() 3203 item = self. PatternTree.GetSelection()3204 item = self.GPXtree.GetSelection() 3204 3205 if type(item) is int: return # is this the toplevel in tree? 3205 name = self. PatternTree.GetItemText(item)3206 parent = self. PatternTree.GetItemParent(item)3206 name = self.GPXtree.GetItemText(item) 3207 parent = self.GPXtree.GetItemParent(item) 3207 3208 if key == wx.WXK_UP: 3208 3209 if keyevt.GetModifiers() == wx.MOD_SHIFT and parent != self.root: 3209 3210 if type(parent) is int: return # is this the toplevel in tree? 3210 prev = self. PatternTree.GetPrevSibling(parent)3211 NewId = Get PatternTreeItemId(self,prev,name)3211 prev = self.GPXtree.GetPrevSibling(parent) 3212 NewId = GetGPXtreeItemId(self,prev,name) 3212 3213 if NewId: 3213 self. PatternTree.Collapse(parent)3214 self. PatternTree.Expand(prev)3214 self.GPXtree.Collapse(parent) 3215 self.GPXtree.Expand(prev) 3215 3216 self.oldFocus = wx.Window.FindFocus() 3216 wx.CallAfter(self. PatternTree.SelectItem,NewId)3217 wx.CallAfter(self.GPXtree.SelectItem,NewId) 3217 3218 else: 3218 wx.CallAfter(self. PatternTree.SelectItem,item)3219 wx.CallAfter(self.GPXtree.SelectItem,item) 3219 3220 elif sys.platform == "win32": 3220 self. PatternTree.GetPrevSibling(item)3221 self. PatternTree.SelectItem(item)3221 self.GPXtree.GetPrevSibling(item) 3222 self.GPXtree.SelectItem(item) 3222 3223 else: 3223 item = self. PatternTree.GetPrevSibling(item)3224 if item.IsOk(): self. PatternTree.SelectItem(item)3224 item = self.GPXtree.GetPrevSibling(item) 3225 if item.IsOk(): self.GPXtree.SelectItem(item) 3225 3226 elif key == wx.WXK_DOWN: 3226 3227 if keyevt.GetModifiers() == wx.MOD_SHIFT and parent != self.root: 3227 next = self. PatternTree.GetNextSibling(parent)3228 NewId = Get PatternTreeItemId(self,next,name)3228 next = self.GPXtree.GetNextSibling(parent) 3229 NewId = GetGPXtreeItemId(self,next,name) 3229 3230 if NewId: 3230 self. PatternTree.Collapse(parent)3231 self. PatternTree.Expand(next)3231 self.GPXtree.Collapse(parent) 3232 self.GPXtree.Expand(next) 3232 3233 self.oldFocus = wx.Window.FindFocus() 3233 wx.CallAfter(self. PatternTree.SelectItem,NewId)3234 wx.CallAfter(self.GPXtree.SelectItem,NewId) 3234 3235 else: 3235 wx.CallAfter(self. PatternTree.SelectItem,item)3236 wx.CallAfter(self.GPXtree.SelectItem,item) 3236 3237 elif sys.platform == "win32": 3237 self. PatternTree.GetNextSibling(item)3238 self. PatternTree.SelectItem(item)3238 self.GPXtree.GetNextSibling(item) 3239 self.GPXtree.SelectItem(item) 3239 3240 else: 3240 item = self. PatternTree.GetNextSibling(item)3241 if item.IsOk(): self. PatternTree.SelectItem(item)3241 item = self.GPXtree.GetNextSibling(item) 3242 if item.IsOk(): self.GPXtree.SelectItem(item) 3242 3243 3243 3244 def OnReadPowderPeaks(self,event): … … 3253 3254 self.powderfile = dlg.GetPath() 3254 3255 comments,peaks,limits,wave = G2IO.GetPowderPeaks(self.powderfile) 3255 Id = self. PatternTree.AppendItem(parent=self.root,text='PKS '+os.path.basename(self.powderfile))3256 Id = self.GPXtree.AppendItem(parent=self.root,text='PKS '+os.path.basename(self.powderfile)) 3256 3257 data = ['PKS',wave,0.0] 3257 3258 names = ['Type','Lam','Zero'] 3258 3259 codes = [0,0,0] 3259 3260 inst = [G2IO.makeInstDict(names,data,codes),{}] 3260 self. PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Instrument Parameters'),inst)3261 self. PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Comments'),comments)3262 self. PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Limits'),[tuple(limits),limits])3263 self. PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Index Peak List'),[peaks,[]])3264 self. PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Unit Cells List'),[])3265 self. PatternTree.Expand(Id)3266 self. PatternTree.SelectItem(Id)3261 self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='Instrument Parameters'),inst) 3262 self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='Comments'),comments) 3263 self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='Limits'),[tuple(limits),limits]) 3264 self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='Index Peak List'),[peaks,[]]) 3265 self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='Unit Cells List'),[]) 3266 self.GPXtree.Expand(Id) 3267 self.GPXtree.SelectItem(Id) 3267 3268 os.chdir(dlg.GetDirectory()) # to get Mac/Linux to change directory! 3268 3269 finally: 3269 3270 dlg.Destroy() 3270 3271 3271 # def OnImageRead(self,event):3272 # '''Called to read in an image in any known format. *** Depreciated. ***3273 # '''3274 # G2G.G2MessageBox(self,'Please use the Import/Image/... menu item rather than this','depreciating menu item')3275 3276 3272 def CheckNotebook(self): 3277 3273 '''Make sure the data tree has the minimally expected controls. 3278 3274 ''' 3279 if not Get PatternTreeItemId(self,self.root,'Notebook'):3280 sub = self. PatternTree.AppendItem(parent=self.root,text='Notebook')3281 self. PatternTree.SetItemPyData(sub,[''])3282 if not Get PatternTreeItemId(self,self.root,'Controls'):3283 sub = self. PatternTree.AppendItem(parent=self.root,text='Controls')3284 self. PatternTree.SetItemPyData(sub,copy.copy(G2obj.DefaultControls))3285 if not Get PatternTreeItemId(self,self.root,'Covariance'):3286 sub = self. PatternTree.AppendItem(parent=self.root,text='Covariance')3287 self. PatternTree.SetItemPyData(sub,{})3288 if not Get PatternTreeItemId(self,self.root,'Constraints'):3289 sub = self. PatternTree.AppendItem(parent=self.root,text='Constraints')3290 self. PatternTree.SetItemPyData(sub,{'Hist':[],'HAP':[],'Phase':[]})3291 if not Get PatternTreeItemId(self,self.root,'Restraints'):3292 sub = self. PatternTree.AppendItem(parent=self.root,text='Restraints')3293 self. PatternTree.SetItemPyData(sub,{})3294 if not Get PatternTreeItemId(self,self.root,'Rigid bodies'):3295 sub = self. PatternTree.AppendItem(parent=self.root,text='Rigid bodies')3296 self. PatternTree.SetItemPyData(sub,{'Vector':{'AtInfo':{}},3275 if not GetGPXtreeItemId(self,self.root,'Notebook'): 3276 sub = self.GPXtree.AppendItem(parent=self.root,text='Notebook') 3277 self.GPXtree.SetItemPyData(sub,['']) 3278 if not GetGPXtreeItemId(self,self.root,'Controls'): 3279 sub = self.GPXtree.AppendItem(parent=self.root,text='Controls') 3280 self.GPXtree.SetItemPyData(sub,copy.copy(G2obj.DefaultControls)) 3281 if not GetGPXtreeItemId(self,self.root,'Covariance'): 3282 sub = self.GPXtree.AppendItem(parent=self.root,text='Covariance') 3283 self.GPXtree.SetItemPyData(sub,{}) 3284 if not GetGPXtreeItemId(self,self.root,'Constraints'): 3285 sub = self.GPXtree.AppendItem(parent=self.root,text='Constraints') 3286 self.GPXtree.SetItemPyData(sub,{'Hist':[],'HAP':[],'Phase':[]}) 3287 if not GetGPXtreeItemId(self,self.root,'Restraints'): 3288 sub = self.GPXtree.AppendItem(parent=self.root,text='Restraints') 3289 self.GPXtree.SetItemPyData(sub,{}) 3290 if not GetGPXtreeItemId(self,self.root,'Rigid bodies'): 3291 sub = self.GPXtree.AppendItem(parent=self.root,text='Rigid bodies') 3292 self.GPXtree.SetItemPyData(sub,{'Vector':{'AtInfo':{}}, 3297 3293 'Residue':{'AtInfo':{}},'RBIds':{'Vector':[],'Residue':[]}}) 3298 3294 … … 3523 3519 Inst = None 3524 3520 Comments = ['Sum equals: \n'] 3525 if self. PatternTree.GetCount():3526 item, cookie = self. PatternTree.GetFirstChild(self.root)3521 if self.GPXtree.GetCount(): 3522 item, cookie = self.GPXtree.GetFirstChild(self.root) 3527 3523 while item: 3528 name = self. PatternTree.GetItemText(item)3524 name = self.GPXtree.GetItemText(item) 3529 3525 Names.append(name) 3530 3526 if 'PWDR' in name: 3531 3527 TextList.append([0.0,name]) 3532 DataList.append(self. PatternTree.GetItemPyData(item)[1]) # (x,y,w,yc,yb,yd)3528 DataList.append(self.GPXtree.GetItemPyData(item)[1]) # (x,y,w,yc,yb,yd) 3533 3529 if not Inst: 3534 Inst = self. PatternTree.GetItemPyData(GetPatternTreeItemId(self,item, 'Instrument Parameters'))3535 item, cookie = self. PatternTree.GetNextChild(self.root, cookie)3530 Inst = self.GPXtree.GetItemPyData(GetGPXtreeItemId(self,item, 'Instrument Parameters')) 3531 item, cookie = self.GPXtree.GetNextChild(self.root, cookie) 3536 3532 if len(TextList) < 2: 3537 3533 self.ErrorDialog('Not enough data to sum','There must be more than one "PWDR" pattern') … … 3550 3546 try: 3551 3547 if dlg2.ShowModal() == wx.ID_OK: 3552 Id = Get PatternTreeItemId(self,self.root,name)3553 self. PatternTree.Delete(Id)3548 Id = GetGPXtreeItemId(self,self.root,name) 3549 self.GPXtree.Delete(Id) 3554 3550 finally: 3555 3551 dlg2.Destroy() 3556 Id = self. PatternTree.AppendItem(parent=self.root,text=outname)3552 Id = self.GPXtree.AppendItem(parent=self.root,text=outname) 3557 3553 if Id: 3558 3554 Sample = G2obj.SetDefaultSample() … … 3566 3562 'qPlot':False,'dPlot':False,'sqrtPlot':False,'Yminmax':[Ymin,Ymax] 3567 3563 } 3568 self. PatternTree.SetItemPyData(Id,[valuesdict,[np.array(Xsum),np.array(Ysum),np.array(Wsum),3564 self.GPXtree.SetItemPyData(Id,[valuesdict,[np.array(Xsum),np.array(Ysum),np.array(Wsum), 3569 3565 np.array(YCsum),np.array(YBsum),np.array(YDsum)]]) 3570 self. PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Comments'),Comments)3571 self. PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Limits'),[tuple(Xminmax),Xminmax])3572 self. PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Background'),[['chebyschev',True,3,1.0,0.0,0.0],3566 self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='Comments'),Comments) 3567 self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='Limits'),[tuple(Xminmax),Xminmax]) 3568 self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='Background'),[['chebyschev',True,3,1.0,0.0,0.0], 3573 3569 {'nDebye':0,'debyeTerms':[],'nPeaks':0,'peaksList':[]}]) 3574 self. PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Instrument Parameters'),Inst)3575 self. PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Sample Parameters'),Sample)3576 self. PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Peak List'),{'peaks':[],'sigDict':{}})3577 self. PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Index Peak List'),[[],[]])3578 self. PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Unit Cells List'),[])3579 self. PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Reflection Lists'),{})3580 self. PatternTree.SelectItem(Id)3581 self. PatternTree.Expand(Id)3570 self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='Instrument Parameters'),Inst) 3571 self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='Sample Parameters'),Sample) 3572 self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='Peak List'),{'peaks':[],'sigDict':{}}) 3573 self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='Index Peak List'),[[],[]]) 3574 self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='Unit Cells List'),[]) 3575 self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='Reflection Lists'),{}) 3576 self.GPXtree.SelectItem(Id) 3577 self.GPXtree.Expand(Id) 3582 3578 finally: 3583 3579 dlg.Destroy() … … 3590 3586 Names = [] 3591 3587 Comments = ['Sum equals: \n'] 3592 if self. PatternTree.GetCount():3593 item, cookie = self. PatternTree.GetFirstChild(self.root)3588 if self.GPXtree.GetCount(): 3589 item, cookie = self.GPXtree.GetFirstChild(self.root) 3594 3590 while item: 3595 name = self. PatternTree.GetItemText(item)3591 name = self.GPXtree.GetItemText(item) 3596 3592 Names.append(name) 3597 3593 if 'IMG' in name: 3598 3594 TextList.append([0.0,name]) 3599 DataList.append(self. PatternTree.GetImageLoc(item)) #Size,Image,Tag3595 DataList.append(self.GPXtree.GetImageLoc(item)) #Size,Image,Tag 3600 3596 IdList.append(item) 3601 Data = self. PatternTree.GetItemPyData(GetPatternTreeItemId(self,item,'Image Controls'))3602 item, cookie = self. PatternTree.GetNextChild(self.root, cookie)3597 Data = self.GPXtree.GetItemPyData(GetGPXtreeItemId(self,item,'Image Controls')) 3598 item, cookie = self.GPXtree.GetNextChild(self.root, cookie) 3603 3599 if len(TextList) < 2: 3604 3600 self.ErrorDialog('Not enough data to sum','There must be more than one "IMG" pattern') … … 3646 3642 try: 3647 3643 if dlg2.ShowModal() == wx.ID_OK: 3648 Id = Get PatternTreeItemId(self,self.root,name)3644 Id = GetGPXtreeItemId(self,self.root,name) 3649 3645 finally: 3650 3646 dlg2.Destroy() 3651 3647 else: 3652 Id = self. PatternTree.AppendItem(parent=self.root,text=outname)3648 Id = self.GPXtree.AppendItem(parent=self.root,text=outname) 3653 3649 if Id: 3654 3650 pth = G2G.GetExportPath(self) … … 3663 3659 Imin = np.amin(newImage) 3664 3660 newImage = [] 3665 self. PatternTree.SetItemPyData(Id,[imSize,newimagefile])3666 self. PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Comments'),Comments)3661 self.GPXtree.SetItemPyData(Id,[imSize,newimagefile]) 3662 self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='Comments'),Comments) 3667 3663 del(newImage) 3668 3664 if self.imageDefault: … … 3677 3673 Data['calibrant'] = '' 3678 3674 Data['range'] = [(Imin,Imax),[Imin,Imax]] 3679 self. PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Image Controls'),Data)3675 self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='Image Controls'),Data) 3680 3676 Masks = {'Points':[],'Rings':[],'Arcs':[],'Polygons':[],'Frames':[],'Thresholds':[(Imin,Imax),[Imin,Imax]]} 3681 self. PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Masks'),Masks)3682 self. PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Stress/Strain'),3677 self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='Masks'),Masks) 3678 self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='Stress/Strain'), 3683 3679 {'Type':'True','d-zero':[],'Sample phi':0.0,'Sample z':0.0,'Sample load':0.0}) 3684 self. PatternTree.SelectItem(Id)3685 self. PatternTree.Expand(Id)3686 self.PickId = Get PatternTreeItemId(self,self.root,outname)3680 self.GPXtree.SelectItem(Id) 3681 self.GPXtree.Expand(Id) 3682 self.PickId = GetGPXtreeItemId(self,self.root,outname) 3687 3683 self.Image = self.PickId 3688 3684 finally: … … 3691 3687 def OnAddPhase(self,event): 3692 3688 'Add a new, empty phase to the tree. Called by Data/Add Phase menu' 3693 if not Get PatternTreeItemId(self,self.root,'Phases'):3694 sub = self. PatternTree.AppendItem(parent=self.root,text='Phases')3689 if not GetGPXtreeItemId(self,self.root,'Phases'): 3690 sub = self.GPXtree.AppendItem(parent=self.root,text='Phases') 3695 3691 else: 3696 sub = Get PatternTreeItemId(self,self.root,'Phases')3692 sub = GetGPXtreeItemId(self,self.root,'Phases') 3697 3693 PhaseName = '' 3698 3694 dlg = wx.TextEntryDialog(None,'Enter a name for this phase','Phase Name Entry','New phase', … … 3701 3697 PhaseName = dlg.GetValue() 3702 3698 dlg.Destroy() 3703 sub = self. PatternTree.AppendItem(parent=sub,text=PhaseName)3699 sub = self.GPXtree.AppendItem(parent=sub,text=PhaseName) 3704 3700 E,SGData = G2spc.SpcGroup('P 1') 3705 self. PatternTree.SetItemPyData(sub,G2obj.SetNewPhase(Name=PhaseName,SGData=SGData))3701 self.GPXtree.SetItemPyData(sub,G2obj.SetNewPhase(Name=PhaseName,SGData=SGData)) 3706 3702 SelectDataTreeItem(self,sub) #bring up new phase General tab 3707 3703 … … 3714 3710 DelList = [] 3715 3711 DelItemList = [] 3716 if Get PatternTreeItemId(self,self.root,'Phases'):3717 sub = Get PatternTreeItemId(self,self.root,'Phases')3712 if GetGPXtreeItemId(self,self.root,'Phases'): 3713 sub = GetGPXtreeItemId(self,self.root,'Phases') 3718 3714 else: 3719 3715 return 3720 3716 if sub: 3721 item, cookie = self. PatternTree.GetFirstChild(sub)3717 item, cookie = self.GPXtree.GetFirstChild(sub) 3722 3718 while item: 3723 TextList.append(self. PatternTree.GetItemText(item))3724 item, cookie = self. PatternTree.GetNextChild(sub, cookie)3719 TextList.append(self.GPXtree.GetItemText(item)) 3720 item, cookie = self.GPXtree.GetNextChild(sub, cookie) 3725 3721 dlg = wx.MultiChoiceDialog(self, 'Which phase to delete?', 'Delete phase', TextList, wx.CHOICEDLG_STYLE) 3726 3722 try: … … 3728 3724 result = dlg.GetSelections() 3729 3725 for i in result: DelList.append([i,TextList[i]]) 3730 item, cookie = self. PatternTree.GetFirstChild(sub)3726 item, cookie = self.GPXtree.GetFirstChild(sub) 3731 3727 i = 0 3732 3728 while item: 3733 if [i,self. PatternTree.GetItemText(item)] in DelList: DelItemList.append(item)3734 item, cookie = self. PatternTree.GetNextChild(sub, cookie)3729 if [i,self.GPXtree.GetItemText(item)] in DelList: DelItemList.append(item) 3730 item, cookie = self.GPXtree.GetNextChild(sub, cookie) 3735 3731 i += 1 3736 3732 for item in DelItemList: 3737 name = self. PatternTree.GetItemText(item)3738 self. PatternTree.Delete(item)3733 name = self.GPXtree.GetItemText(item) 3734 self.GPXtree.Delete(item) 3739 3735 self.G2plotNB.Delete(name) 3740 item, cookie = self. PatternTree.GetFirstChild(self.root)3736 item, cookie = self.GPXtree.GetFirstChild(self.root) 3741 3737 while item: 3742 name = self. PatternTree.GetItemText(item)3738 name = self.GPXtree.GetItemText(item) 3743 3739 if 'PWDR' in name: 3744 Id = Get PatternTreeItemId(self,item, 'Reflection Lists')3745 refList = self. PatternTree.GetItemPyData(Id)3740 Id = GetGPXtreeItemId(self,item, 'Reflection Lists') 3741 refList = self.GPXtree.GetItemPyData(Id) 3746 3742 if len(refList): 3747 3743 for i,item in DelList: 3748 3744 if item in refList: 3749 3745 del(refList[item]) 3750 # self. PatternTree.SetItemPyData(Id,refList)3746 # self.GPXtree.SetItemPyData(Id,refList) 3751 3747 elif 'HKLF' in name: 3752 data = self. PatternTree.GetItemPyData(item)3748 data = self.GPXtree.GetItemPyData(item) 3753 3749 data[0] = {} 3754 # self. PatternTree.SetItemPyData(item,data)3750 # self.GPXtree.SetItemPyData(item,data) 3755 3751 3756 item, cookie = self. PatternTree.GetNextChild(self.root, cookie)3752 item, cookie = self.GPXtree.GetNextChild(self.root, cookie) 3757 3753 finally: 3758 3754 dlg.Destroy() … … 3760 3756 def OnRenameData(self,event): 3761 3757 'Renames an existing phase. Called by Data/Rename Phase menu' 3762 name = self. PatternTree.GetItemText(self.PickId)3758 name = self.GPXtree.GetItemText(self.PickId) 3763 3759 if 'PWDR' in name or 'HKLF' in name or 'IMG' in name: 3764 3760 if 'Bank' in name: … … 3776 3772 if dlg.ShowModal() == wx.ID_OK: 3777 3773 name = dataType+dlg.GetValue()+names[1] 3778 self. PatternTree.SetItemText(self.PickId,name)3774 self.GPXtree.SetItemText(self.PickId,name) 3779 3775 finally: 3780 3776 dlg.Destroy() … … 3784 3780 fileList = [] 3785 3781 Source = '' 3786 id, cookie = self. PatternTree.GetFirstChild(self.root)3782 id, cookie = self.GPXtree.GetFirstChild(self.root) 3787 3783 while id: 3788 name = self. PatternTree.GetItemText(id)3784 name = self.GPXtree.GetItemText(id) 3789 3785 if fileType in name: 3790 3786 if id == skip: … … 3792 3788 else: 3793 3789 fileList.append([False,name,id]) 3794 id, cookie = self. PatternTree.GetNextChild(self.root, cookie)3790 id, cookie = self.GPXtree.GetNextChild(self.root, cookie) 3795 3791 if skip: 3796 3792 return fileList,Source … … 3807 3803 nItems = {'PWDR':0,'SASD':0,'REFD':0,'IMG':0,'HKLF':0,'PDF':0} 3808 3804 PDFnames = [] 3809 if self. PatternTree.GetCount():3810 item, cookie = self. PatternTree.GetFirstChild(self.root)3805 if self.GPXtree.GetCount(): 3806 item, cookie = self.GPXtree.GetFirstChild(self.root) 3811 3807 while item: 3812 name = self. PatternTree.GetItemText(item)3808 name = self.GPXtree.GetItemText(item) 3813 3809 if name not in ['Notebook','Controls','Covariance','Constraints', 3814 3810 'Restraints','Phases','Rigid bodies'] and 'Sequential' not in name: … … 3822 3818 nItems['PDF'] += 1 3823 3819 TextList.append(name) 3824 item, cookie = self. PatternTree.GetNextChild(self.root, cookie)3820 item, cookie = self.GPXtree.GetNextChild(self.root, cookie) 3825 3821 for pdfName in PDFnames: 3826 3822 try: … … 3833 3829 result = dlg.GetSelections() 3834 3830 for i in result: DelList.append(TextList[i]) 3835 item, cookie = self. PatternTree.GetFirstChild(self.root)3831 item, cookie = self.GPXtree.GetFirstChild(self.root) 3836 3832 while item: 3837 itemName = self. PatternTree.GetItemText(item)3833 itemName = self.GPXtree.GetItemText(item) 3838 3834 if itemName in DelList: 3839 3835 if 'PWDR' in itemName[:4]: nItems['PWDR'] -= 1 … … 3844 3840 elif 'PDF' in itemName[:3]: nItems['PDF'] -= 1 3845 3841 DelItemList.append(item) 3846 item, cookie = self. PatternTree.GetNextChild(self.root, cookie)3842 item, cookie = self.GPXtree.GetNextChild(self.root, cookie) 3847 3843 for item in DelItemList: 3848 self. PatternTree.Delete(item)3844 self.GPXtree.Delete(item) 3849 3845 self.PickId = 0 3850 3846 self.PickIdText = None … … 3869 3865 result = wx.ID_OK 3870 3866 self.EnablePlot = False 3871 if self. PatternTree.GetChildrenCount(self.root,False):3867 if self.GPXtree.GetChildrenCount(self.root,False): 3872 3868 if self.dataFrame: 3873 3869 self.dataFrame.ClearData() … … 3880 3876 result = dlg.ShowModal() 3881 3877 if result == wx.ID_OK: 3882 self. PatternTree.DeleteChildren(self.root)3878 self.GPXtree.DeleteChildren(self.root) 3883 3879 self.GSASprojectfile = '' 3884 3880 self.HKL = [] … … 3922 3918 phaseId = None 3923 3919 G2IO.ProjFileOpen(self) 3924 self. PatternTree.SetItemText(self.root,'Loaded Data: '+self.GSASprojectfile)3925 self. PatternTree.Expand(self.root)3920 self.GPXtree.SetItemText(self.root,'Loaded Data: '+self.GSASprojectfile) 3921 self.GPXtree.Expand(self.root) 3926 3922 self.HKL = [] 3927 item, cookie = self. PatternTree.GetFirstChild(self.root)3923 item, cookie = self.GPXtree.GetFirstChild(self.root) 3928 3924 while item and not Id: 3929 name = self. PatternTree.GetItemText(item)3925 name = self.GPXtree.GetItemText(item) 3930 3926 if name[:4] in ['PWDR','HKLF','IMG ','PDF ','SASD','REFD']: 3931 3927 Id = item … … 3933 3929 phaseId = item 3934 3930 elif name == 'Controls': 3935 data = self. PatternTree.GetItemPyData(item)3931 data = self.GPXtree.GetItemPyData(item) 3936 3932 if data: 3937 3933 for item in self.Refine: item.Enable(True) 3938 3934 self.EnableSeqRefineMenu() 3939 item, cookie = self. PatternTree.GetNextChild(self.root, cookie)3935 item, cookie = self.GPXtree.GetNextChild(self.root, cookie) 3940 3936 if phaseId: # show all phases 3941 self. PatternTree.Expand(phaseId)3937 self.GPXtree.Expand(phaseId) 3942 3938 if Id: 3943 3939 self.EnablePlot = True 3944 self. PatternTree.SelectItem(Id)3945 self. PatternTree.Expand(Id)3940 self.GPXtree.SelectItem(Id) 3941 self.GPXtree.Expand(Id) 3946 3942 elif phaseId: 3947 self. PatternTree.SelectItem(phaseId)3943 self.GPXtree.SelectItem(phaseId) 3948 3944 self.CheckNotebook() 3949 3945 if self.dirname: os.chdir(self.dirname) # to get Mac/Linux to change directory! … … 3964 3960 if result != wx.ID_CANCEL: 3965 3961 self.GSASprojectfile = '' 3966 self. PatternTree.SetItemText(self.root,'Loaded Data: ')3967 self. PatternTree.DeleteChildren(self.root)3962 self.GPXtree.SetItemText(self.root,'Loaded Data: ') 3963 self.GPXtree.DeleteChildren(self.root) 3968 3964 if self.HKL: self.HKL = [] 3969 3965 if self.G2plotNB.plotList: … … 3978 3974 3979 3975 if self.GSASprojectfile: 3980 self. PatternTree.SetItemText(self.root,'Loaded Data: '+self.GSASprojectfile)3976 self.GPXtree.SetItemText(self.root,'Loaded Data: '+self.GSASprojectfile) 3981 3977 self.CheckNotebook() 3982 3978 G2IO.ProjFileSave(self) … … 4001 3997 self.GSASprojectfile = dlg.GetPath() 4002 3998 self.GSASprojectfile = G2IO.FileDlgFixExt(dlg,self.GSASprojectfile) 4003 self. PatternTree.SetItemText(self.root,'Saving project as'+self.GSASprojectfile)3999 self.GPXtree.SetItemText(self.root,'Saving project as'+self.GSASprojectfile) 4004 4000 self.SetTitle("GSAS-II data tree: "+os.path.split(self.GSASprojectfile)[1]) 4005 4001 self.CheckNotebook() … … 4016 4012 self.ExpandingAll = True 4017 4013 try: 4018 self. PatternTree.ExpandAll()4014 self.GPXtree.ExpandAll() 4019 4015 finally: 4020 4016 self.ExpandingAll = False … … 4022 4018 self.ExpandingAll = True 4023 4019 try: 4024 item, cookie = self. PatternTree.GetFirstChild(self.root)4020 item, cookie = self.GPXtree.GetFirstChild(self.root) 4025 4021 while item: 4026 name = self. PatternTree.GetItemText(item)4027 if name.startswith(txt+' '): self. PatternTree.Expand(item)4028 item, cookie = self. PatternTree.GetNextChild(self.root, cookie)4022 name = self.GPXtree.GetItemText(item) 4023 if name.startswith(txt+' '): self.GPXtree.Expand(item) 4024 item, cookie = self.GPXtree.GetNextChild(self.root, cookie) 4029 4025 finally: 4030 4026 self.ExpandingAll = False … … 4036 4032 # make a list of items to copy 4037 4033 copyList = [] 4038 item, cookie = self. PatternTree.GetFirstChild(self.root)4034 item, cookie = self.GPXtree.GetFirstChild(self.root) 4039 4035 while item: 4040 if self. PatternTree.GetItemText(item).startswith(txt+' '):4036 if self.GPXtree.GetItemText(item).startswith(txt+' '): 4041 4037 copyList.append(item) 4042 item, cookie = self. PatternTree.GetNextChild(self.root, cookie)4038 item, cookie = self.GPXtree.GetNextChild(self.root, cookie) 4043 4039 4044 4040 self.ExpandingAll = True 4045 4041 try: 4046 4042 for item in copyList: 4047 name = self. PatternTree.GetItemText(item)4048 newId = self. PatternTree.AppendItem(self.root,name)4049 self. PatternTree.SetItemPyData(newId,self.PatternTree.GetItemPyData(item))4050 chld, chldcookie = self. PatternTree.GetFirstChild(item)4043 name = self.GPXtree.GetItemText(item) 4044 newId = self.GPXtree.AppendItem(self.root,name) 4045 self.GPXtree.SetItemPyData(newId,self.GPXtree.GetItemPyData(item)) 4046 chld, chldcookie = self.GPXtree.GetFirstChild(item) 4051 4047 while chld: 4052 chname = self. PatternTree.GetItemText(chld)4053 newCh = self. PatternTree.AppendItem(newId,chname)4054 self. PatternTree.SetItemPyData(newCh,self.PatternTree.GetItemPyData(chld))4055 chld, chldcookie = self. PatternTree.GetNextChild(item, chldcookie)4056 self. PatternTree.Delete(item)4048 chname = self.GPXtree.GetItemText(chld) 4049 newCh = self.GPXtree.AppendItem(newId,chname) 4050 self.GPXtree.SetItemPyData(newCh,self.GPXtree.GetItemPyData(chld)) 4051 chld, chldcookie = self.GPXtree.GetNextChild(item, chldcookie) 4052 self.GPXtree.Delete(item) 4057 4053 finally: 4058 4054 self.ExpandingAll = False … … 4087 4083 self.peaklistfile = G2IO.FileDlgFixExt(dlg,self.peaklistfile) 4088 4084 file = open(self.peaklistfile,'w') 4089 item, cookie = self. PatternTree.GetFirstChild(self.root)4085 item, cookie = self.GPXtree.GetFirstChild(self.root) 4090 4086 while item: 4091 name = self. PatternTree.GetItemText(item)4087 name = self.GPXtree.GetItemText(item) 4092 4088 if 'PWDR' in name: 4093 item2, cookie2 = self. PatternTree.GetFirstChild(item)4089 item2, cookie2 = self.GPXtree.GetFirstChild(item) 4094 4090 wave = 0.0 4095 4091 while item2: 4096 name2 = self. PatternTree.GetItemText(item2)4092 name2 = self.GPXtree.GetItemText(item2) 4097 4093 if name2 == 'Instrument Parameters': 4098 Inst = self. PatternTree.GetItemPyData(item2)[0]4094 Inst = self.GPXtree.GetItemPyData(item2)[0] 4099 4095 Type = Inst['Type'][0] 4100 4096 if 'T' not in Type: 4101 4097 wave = G2mth.getWave(Inst) 4102 4098 elif name2 == 'Peak List': 4103 pkdata = self. PatternTree.GetItemPyData(item2)4099 pkdata = self.GPXtree.GetItemPyData(item2) 4104 4100 peaks = pkdata['peaks'] 4105 4101 sigDict = pkdata['sigDict'] 4106 item2, cookie2 = self. PatternTree.GetNextChild(item, cookie2)4102 item2, cookie2 = self.GPXtree.GetNextChild(item, cookie2) 4107 4103 file.write("#%s \n" % (name+' Peak List')) 4108 4104 if wave: … … 4135 4131 file.write("%10.4f %10.5f %10.5f %12.2f %10.5f %10.5f %10.5f \n" % \ 4136 4132 (peak[0],dsp,esddsp,peak[2],np.sqrt(max(0.0001,peak[4]))/100.,peak[6]/100.,FWHM/100.)) #convert to deg 4137 item, cookie = self. PatternTree.GetNextChild(self.root, cookie)4133 item, cookie = self.GPXtree.GetNextChild(self.root, cookie) 4138 4134 file.close() 4139 4135 finally: … … 4149 4145 self.peaklistfile = G2IO.FileDlgFixExt(dlg,self.peaklistfile) 4150 4146 file = open(self.peaklistfile,'w') 4151 item, cookie = self. PatternTree.GetFirstChild(self.root)4147 item, cookie = self.GPXtree.GetFirstChild(self.root) 4152 4148 while item: 4153 name = self. PatternTree.GetItemText(item)4149 name = self.GPXtree.GetItemText(item) 4154 4150 if 'PWDR' in name: 4155 item2, cookie2 = self. PatternTree.GetFirstChild(item)4151 item2, cookie2 = self.GPXtree.GetFirstChild(item) 4156 4152 while item2: 4157 name2 = self. PatternTree.GetItemText(item2)4153 name2 = self.GPXtree.GetItemText(item2) 4158 4154 if name2 == 'Reflection Lists': 4159 data = self. PatternTree.GetItemPyData(item2)4155 data = self.GPXtree.GetItemPyData(item2) 4160 4156 phases = data.keys() 4161 4157 for phase in phases: … … 4185 4181 (int(peak[0]),int(peak[1]),int(peak[2]),int(peak[3]),peak[4],peak[5],FWHM/100., 4186 4182 peak[8],peak[9],peak[11],peak[12],peak[13],peak[14],I100[ipk])) 4187 item2, cookie2 = self. PatternTree.GetNextChild(item, cookie2)4188 item, cookie = self. PatternTree.GetNextChild(self.root, cookie)4183 item2, cookie2 = self.GPXtree.GetNextChild(item, cookie2) 4184 item, cookie = self.GPXtree.GetNextChild(self.root, cookie) 4189 4185 file.close() 4190 4186 finally: … … 4220 4216 Qlimits = [] 4221 4217 Names = [] 4222 if self. PatternTree.GetCount():4223 id, cookie = self. PatternTree.GetFirstChild(self.root)4218 if self.GPXtree.GetCount(): 4219 id, cookie = self.GPXtree.GetFirstChild(self.root) 4224 4220 while id: 4225 name = self. PatternTree.GetItemText(id)4221 name = self.GPXtree.GetItemText(id) 4226 4222 Names.append(name) 4227 4223 if 'PWDR' in name: 4228 4224 TextList.append(name) 4229 Data = self. PatternTree.GetItemPyData(id)[1]4225 Data = self.GPXtree.GetItemPyData(id)[1] 4230 4226 pwdrMin = np.min(Data[1]) 4231 Comments = self. PatternTree.GetItemPyData(GetPatternTreeItemId(self,id,'Comments'))4232 Parms = self. PatternTree.GetItemPyData(GetPatternTreeItemId(self,id,'Instrument Parameters'))[0]4233 fullLimits = self. PatternTree.GetItemPyData(GetPatternTreeItemId(self,id,'Limits'))[0]4227 Comments = self.GPXtree.GetItemPyData(GetGPXtreeItemId(self,id,'Comments')) 4228 Parms = self.GPXtree.GetItemPyData(GetGPXtreeItemId(self,id,'Instrument Parameters'))[0] 4229 fullLimits = self.GPXtree.GetItemPyData(GetGPXtreeItemId(self,id,'Limits'))[0] 4234 4230 if 'C' in Parms['Type'][0]: 4235 4231 wave = G2mth.getWave(Parms) … … 4259 4255 ElList[elem] = ElData 4260 4256 ElLists.append(ElList) 4261 id, cookie = self. PatternTree.GetNextChild(self.root, cookie)4257 id, cookie = self.GPXtree.GetNextChild(self.root, cookie) 4262 4258 if len(TextList) < 1: 4263 4259 self.ErrorDialog('Nothing to make PDFs for','There must be at least one "PWDR" pattern') … … 4267 4263 if dlg.ShowModal() == wx.ID_OK: 4268 4264 for i in dlg.GetSelections(): 4269 PDFnames = Get PatternTreeDataNames(self,['PDF ',])4265 PDFnames = GetGPXtreeDataNames(self,['PDF ',]) 4270 4266 G2obj.CreatePDFitems(self,TextList[i],ElLists[i],Qlimits[i],sumnum,pwdrMin,PDFnames) 4271 4267 for item in self.ExportPDF: item.Enable(True) … … 4285 4281 PWDRdata = {} 4286 4282 try: 4287 PWDRdata.update(self. PatternTree.GetItemPyData(PWDRname)[0]) #wtFactor + ?4283 PWDRdata.update(self.GPXtree.GetItemPyData(PWDRname)[0]) #wtFactor + ? 4288 4284 except ValueError: 4289 4285 PWDRdata['wtFactor'] = 1.0 4290 PWDRdata['Data'] = self. PatternTree.GetItemPyData(PWDRname)[1] #powder data arrays4291 PWDRdata['Limits'] = self. PatternTree.GetItemPyData(GetPatternTreeItemId(self,PWDRname,'Limits'))4292 PWDRdata['Background'] = self. PatternTree.GetItemPyData(GetPatternTreeItemId(self,PWDRname,'Background'))4293 PWDRdata['Instrument Parameters'] = self. PatternTree.GetItemPyData(GetPatternTreeItemId(self,PWDRname,'Instrument Parameters'))4294 PWDRdata['Sample Parameters'] = self. PatternTree.GetItemPyData(GetPatternTreeItemId(self,PWDRname,'Sample Parameters'))4295 PWDRdata['Reflection Lists'] = self. PatternTree.GetItemPyData(GetPatternTreeItemId(self,PWDRname,'Reflection Lists'))4286 PWDRdata['Data'] = self.GPXtree.GetItemPyData(PWDRname)[1] #powder data arrays 4287 PWDRdata['Limits'] = self.GPXtree.GetItemPyData(GetGPXtreeItemId(self,PWDRname,'Limits')) 4288 PWDRdata['Background'] = self.GPXtree.GetItemPyData(GetGPXtreeItemId(self,PWDRname,'Background')) 4289 PWDRdata['Instrument Parameters'] = self.GPXtree.GetItemPyData(GetGPXtreeItemId(self,PWDRname,'Instrument Parameters')) 4290 PWDRdata['Sample Parameters'] = self.GPXtree.GetItemPyData(GetGPXtreeItemId(self,PWDRname,'Sample Parameters')) 4291 PWDRdata['Reflection Lists'] = self.GPXtree.GetItemPyData(GetGPXtreeItemId(self,PWDRname,'Reflection Lists')) 4296 4292 if 'ranId' not in PWDRdata: # patch, add a random Id 4297 4293 PWDRdata['ranId'] = ran.randint(0,sys.maxint) … … 4311 4307 ''' 4312 4308 HKLFdata = {} 4313 HKLFdata.update(self. PatternTree.GetItemPyData(HKLFname)[0]) #wtFactor + ?4309 HKLFdata.update(self.GPXtree.GetItemPyData(HKLFname)[0]) #wtFactor + ? 4314 4310 # try: 4315 # HKLFdata.update(self. PatternTree.GetItemPyData(HKLFname)[0]) #wtFactor + ?4311 # HKLFdata.update(self.GPXtree.GetItemPyData(HKLFname)[0]) #wtFactor + ? 4316 4312 # except ValueError: 4317 4313 # HKLFdata['wtFactor'] = 1.0 4318 HKLFdata['Data'] = self. PatternTree.GetItemPyData(HKLFname)[1]4319 HKLFdata['Instrument Parameters'] = self. PatternTree.GetItemPyData(GetPatternTreeItemId(self,HKLFname,'Instrument Parameters'))4314 HKLFdata['Data'] = self.GPXtree.GetItemPyData(HKLFname)[1] 4315 HKLFdata['Instrument Parameters'] = self.GPXtree.GetItemPyData(GetGPXtreeItemId(self,HKLFname,'Instrument Parameters')) 4320 4316 return HKLFdata 4321 4317 … … 4326 4322 ''' 4327 4323 phaseData = {} 4328 if Get PatternTreeItemId(self,self.root,'Phases'):4329 sub = Get PatternTreeItemId(self,self.root,'Phases')4324 if GetGPXtreeItemId(self,self.root,'Phases'): 4325 sub = GetGPXtreeItemId(self,self.root,'Phases') 4330 4326 else: 4331 4327 print 'no phases found in GetPhaseData' 4332 4328 sub = None 4333 4329 if sub: 4334 item, cookie = self. PatternTree.GetFirstChild(sub)4330 item, cookie = self.GPXtree.GetFirstChild(sub) 4335 4331 while item: 4336 phaseName = self. PatternTree.GetItemText(item)4337 phaseData[phaseName] = self. PatternTree.GetItemPyData(item)4332 phaseName = self.GPXtree.GetItemText(item) 4333 phaseData[phaseName] = self.GPXtree.GetItemPyData(item) 4338 4334 if 'ranId' not in phaseData[phaseName]: 4339 4335 phaseData[phaseName]['ranId'] = ran.randint(0,sys.maxint) 4340 item, cookie = self. PatternTree.GetNextChild(sub, cookie)4336 item, cookie = self.GPXtree.GetNextChild(sub, cookie) 4341 4337 return phaseData 4342 4338 … … 4354 4350 phaseRIdList = [] 4355 4351 usedHistograms = {} 4356 sub = Get PatternTreeItemId(self,self.root,'Phases')4352 sub = GetGPXtreeItemId(self,self.root,'Phases') 4357 4353 if sub: 4358 item, cookie = self. PatternTree.GetFirstChild(sub)4354 item, cookie = self.GPXtree.GetFirstChild(sub) 4359 4355 while item: 4360 phaseName = self. PatternTree.GetItemText(item)4361 ranId = self. PatternTree.GetItemPyData(item).get('ranId')4356 phaseName = self.GPXtree.GetItemText(item) 4357 ranId = self.GPXtree.GetItemPyData(item).get('ranId') 4362 4358 if ranId: phaseRIdList.append(ranId) 4363 data = self. PatternTree.GetItemPyData(item)4359 data = self.GPXtree.GetItemPyData(item) 4364 4360 UseList = data['Histograms'] 4365 4361 usedHistograms[phaseName] = UseList.keys() 4366 item, cookie = self. PatternTree.GetNextChild(sub, cookie)4362 item, cookie = self.GPXtree.GetNextChild(sub, cookie) 4367 4363 return phaseRIdList,usedHistograms 4368 4364 … … 4373 4369 ''' 4374 4370 phaseNames = [] 4375 if Get PatternTreeItemId(self,self.root,'Phases'):4376 sub = Get PatternTreeItemId(self,self.root,'Phases')4371 if GetGPXtreeItemId(self,self.root,'Phases'): 4372 sub = GetGPXtreeItemId(self,self.root,'Phases') 4377 4373 else: 4378 4374 print 'no phases found in GetPhaseNames' 4379 4375 sub = None 4380 4376 if sub: 4381 item, cookie = self. PatternTree.GetFirstChild(sub)4377 item, cookie = self.GPXtree.GetFirstChild(sub) 4382 4378 while item: 4383 phase = self. PatternTree.GetItemText(item)4379 phase = self.GPXtree.GetItemText(item) 4384 4380 phaseNames.append(phase) 4385 item, cookie = self. PatternTree.GetNextChild(sub, cookie)4381 item, cookie = self.GPXtree.GetNextChild(sub, cookie) 4386 4382 return phaseNames 4387 4383 … … 4396 4392 """ 4397 4393 HistogramNames = [] 4398 if self. PatternTree.GetCount():4399 item, cookie = self. PatternTree.GetFirstChild(self.root)4394 if self.GPXtree.GetCount(): 4395 item, cookie = self.GPXtree.GetFirstChild(self.root) 4400 4396 while item: 4401 name = self. PatternTree.GetItemText(item)4397 name = self.GPXtree.GetItemText(item) 4402 4398 if name[:4] in hType: 4403 4399 HistogramNames.append(name) 4404 item, cookie = self. PatternTree.GetNextChild(self.root, cookie)4400 item, cookie = self.GPXtree.GetNextChild(self.root, cookie) 4405 4401 4406 4402 return HistogramNames … … 4436 4432 Phase['Histograms'][hist]['Use'] = True 4437 4433 if hist not in Histograms and Phase['Histograms'][hist]['Use']: 4438 item = Get PatternTreeItemId(self,self.root,hist)4434 item = GetGPXtreeItemId(self,self.root,hist) 4439 4435 if item: 4440 4436 if 'PWDR' in hist[:4]: … … 4474 4470 self.ErrorDialog('View parameter error','You must run least squares at least once') 4475 4471 raise Exception,'No pId for phase '+phase 4476 rigidbodyDict = self. PatternTree.GetItemPyData(4477 Get PatternTreeItemId(self,self.root,'Rigid bodies'))4472 rigidbodyDict = self.GPXtree.GetItemPyData( 4473 GetGPXtreeItemId(self,self.root,'Rigid bodies')) 4478 4474 rbVary,rbDict = G2stIO.GetRigidBodyModels(rigidbodyDict,Print=False) 4479 4475 rbIds = rigidbodyDict.get('RBIds',{'Vector':[],'Residue':[]}) … … 4519 4515 try: 4520 4516 # process constraints 4521 sub = Get PatternTreeItemId(self,self.root,'Constraints')4522 Constraints = self. PatternTree.GetItemPyData(sub)4517 sub = GetGPXtreeItemId(self,self.root,'Constraints') 4518 Constraints = self.GPXtree.GetItemPyData(sub) 4523 4519 constList = [] 4524 4520 for item in Constraints: … … 4540 4536 Called from the Calculate/Refine menu. 4541 4537 ''' 4542 Id = Get PatternTreeItemId(self,self.root,'Sequential results')4538 Id = GetGPXtreeItemId(self,self.root,'Sequential results') 4543 4539 if Id: 4544 4540 dlg = wx.MessageDialog( … … 4547 4543 'Remove sequential results?',wx.OK|wx.CANCEL) 4548 4544 if dlg.ShowModal() == wx.ID_OK: 4549 self. PatternTree.Delete(Id)4545 self.GPXtree.Delete(Id) 4550 4546 dlg.Destroy() 4551 4547 else: … … 4574 4570 Rw = 100.00 4575 4571 self.SaveTreeSetting() 4576 self. PatternTree.SaveExposedItems()4572 self.GPXtree.SaveExposedItems() 4577 4573 try: 4578 4574 OK,Msg = G2stMn.Refine(self.GSASprojectfile,dlg) #Msg is Rvals dict if Ok=True … … 4593 4589 try: 4594 4590 if dlg2.ShowModal() == wx.ID_OK: 4595 self. PatternTree.DeleteChildren(self.root)4591 self.GPXtree.DeleteChildren(self.root) 4596 4592 self.HKL = [] 4597 4593 G2IO.ProjFileOpen(self,False) 4598 self. PatternTree.RestoreExposedItems()4594 self.GPXtree.RestoreExposedItems() 4599 4595 self.ResetPlots() 4600 4596 finally: … … 4605 4601 def SaveTreeSetting(self): 4606 4602 'Save the last tree setting' 4607 oldId = self. PatternTree.GetSelection() #retain current selection4603 oldId = self.GPXtree.GetSelection() #retain current selection 4608 4604 oldPath = self.GetTreeItemsList(oldId) 4609 4605 self.lastTreeSetting = oldPath … … 4611 4607 #parentName = '' 4612 4608 #tabId = None 4613 # parentId = self. PatternTree.GetItemParent(oldId)4609 # parentId = self.GPXtree.GetItemParent(oldId) 4614 4610 # if parentId: 4615 # parentName = self. PatternTree.GetItemText(parentId) #find the current data tree name4611 # parentName = self.GPXtree.GetItemText(parentId) #find the current data tree name 4616 4612 # if 'Phases' in parentName: 4617 4613 # tabId = self.dataDisplay.GetSelection() … … 4644 4640 Id = self.root 4645 4641 for txt in oldPath: 4646 Id = Get PatternTreeItemId(self, Id, txt)4642 Id = GetGPXtreeItemId(self, Id, txt) 4647 4643 self.PickIdText = None #force reload of page 4648 4644 if Id: 4649 4645 self.PickId = Id 4650 self. PatternTree.SelectItem(Id)4646 self.GPXtree.SelectItem(Id) 4651 4647 # update other self-updating plots 4652 4648 # for lbl,frame in zip(self.G2plotNB.plotList,self.G2plotNB.panelList): … … 4665 4661 Called from the Calculate/Sequential refine menu. 4666 4662 ''' 4667 Id = Get PatternTreeItemId(self,self.root,'Sequential results')4663 Id = GetGPXtreeItemId(self,self.root,'Sequential results') 4668 4664 if not Id: 4669 Id = self. PatternTree.AppendItem(self.root,text='Sequential results')4670 self. PatternTree.SetItemPyData(Id,{})4665 Id = self.GPXtree.AppendItem(self.root,text='Sequential results') 4666 self.GPXtree.SetItemPyData(Id,{}) 4671 4667 self.G2plotNB.Delete('Sequential refinement') #clear away probably invalid plot 4672 Controls = self. PatternTree.GetItemPyData(GetPatternTreeItemId(self,self.root, 'Controls'))4668 Controls = self.GPXtree.GetItemPyData(GetGPXtreeItemId(self,self.root, 'Controls')) 4673 4669 if not Controls.get('Seq Data'): 4674 4670 print('Error: a sequential refinement has not been set up') … … 4688 4684 warnmsg+'\nRefinement not possible') 4689 4685 return 4690 self. PatternTree.SaveExposedItems()4686 self.GPXtree.SaveExposedItems() 4691 4687 dlg = wx.ProgressDialog('Residual for histogram 0','Powder profile Rwp =',101.0, 4692 4688 style = wx.PD_ELAPSED_TIME|wx.PD_AUTO_HIDE|wx.PD_CAN_ABORT, … … 4707 4703 if dlg.ShowModal() == wx.ID_OK: 4708 4704 self.PickIdText = None #force reload of PickId contents 4709 self. PatternTree.DeleteChildren(self.root)4705 self.GPXtree.DeleteChildren(self.root) 4710 4706 if len(self.HKL): self.HKL = [] 4711 4707 if self.G2plotNB.plotList: 4712 4708 self.G2plotNB.clear() 4713 4709 G2IO.ProjFileOpen(self,False) 4714 self. PatternTree.RestoreExposedItems()4710 self.GPXtree.RestoreExposedItems() 4715 4711 self.ResetPlots() 4716 Id = Get PatternTreeItemId(self,self.root,'Sequential results')4717 self. PatternTree.SelectItem(Id)4712 Id = GetGPXtreeItemId(self,self.root,'Sequential results') 4713 self.GPXtree.SelectItem(Id) 4718 4714 finally: 4719 4715 dlg.Destroy() … … 5786 5782 # '''Keep track of size changes for Phase windows 5787 5783 # ''' 5788 # id = self.G2frame. PatternTree.GetSelection()5784 # id = self.G2frame.GPXtree.GetSelection() 5789 5785 # try: 5790 # parent = self.G2frame. PatternTree.GetItemParent(id)5786 # parent = self.G2frame.GPXtree.GetItemParent(id) 5791 5787 # except: #avoid bad tree item on start via gpx file selection 5792 5788 # parent = 0 5793 # if self.userReSize and parent and self.G2frame. PatternTree.GetItemText(parent) == "Phases":5789 # if self.userReSize and parent and self.G2frame.GPXtree.GetItemText(parent) == "Phases": 5794 5790 # newSize = event.EventObject.GetSize() 5795 5791 # if newSize[1] < 200: return #avois spurious small window after Refine … … 5826 5822 event.Skip() 5827 5823 data = text.GetValue().split('\n') 5828 G2frame. PatternTree.SetItemPyData(GetPatternTreeItemId(G2frame,G2frame.root,'Notebook'),data)5824 G2frame.GPXtree.SetItemPyData(GetGPXtreeItemId(G2frame,G2frame.root,'Notebook'),data) 5829 5825 if 'nt' not in os.name: 5830 5826 text.AppendText('\n') … … 5917 5913 5918 5914 def OnSelectData(event): 5919 choices = Get PatternTreeDataNames(G2frame,['PWDR','HKLF',])5915 choices = GetGPXtreeDataNames(G2frame,['PWDR','HKLF',]) 5920 5916 sel = [] 5921 5917 try: … … 6125 6121 'FreePrm1':[],'FreePrm2':[],'FreePrm3':[],'Omega':[], 6126 6122 'Chi':[],'Phi':[],'Azimuth':[],} 6127 Controls = G2frame. PatternTree.GetItemPyData(6128 Get PatternTreeItemId(G2frame,G2frame.root, 'Controls'))6123 Controls = G2frame.GPXtree.GetItemPyData( 6124 GetGPXtreeItemId(G2frame,G2frame.root, 'Controls')) 6129 6125 sampleParm = {} 6130 6126 for name in histNames: … … 6137 6133 if 'PDF' in name: 6138 6134 name = 'PWDR' + name[4:] 6139 Id = Get PatternTreeItemId(G2frame,G2frame.root,name)6135 Id = GetGPXtreeItemId(G2frame,G2frame.root,name) 6140 6136 if Id: 6141 sampleData = G2frame. PatternTree.GetItemPyData(GetPatternTreeItemId(G2frame,Id,'Sample Parameters'))6137 sampleData = G2frame.GPXtree.GetItemPyData(GetGPXtreeItemId(G2frame,Id,'Sample Parameters')) 6142 6138 for item in sampleParmDict: 6143 6139 sampleParmDict[item].append(sampleData.get(item,0)) … … 6176 6172 if not name.startswith('PWDR'): return 6177 6173 pickId = G2frame.PickId 6178 G2frame.PickId = G2frame.PatternId = Get PatternTreeItemId(G2frame, G2frame.root, name)6174 G2frame.PickId = G2frame.PatternId = GetGPXtreeItemId(G2frame, G2frame.root, name) 6179 6175 G2plt.PlotPatterns(G2frame,newPlot=True,plotType='PWDR') 6180 6176 G2frame.PickId = pickId … … 6906 6902 data['variableLabels'] = variableLabels 6907 6903 Histograms,Phases = G2frame.GetUsedHistogramsAndPhasesfromTree() 6908 Controls = G2frame. PatternTree.GetItemPyData(GetPatternTreeItemId(G2frame,G2frame.root,'Controls'))6904 Controls = G2frame.GPXtree.GetItemPyData(GetGPXtreeItemId(G2frame,G2frame.root,'Controls')) 6909 6905 # create a place to store Pseudo Vars & Parametric Fit functions, if not present 6910 6906 if 'SeqPseudoVars' not in data: data['SeqPseudoVars'] = {} … … 7381 7377 Tmin = newdata[0] 7382 7378 Tmax = newdata[-1] 7383 G2frame. PatternTree.SetItemPyData(GetPatternTreeItemId(G2frame,item,'Limits'),7379 G2frame.GPXtree.SetItemPyData(GetGPXtreeItemId(G2frame,item,'Limits'), 7384 7380 [(Tmin,Tmax),[Tmin,Tmax]]) 7385 7381 UpdatePWHKPlot(G2frame,kind,item) # redisplay data screen … … 7398 7394 7399 7395 def OnPlotAll3DHKL(event): 7400 choices = Get PatternTreeDataNames(G2frame,['HKLF',])7396 choices = GetGPXtreeDataNames(G2frame,['HKLF',]) 7401 7397 dlg = G2G.G2MultiChoiceDialog(G2frame, 'Select reflection sets to plot', 7402 7398 'Use data',choices) … … 7410 7406 refList = np.zeros(0) 7411 7407 for name in refNames: 7412 Id = Get PatternTreeItemId(G2frame,G2frame.root, name)7413 reflData = G2frame. PatternTree.GetItemPyData(Id)[1]7408 Id = GetGPXtreeItemId(G2frame,G2frame.root, name) 7409 reflData = G2frame.GPXtree.GetItemPyData(Id)[1] 7414 7410 if len(refList): 7415 7411 refList = np.concatenate((refList,reflData['RefList'])) … … 7428 7424 7429 7425 def OnMergeHKL(event): 7430 Name = G2frame. PatternTree.GetItemText(G2frame.PatternId)7431 Inst = G2frame. PatternTree.GetItemPyData(GetPatternTreeItemId(G2frame,7426 Name = G2frame.GPXtree.GetItemText(G2frame.PatternId) 7427 Inst = G2frame.GPXtree.GetItemPyData(GetGPXtreeItemId(G2frame, 7432 7428 G2frame.PatternId,'Instrument Parameters')) 7433 CId = Get PatternTreeItemId(G2frame,G2frame.PatternId,'Comments')7429 CId = GetGPXtreeItemId(G2frame,G2frame.PatternId,'Comments') 7434 7430 if CId: 7435 Comments = G2frame. PatternTree.GetItemPyData(CId)7431 Comments = G2frame.GPXtree.GetItemPyData(CId) 7436 7432 else: 7437 7433 Comments = [] … … 7500 7496 HKLFlist = [] 7501 7497 newName = Name+' '+Laue 7502 if G2frame. PatternTree.GetCount():7503 item, cookie = G2frame. PatternTree.GetFirstChild(G2frame.root)7498 if G2frame.GPXtree.GetCount(): 7499 item, cookie = G2frame.GPXtree.GetFirstChild(G2frame.root) 7504 7500 while item: 7505 name = G2frame. PatternTree.GetItemText(item)7501 name = G2frame.GPXtree.GetItemText(item) 7506 7502 if name.startswith('HKLF ') and name not in HKLFlist: 7507 7503 HKLFlist.append(name) 7508 item, cookie = G2frame. PatternTree.GetNextChild(G2frame.root, cookie)7504 item, cookie = G2frame.GPXtree.GetNextChild(G2frame.root, cookie) 7509 7505 newName = G2obj.MakeUniqueLabel(newName,HKLFlist) 7510 7506 newData = copy.deepcopy(data) 7511 7507 newData[0]['ranId'] = ran.randint(0,sys.maxint) 7512 7508 newData[1]['RefList'] = mergeRef 7513 Id = G2frame. PatternTree.AppendItem(parent=G2frame.root,text=newName)7514 G2frame. PatternTree.SetItemPyData(7515 G2frame. PatternTree.AppendItem(Id,text='Comments'),Comments)7516 G2frame. PatternTree.SetItemPyData(Id,newData)7517 G2frame. PatternTree.SetItemPyData(7518 G2frame. PatternTree.AppendItem(Id,text='Instrument Parameters'),Inst)7519 G2frame. PatternTree.SetItemPyData(7520 G2frame. PatternTree.AppendItem(Id,text='Reflection List'),{}) #dummy entry for GUI use7509 Id = G2frame.GPXtree.AppendItem(parent=G2frame.root,text=newName) 7510 G2frame.GPXtree.SetItemPyData( 7511 G2frame.GPXtree.AppendItem(Id,text='Comments'),Comments) 7512 G2frame.GPXtree.SetItemPyData(Id,newData) 7513 G2frame.GPXtree.SetItemPyData( 7514 G2frame.GPXtree.AppendItem(Id,text='Instrument Parameters'),Inst) 7515 G2frame.GPXtree.SetItemPyData( 7516 G2frame.GPXtree.AppendItem(Id,text='Reflection List'),{}) #dummy entry for GUI use 7521 7517 7522 7518 def OnErrorAnalysis(event): … … 7538 7534 G2pdG.CopySelectedHistItems(G2frame) 7539 7535 7540 data = G2frame. PatternTree.GetItemPyData(item)7541 G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+G2frame. PatternTree.GetItemText(item))7536 data = G2frame.GPXtree.GetItemPyData(item) 7537 G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+G2frame.GPXtree.GetItemText(item)) 7542 7538 #patches 7543 7539 if not data: … … 7554 7550 RefData['FF'].append(ref[14]) 7555 7551 data[1] = RefData 7556 G2frame. PatternTree.SetItemPyData(item,data)7552 G2frame.GPXtree.SetItemPyData(item,data) 7557 7553 #end patches 7558 7554 if kind in ['PWDR','SASD','REFD']: … … 7630 7626 G2frame.SetDataSize() 7631 7627 7632 G2frame. PatternTree.SetItemPyData(item,data)7628 G2frame.GPXtree.SetItemPyData(item,data) 7633 7629 G2frame.PatternId = item 7634 7630 if kind in ['PWDR','SASD','REFD',]: … … 7638 7634 G2plt.PlotPatterns(G2frame,plotType=kind,newPlot=NewPlot) 7639 7635 elif kind == 'HKLF': 7640 Name = G2frame. PatternTree.GetItemText(item)7636 Name = G2frame.GPXtree.GetItemText(item) 7641 7637 phaseName = G2pdG.IsHistogramInAnyPhase(G2frame,Name) 7642 7638 if phaseName: 7643 pId = Get PatternTreeItemId(G2frame,G2frame.root,'Phases')7644 phaseId = Get PatternTreeItemId(G2frame,pId,phaseName)7645 General = G2frame. PatternTree.GetItemPyData(phaseId)['General']7639 pId = GetGPXtreeItemId(G2frame,G2frame.root,'Phases') 7640 phaseId = GetGPXtreeItemId(G2frame,pId,phaseName) 7641 General = G2frame.GPXtree.GetItemPyData(phaseId)['General'] 7646 7642 Super = General.get('Super',0) 7647 7643 SuperVec = General.get('SuperVec',[]) … … 7671 7667 ################################################################################ 7672 7668 7673 def Get PatternTreeDataNames(G2frame,dataTypes):7669 def GetGPXtreeDataNames(G2frame,dataTypes): 7674 7670 '''Finds all items in tree that match a 4 character prefix 7675 7671 … … 7680 7676 ''' 7681 7677 names = [] 7682 item, cookie = G2frame. PatternTree.GetFirstChild(G2frame.root)7678 item, cookie = G2frame.GPXtree.GetFirstChild(G2frame.root) 7683 7679 while item: 7684 name = G2frame. PatternTree.GetItemText(item)7680 name = G2frame.GPXtree.GetItemText(item) 7685 7681 if name[:4] in dataTypes: 7686 7682 names.append(name) 7687 item, cookie = G2frame. PatternTree.GetNextChild(G2frame.root, cookie)7683 item, cookie = G2frame.GPXtree.GetNextChild(G2frame.root, cookie) 7688 7684 return names 7689 7685 7690 def Get PatternTreeItemId(G2frame, parentId, itemText):7686 def GetGPXtreeItemId(G2frame, parentId, itemText): 7691 7687 '''Find the tree item that matches the text in itemText starting with parentId 7692 7688 … … 7695 7691 :param str itemText: text for tree item 7696 7692 ''' 7697 item, cookie = G2frame. PatternTree.GetFirstChild(parentId)7693 item, cookie = G2frame.GPXtree.GetFirstChild(parentId) 7698 7694 while item: 7699 if G2frame. PatternTree.GetItemText(item) == itemText:7695 if G2frame.GPXtree.GetItemText(item) == itemText: 7700 7696 return item 7701 item, cookie = G2frame. PatternTree.GetNextChild(parentId, cookie)7697 item, cookie = G2frame.GPXtree.GetNextChild(parentId, cookie) 7702 7698 return 0 7703 7699 7704 7700 def SelectDataTreeItem(G2frame,item,oldFocus=None): 7705 7701 '''Called from :meth:`GSASII.GSASII.OnDataTreeSelChanged` when a item is selected on the tree. 7706 Also called from GSASII.On PatternTreeEndDrag, OnAddPhase -- might be better to select item, triggering7702 Also called from GSASII.OnGPXtreeEndDrag, OnAddPhase -- might be better to select item, triggering 7707 7703 the the bind to SelectDataTreeItem 7708 7704 … … 7727 7723 data = [G2frame.dataDisplay.GetValue()] 7728 7724 G2frame.dataDisplay.Clear() 7729 Id = Get PatternTreeItemId(G2frame,G2frame.root, 'Comments')7730 if Id: G2frame. PatternTree.SetItemPyData(Id,data)7725 Id = GetGPXtreeItemId(G2frame,G2frame.root, 'Comments') 7726 if Id: G2frame.GPXtree.SetItemPyData(Id,data) 7731 7727 except: #clumsy but avoids dead window problem when opening another project 7732 7728 pass … … 7735 7731 data = [G2frame.dataDisplay.GetValue()] 7736 7732 G2frame.dataDisplay.Clear() 7737 Id = Get PatternTreeItemId(G2frame,G2frame.root, 'Notebook')7738 if Id: G2frame. PatternTree.SetItemPyData(Id,data)7733 Id = GetGPXtreeItemId(G2frame,G2frame.root, 'Notebook') 7734 if Id: G2frame.GPXtree.SetItemPyData(Id,data) 7739 7735 except: #clumsy but avoids dead window problem when opening another project 7740 7736 pass … … 7755 7751 else: 7756 7752 try: #don't know why here when opening new project from inside phase data! 7757 parentID = G2frame. PatternTree.GetItemParent(item)7753 parentID = G2frame.GPXtree.GetItemParent(item) 7758 7754 # save name of calling tree item for help. N.B. may want to override this later 7759 prfx = G2frame. PatternTree.GetItemText(item).split()[0]7760 prfx1 = G2frame. PatternTree.GetItemText(parentID).split()[0]7755 prfx = G2frame.GPXtree.GetItemText(item).split()[0] 7756 prfx1 = G2frame.GPXtree.GetItemText(parentID).split()[0] 7761 7757 if prfx in ('IMG','PKS','PWDR','SASD','HKLF','PDF','refd',): 7762 7758 G2frame.dataFrame.helpKey = prfx 7763 7759 elif prfx1 in ('IMG','PKS','PWDR','SASD','HKLF','PDF','REFD',): 7764 suffix = G2frame. PatternTree.GetItemText(item)7760 suffix = G2frame.GPXtree.GetItemText(item) 7765 7761 suffix1 = suffix.split()[0] 7766 7762 if '(Q)' in suffix1 or '(R)' in suffix1: suffix = suffix1 7767 7763 G2frame.dataFrame.helpKey = prfx1 + '_' + suffix 7768 7764 else: 7769 G2frame.dataFrame.helpKey = G2frame. PatternTree.GetItemText(item) # save name of calling tree item for help7765 G2frame.dataFrame.helpKey = G2frame.GPXtree.GetItemText(item) # save name of calling tree item for help 7770 7766 except IndexError: 7771 7767 print 'bug: why here?' 7772 7768 return 7773 if G2frame. PatternTree.GetItemParent(item) == G2frame.root:7769 if G2frame.GPXtree.GetItemParent(item) == G2frame.root: 7774 7770 G2frame.PatternId = 0 7775 if G2frame. PatternTree.GetItemText(item) == 'Notebook':7771 if G2frame.GPXtree.GetItemText(item) == 'Notebook': 7776 7772 SetDataMenuBar(G2frame,G2frame.dataWindow.DataNotebookMenu) 7777 data = G2frame. PatternTree.GetItemPyData(item)7773 data = G2frame.GPXtree.GetItemPyData(item) 7778 7774 UpdateNotebook(G2frame,data) 7779 elif G2frame. PatternTree.GetItemText(item) == 'Controls':7780 data = G2frame. PatternTree.GetItemPyData(item)7775 elif G2frame.GPXtree.GetItemText(item) == 'Controls': 7776 data = G2frame.GPXtree.GetItemPyData(item) 7781 7777 if not data: #fill in defaults 7782 7778 data = copy.copy(G2obj.DefaultControls) #least squares controls 7783 G2frame. PatternTree.SetItemPyData(item,data)7779 G2frame.GPXtree.SetItemPyData(item,data) 7784 7780 for i in G2frame.Refine: i.Enable(True) 7785 7781 G2frame.EnableSeqRefineMenu() 7786 7782 UpdateControls(G2frame,data) 7787 elif G2frame. PatternTree.GetItemText(item).startswith('Sequential '):7783 elif G2frame.GPXtree.GetItemText(item).startswith('Sequential '): 7788 7784 G2frame.dataFrame.helpKey = 'Sequential' # for now all sequential refinements are documented in one place 7789 data = G2frame. PatternTree.GetItemPyData(item)7785 data = G2frame.GPXtree.GetItemPyData(item) 7790 7786 UpdateSeqResults(G2frame,data) 7791 elif G2frame. PatternTree.GetItemText(item) == 'Covariance':7792 data = G2frame. PatternTree.GetItemPyData(item)7787 elif G2frame.GPXtree.GetItemText(item) == 'Covariance': 7788 data = G2frame.GPXtree.GetItemPyData(item) 7793 7789 text = '' 7794 7790 if 'Rvals' in data: … … 7804 7800 value='See plot window for covariance display'+text,style=wx.TE_MULTILINE) 7805 7801 G2plt.PlotCovariance(G2frame,data) 7806 elif G2frame. PatternTree.GetItemText(item) == 'Constraints':7807 data = G2frame. PatternTree.GetItemPyData(item)7802 elif G2frame.GPXtree.GetItemText(item) == 'Constraints': 7803 data = G2frame.GPXtree.GetItemPyData(item) 7808 7804 G2cnstG.UpdateConstraints(G2frame,data) 7809 elif G2frame. PatternTree.GetItemText(item) == 'Rigid bodies':7810 data = G2frame. PatternTree.GetItemPyData(item)7805 elif G2frame.GPXtree.GetItemText(item) == 'Rigid bodies': 7806 data = G2frame.GPXtree.GetItemPyData(item) 7811 7807 G2cnstG.UpdateRigidBodies(G2frame,data) 7812 elif G2frame. PatternTree.GetItemText(item) == 'Restraints':7813 data = G2frame. PatternTree.GetItemPyData(item)7808 elif G2frame.GPXtree.GetItemText(item) == 'Restraints': 7809 data = G2frame.GPXtree.GetItemPyData(item) 7814 7810 Phases = G2frame.GetPhaseData() 7815 7811 phaseName = '' … … 7817 7813 phaseName = Phases.keys()[0] 7818 7814 G2restG.UpdateRestraints(G2frame,data,Phases,phaseName) 7819 elif G2frame. PatternTree.GetItemText(item).startswith('IMG '):7815 elif G2frame.GPXtree.GetItemText(item).startswith('IMG '): 7820 7816 G2frame.Image = item 7821 7817 G2frame.SetTitle('Image Data') 7822 data = G2frame. PatternTree.GetItemPyData(GetPatternTreeItemId(7818 data = G2frame.GPXtree.GetItemPyData(GetGPXtreeItemId( 7823 7819 G2frame,item,'Image Controls')) 7824 7820 G2imG.UpdateImageData(G2frame,data) 7825 7821 G2plt.PlotImage(G2frame,newPlot=True) 7826 elif G2frame. PatternTree.GetItemText(item).startswith('PKS '):7822 elif G2frame.GPXtree.GetItemText(item).startswith('PKS '): 7827 7823 G2plt.PlotPowderLines(G2frame) 7828 elif G2frame. PatternTree.GetItemText(item).startswith('PWDR '):7824 elif G2frame.GPXtree.GetItemText(item).startswith('PWDR '): 7829 7825 G2frame.PatternId = item 7830 7826 #for i in G2frame.ExportPattern: i.Enable(True) 7831 7827 if G2frame.EnablePlot: 7832 7828 UpdatePWHKPlot(G2frame,'PWDR',item) 7833 elif G2frame. PatternTree.GetItemText(item).startswith('SASD '):7829 elif G2frame.GPXtree.GetItemText(item).startswith('SASD '): 7834 7830 G2frame.PatternId = item 7835 7831 #for i in G2frame.ExportPattern: i.Enable(True) 7836 7832 if G2frame.EnablePlot: 7837 7833 UpdatePWHKPlot(G2frame,'SASD',item) 7838 elif G2frame. PatternTree.GetItemText(item).startswith('REFD '):7834 elif G2frame.GPXtree.GetItemText(item).startswith('REFD '): 7839 7835 G2frame.PatternId = item 7840 7836 #for i in G2frame.ExportPattern: i.Enable(True) 7841 7837 if G2frame.EnablePlot: 7842 7838 UpdatePWHKPlot(G2frame,'REFD',item) 7843 elif G2frame. PatternTree.GetItemText(item).startswith('HKLF '):7839 elif G2frame.GPXtree.GetItemText(item).startswith('HKLF '): 7844 7840 G2frame.Sngl = True 7845 7841 UpdatePWHKPlot(G2frame,'HKLF',item) 7846 elif G2frame. PatternTree.GetItemText(item).startswith('PDF '):7842 elif G2frame.GPXtree.GetItemText(item).startswith('PDF '): 7847 7843 G2frame.PatternId = item 7848 7844 for i in G2frame.ExportPDF: i.Enable(True) # this should be done on .gpx load; is done on OnMakePDFs (GSASII.py) 7849 data = G2frame. PatternTree.GetItemPyData(GetPatternTreeItemId(G2frame,item,'PDF Controls'))7845 data = G2frame.GPXtree.GetItemPyData(GetGPXtreeItemId(G2frame,item,'PDF Controls')) 7850 7846 G2pdG.UpdatePDFGrid(G2frame,data) 7851 7847 if len(data['G(R)']): 7852 7848 G2plt.PlotISFG(G2frame,data,plotType='G(R)') 7853 elif G2frame. PatternTree.GetItemText(item) == 'Phases':7849 elif G2frame.GPXtree.GetItemText(item) == 'Phases': 7854 7850 wx.TextCtrl(parent=G2frame.dataFrame,size=G2frame.dataFrame.GetClientSize(), 7855 7851 value='Select one phase to see its parameters') 7856 elif G2frame. PatternTree.GetItemText(item) == 'PDF Peaks':7857 G2frame.PatternId = G2frame. PatternTree.GetItemParent(item)7858 peaks = G2frame. PatternTree.GetItemPyData(GetPatternTreeItemId(G2frame,G2frame.PatternId,'PDF Peaks'))7859 data = G2frame. PatternTree.GetItemPyData(GetPatternTreeItemId(G2frame,G2frame.PatternId,'PDF Controls'))7852 elif G2frame.GPXtree.GetItemText(item) == 'PDF Peaks': 7853 G2frame.PatternId = G2frame.GPXtree.GetItemParent(item) 7854 peaks = G2frame.GPXtree.GetItemPyData(GetGPXtreeItemId(G2frame,G2frame.PatternId,'PDF Peaks')) 7855 data = G2frame.GPXtree.GetItemPyData(GetGPXtreeItemId(G2frame,G2frame.PatternId,'PDF Controls')) 7860 7856 G2pdG.UpdatePDFPeaks(G2frame,peaks,data) 7861 7857 if len(data['G(R)']): 7862 7858 G2plt.PlotISFG(G2frame,data,plotType='G(R)',newPlot=True,peaks=peaks) 7863 elif G2frame. PatternTree.GetItemText(item) == 'PDF Controls':7859 elif G2frame.GPXtree.GetItemText(item) == 'PDF Controls': 7864 7860 for i in G2frame.ExportPDF: i.Enable(True) # this should be done on .gpx load; is done on OnMakePDFs (GSASII.py) 7865 G2frame.dataFrame.helpKey = G2frame. PatternTree.GetItemText(item) # special treatment to avoid PDF_PDF Controls7866 G2frame.PatternId = G2frame. PatternTree.GetItemParent(item)7867 data = G2frame. PatternTree.GetItemPyData(item)7861 G2frame.dataFrame.helpKey = G2frame.GPXtree.GetItemText(item) # special treatment to avoid PDF_PDF Controls 7862 G2frame.PatternId = G2frame.GPXtree.GetItemParent(item) 7863 data = G2frame.GPXtree.GetItemPyData(item) 7868 7864 G2pdG.UpdatePDFGrid(G2frame,data) 7869 7865 if len(data['G(R)']): … … 7872 7868 if 'F(Q)' in data: G2plt.PlotISFG(G2frame,data,plotType='F(Q)') 7873 7869 G2plt.PlotISFG(G2frame,data,plotType='G(R)') 7874 elif G2frame. PatternTree.GetItemText(parentID) == 'Phases':7875 data = G2frame. PatternTree.GetItemPyData(item)7870 elif G2frame.GPXtree.GetItemText(parentID) == 'Phases': 7871 data = G2frame.GPXtree.GetItemPyData(item) 7876 7872 G2phG.UpdatePhaseData(G2frame,item,data,oldPage) 7877 elif G2frame. PatternTree.GetItemText(item) == 'Comments':7873 elif G2frame.GPXtree.GetItemText(item) == 'Comments': 7878 7874 SetDataMenuBar(G2frame,G2frame.dataWindow.DataCommentsMenu) 7879 G2frame.PatternId = G2frame. PatternTree.GetItemParent(item)7880 data = G2frame. PatternTree.GetItemPyData(item)7875 G2frame.PatternId = G2frame.GPXtree.GetItemParent(item) 7876 data = G2frame.GPXtree.GetItemPyData(item) 7881 7877 UpdateComments(G2frame,data) 7882 elif G2frame. PatternTree.GetItemText(item) == 'Image Controls':7878 elif G2frame.GPXtree.GetItemText(item) == 'Image Controls': 7883 7879 G2frame.SetTitle('Image Controls') 7884 G2frame.Image = G2frame. PatternTree.GetItemParent(item)7885 masks = G2frame. PatternTree.GetItemPyData(7886 Get PatternTreeItemId(G2frame,G2frame.Image, 'Masks'))7887 data = G2frame. PatternTree.GetItemPyData(item)7880 G2frame.Image = G2frame.GPXtree.GetItemParent(item) 7881 masks = G2frame.GPXtree.GetItemPyData( 7882 GetGPXtreeItemId(G2frame,G2frame.Image, 'Masks')) 7883 data = G2frame.GPXtree.GetItemPyData(item) 7888 7884 G2frame.ImageZ = G2imG.GetImageZ(G2frame,data) 7889 7885 G2imG.UpdateImageControls(G2frame,data,masks) 7890 7886 G2plt.PlotImage(G2frame,newPlot=False) 7891 elif G2frame. PatternTree.GetItemText(item) == 'Masks':7887 elif G2frame.GPXtree.GetItemText(item) == 'Masks': 7892 7888 G2frame.SetTitle('Masks') 7893 G2frame.Image = G2frame. PatternTree.GetItemParent(item)7894 masks = G2frame. PatternTree.GetItemPyData(item)7895 data = G2frame. PatternTree.GetItemPyData(7896 Get PatternTreeItemId(G2frame,G2frame.Image, 'Image Controls'))7889 G2frame.Image = G2frame.GPXtree.GetItemParent(item) 7890 masks = G2frame.GPXtree.GetItemPyData(item) 7891 data = G2frame.GPXtree.GetItemPyData( 7892 GetGPXtreeItemId(G2frame,G2frame.Image, 'Image Controls')) 7897 7893 G2frame.ImageZ = G2imG.GetImageZ(G2frame,data) 7898 7894 G2imG.UpdateMasks(G2frame,masks) 7899 7895 G2plt.PlotImage(G2frame,newPlot=False) 7900 elif G2frame. PatternTree.GetItemText(item) == 'Stress/Strain':7896 elif G2frame.GPXtree.GetItemText(item) == 'Stress/Strain': 7901 7897 G2frame.SetTitle('Stress/Strain') 7902 G2frame.Image = G2frame. PatternTree.GetItemParent(item)7903 data = G2frame. PatternTree.GetItemPyData(7904 Get PatternTreeItemId(G2frame,G2frame.Image, 'Image Controls'))7898 G2frame.Image = G2frame.GPXtree.GetItemParent(item) 7899 data = G2frame.GPXtree.GetItemPyData( 7900 GetGPXtreeItemId(G2frame,G2frame.Image, 'Image Controls')) 7905 7901 G2frame.ImageZ = G2imG.GetImageZ(G2frame,data,newRange=False) 7906 strsta = G2frame. PatternTree.GetItemPyData(item)7902 strsta = G2frame.GPXtree.GetItemPyData(item) 7907 7903 G2plt.PlotStrain(G2frame,strsta,newPlot=True) 7908 7904 G2plt.PlotImage(G2frame,newPlot=False) 7909 7905 G2imG.UpdateStressStrain(G2frame,strsta) 7910 elif G2frame. PatternTree.GetItemText(item) == 'Peak List':7911 G2frame.PatternId = G2frame. PatternTree.GetItemParent(item)7906 elif G2frame.GPXtree.GetItemText(item) == 'Peak List': 7907 G2frame.PatternId = G2frame.GPXtree.GetItemParent(item) 7912 7908 for i in G2frame.ExportPeakList: i.Enable(True) 7913 data = G2frame. PatternTree.GetItemPyData(item)7909 data = G2frame.GPXtree.GetItemPyData(item) 7914 7910 #patch 7915 7911 if 'list' in str(type(data)): 7916 7912 data = {'peaks':data,'sigDict':{}} 7917 G2frame. PatternTree.SetItemPyData(item,data)7913 G2frame.GPXtree.SetItemPyData(item,data) 7918 7914 #end patch 7919 7915 G2pdG.UpdatePeakGrid(G2frame,data) 7920 7916 G2plt.PlotPatterns(G2frame) 7921 elif G2frame. PatternTree.GetItemText(item) == 'Background':7922 G2frame.PatternId = G2frame. PatternTree.GetItemParent(item)7923 data = G2frame. PatternTree.GetItemPyData(item)7917 elif G2frame.GPXtree.GetItemText(item) == 'Background': 7918 G2frame.PatternId = G2frame.GPXtree.GetItemParent(item) 7919 data = G2frame.GPXtree.GetItemPyData(item) 7924 7920 G2pdG.UpdateBackground(G2frame,data) 7925 7921 G2plt.PlotPatterns(G2frame) 7926 elif G2frame. PatternTree.GetItemText(item) == 'Limits':7927 G2frame.PatternId = G2frame. PatternTree.GetItemParent(item)7928 datatype = G2frame. PatternTree.GetItemText(G2frame.PatternId)[:4]7929 data = G2frame. PatternTree.GetItemPyData(item)7922 elif G2frame.GPXtree.GetItemText(item) == 'Limits': 7923 G2frame.PatternId = G2frame.GPXtree.GetItemParent(item) 7924 datatype = G2frame.GPXtree.GetItemText(G2frame.PatternId)[:4] 7925 data = G2frame.GPXtree.GetItemPyData(item) 7930 7926 G2pdG.UpdateLimitsGrid(G2frame,data,datatype) 7931 7927 G2plt.PlotPatterns(G2frame,plotType=datatype) 7932 elif G2frame. PatternTree.GetItemText(item) == 'Instrument Parameters':7933 G2frame.PatternId = G2frame. PatternTree.GetItemParent(item)7934 data = G2frame. PatternTree.GetItemPyData(item)[0]7928 elif G2frame.GPXtree.GetItemText(item) == 'Instrument Parameters': 7929 G2frame.PatternId = G2frame.GPXtree.GetItemParent(item) 7930 data = G2frame.GPXtree.GetItemPyData(item)[0] 7935 7931 G2pdG.UpdateInstrumentGrid(G2frame,data) 7936 7932 if 'P' in data['Type'][0]: #powder data only 7937 7933 G2plt.PlotPeakWidths(G2frame) 7938 elif G2frame. PatternTree.GetItemText(item) == 'Models':7939 G2frame.PatternId = G2frame. PatternTree.GetItemParent(item)7940 data = G2frame. PatternTree.GetItemPyData(item)7934 elif G2frame.GPXtree.GetItemText(item) == 'Models': 7935 G2frame.PatternId = G2frame.GPXtree.GetItemParent(item) 7936 data = G2frame.GPXtree.GetItemPyData(item) 7941 7937 if prfx1 == 'SASD': 7942 7938 G2pdG.UpdateModelsGrid(G2frame,data) … … 7946 7942 if prfx1 == 'SASD' and len(data['Size']['Distribution']): 7947 7943 G2plt.PlotSASDSizeDist(G2frame) 7948 elif G2frame. PatternTree.GetItemText(item) == 'Substances':7949 G2frame.PatternId = G2frame. PatternTree.GetItemParent(item)7950 data = G2frame. PatternTree.GetItemPyData(item)7944 elif G2frame.GPXtree.GetItemText(item) == 'Substances': 7945 G2frame.PatternId = G2frame.GPXtree.GetItemParent(item) 7946 data = G2frame.GPXtree.GetItemPyData(item) 7951 7947 G2pdG.UpdateSubstanceGrid(G2frame,data) 7952 elif G2frame. PatternTree.GetItemText(item) == 'Sample Parameters':7953 G2frame.PatternId = G2frame. PatternTree.GetItemParent(item)7954 data = G2frame. PatternTree.GetItemPyData(item)7955 datatype = G2frame. PatternTree.GetItemPyData(G2frame.PatternId)[2][:4]7948 elif G2frame.GPXtree.GetItemText(item) == 'Sample Parameters': 7949 G2frame.PatternId = G2frame.GPXtree.GetItemParent(item) 7950 data = G2frame.GPXtree.GetItemPyData(item) 7951 datatype = G2frame.GPXtree.GetItemPyData(G2frame.PatternId)[2][:4] 7956 7952 7957 7953 if 'Temperature' not in data: #temp fix for old gpx files … … 7960 7956 'FreePrm1':0.,'FreePrm2':0.,'FreePrm3':0., 7961 7957 'Gonio. radius':200.0} 7962 G2frame. PatternTree.SetItemPyData(item,data)7958 G2frame.GPXtree.SetItemPyData(item,data) 7963 7959 7964 7960 G2pdG.UpdateSampleGrid(G2frame,data) 7965 7961 G2plt.PlotPatterns(G2frame,plotType=datatype) 7966 elif G2frame. PatternTree.GetItemText(item) == 'Index Peak List':7967 G2frame.PatternId = G2frame. PatternTree.GetItemParent(item)7962 elif G2frame.GPXtree.GetItemText(item) == 'Index Peak List': 7963 G2frame.PatternId = G2frame.GPXtree.GetItemParent(item) 7968 7964 for i in G2frame.ExportPeakList: i.Enable(True) 7969 data = G2frame. PatternTree.GetItemPyData(item)7965 data = G2frame.GPXtree.GetItemPyData(item) 7970 7966 #patch 7971 7967 if len(data) != 2: 7972 7968 data = [data,[]] 7973 G2frame. PatternTree.SetItemPyData(item,data)7969 G2frame.GPXtree.SetItemPyData(item,data) 7974 7970 #end patch 7975 7971 G2pdG.UpdateIndexPeaksGrid(G2frame,data) 7976 if 'PKS' in G2frame. PatternTree.GetItemText(G2frame.PatternId):7972 if 'PKS' in G2frame.GPXtree.GetItemText(G2frame.PatternId): 7977 7973 G2plt.PlotPowderLines(G2frame) 7978 7974 else: 7979 7975 G2plt.PlotPatterns(G2frame) 7980 elif G2frame. PatternTree.GetItemText(item) == 'Unit Cells List':7981 G2frame.PatternId = G2frame. PatternTree.GetItemParent(item)7982 data = G2frame. PatternTree.GetItemPyData(item)7976 elif G2frame.GPXtree.GetItemText(item) == 'Unit Cells List': 7977 G2frame.PatternId = G2frame.GPXtree.GetItemParent(item) 7978 data = G2frame.GPXtree.GetItemPyData(item) 7983 7979 if not data: 7984 7980 data.append([0,0.0,4,25.0,0,'P1',1,1,1,90,90,90]) #zero error flag, zero value, max Nc/No, start volume … … 7987 7983 data.append([]) #empty dmin 7988 7984 data.append({}) #empty superlattice stuff 7989 G2frame. PatternTree.SetItemPyData(item,data)7985 G2frame.GPXtree.SetItemPyData(item,data) 7990 7986 #patch 7991 7987 if len(data) < 5: 7992 7988 data.append({'Use':False,'ModVec':[0,0,0.1],'maxH':1,'ssSymb':''}) #empty superlattice stuff 7993 G2frame. PatternTree.SetItemPyData(item,data)7989 G2frame.GPXtree.SetItemPyData(item,data) 7994 7990 #end patch 7995 7991 G2pdG.UpdateUnitCellsGrid(G2frame,data) 7996 if 'PKS' in G2frame. PatternTree.GetItemText(G2frame.PatternId):7992 if 'PKS' in G2frame.GPXtree.GetItemText(G2frame.PatternId): 7997 7993 G2plt.PlotPowderLines(G2frame) 7998 7994 else: 7999 7995 G2plt.PlotPatterns(G2frame) 8000 elif G2frame. PatternTree.GetItemText(item) == 'Reflection Lists': #powder reflections8001 G2frame.PatternId = G2frame. PatternTree.GetItemParent(item)8002 data = G2frame. PatternTree.GetItemPyData(item)7996 elif G2frame.GPXtree.GetItemText(item) == 'Reflection Lists': #powder reflections 7997 G2frame.PatternId = G2frame.GPXtree.GetItemParent(item) 7998 data = G2frame.GPXtree.GetItemPyData(item) 8003 7999 G2frame.RefList = '' 8004 8000 if len(data): … … 8006 8002 G2pdG.UpdateReflectionGrid(G2frame,data) 8007 8003 G2plt.PlotPatterns(G2frame) 8008 elif G2frame. PatternTree.GetItemText(item) == 'Reflection List': #HKLF reflections8009 G2frame.PatternId = G2frame. PatternTree.GetItemParent(item)8010 name = G2frame. PatternTree.GetItemText(G2frame.PatternId)8011 data = G2frame. PatternTree.GetItemPyData(G2frame.PatternId)8004 elif G2frame.GPXtree.GetItemText(item) == 'Reflection List': #HKLF reflections 8005 G2frame.PatternId = G2frame.GPXtree.GetItemParent(item) 8006 name = G2frame.GPXtree.GetItemText(G2frame.PatternId) 8007 data = G2frame.GPXtree.GetItemPyData(G2frame.PatternId) 8012 8008 G2pdG.UpdateReflectionGrid(G2frame,data,HKLF=True,Name=name) 8013 8009 … … 8029 8025 else: 8030 8026 G2frame.SetMenuBar(menu) 8031 8032 def HowDidIgetHere():8033 '''Show a traceback with calls that brought us to the current location.8034 Used for debugging.8035 '''8036 import traceback8037 print 70*'*'8038 for i in traceback.format_list(traceback.extract_stack()[:-1]): print(i.strip().rstrip())8039 print 70*'*'8040 -
TabularUnified branch/2frame/GSASIIimgGUI.py ¶
r2900 r2905 71 71 darkImg,darkScale = data['dark image'] 72 72 if darkImg: 73 Did = G2gd.Get PatternTreeItemId(G2frame, G2frame.root, darkImg)73 Did = G2gd.GetGPXtreeItemId(G2frame, G2frame.root, darkImg) 74 74 if Did: 75 Ddata = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Did,'Image Controls'))75 Ddata = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Did,'Image Controls')) 76 76 dformatName = Ddata.get('formatName','') 77 77 Npix,darkfile,imagetag = G2IO.GetCheckImageFile(G2frame,Did) … … 82 82 backImg,backScale = data['background image'] 83 83 if backImg: #ignores any transmission effect in the background image 84 Bid = G2gd.Get PatternTreeItemId(G2frame, G2frame.root, backImg)84 Bid = G2gd.GetGPXtreeItemId(G2frame, G2frame.root, backImg) 85 85 if Bid: 86 86 Npix,backfile,imagetag = G2IO.GetCheckImageFile(G2frame,Bid) 87 Bdata = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Bid,'Image Controls'))87 Bdata = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Bid,'Image Controls')) 88 88 bformatName = Bdata.get('formatName','') 89 89 backImage = G2IO.GetImageData(G2frame,backfile,True,ImageTag=imagetag,FormatName=bformatName) … … 176 176 177 177 def OnRecalibAll(event): 178 Names = G2gd.Get PatternTreeDataNames(G2frame,['IMG ',])178 Names = G2gd.GetGPXtreeDataNames(G2frame,['IMG ',]) 179 179 dlg = G2G.G2MultiChoiceDialog(G2frame,'Image calibration controls','Select images to recalibrate:',Names) 180 180 try: 181 181 if dlg.ShowModal() == wx.ID_OK: 182 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Sequential image calibration results')182 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Sequential image calibration results') 183 183 if Id: 184 SeqResult = G2frame. PatternTree.GetItemPyData(Id)184 SeqResult = G2frame.GPXtree.GetItemPyData(Id) 185 185 else: 186 Id = G2frame. PatternTree.AppendItem(parent=G2frame.root,text='Sequential image calibration results')186 Id = G2frame.GPXtree.AppendItem(parent=G2frame.root,text='Sequential image calibration results') 187 187 SeqResult = {'SeqPseudoVars':{},'SeqParFitEqList':[]} 188 188 items = dlg.GetSelections() … … 191 191 name = Names[item] 192 192 print 'calibrating',name 193 G2frame.Image = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,name)194 Data = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.Image,'Image Controls'))193 G2frame.Image = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,name) 194 Data = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.Image,'Image Controls')) 195 195 G2frame.ImageZ = GetImageZ(G2frame,Data) 196 196 Data['setRings'] = True 197 Mid = G2gd.Get PatternTreeItemId(G2frame,G2frame.Image,'Masks')198 Masks = G2frame. PatternTree.GetItemPyData(Mid)197 Mid = G2gd.GetGPXtreeItemId(G2frame,G2frame.Image,'Masks') 198 Masks = G2frame.GPXtree.GetItemPyData(Mid) 199 199 vals,varyList,sigList,parmDict = G2img.ImageRecalibrate(G2frame,Data,Masks) 200 200 sigList = list(sigList) … … 209 209 'covMatrix':np.eye(len(varyList)),'title':name,'parmDict':parmDict} 210 210 SeqResult['histNames'] = Names 211 G2frame. PatternTree.SetItemPyData(Id,SeqResult)211 G2frame.GPXtree.SetItemPyData(Id,SeqResult) 212 212 finally: 213 213 dlg.Destroy() … … 215 215 G2frame.G2plotNB.Delete('Sequential refinement') #clear away probably invalid plot 216 216 G2plt.PlotExposedImage(G2frame,event=None) 217 G2frame. PatternTree.SelectItem(Id)217 G2frame.GPXtree.SelectItem(Id) 218 218 219 219 def OnClearCalib(event): … … 247 247 Id = G2IO.SaveIntegration(G2frame,G2frame.PickId,data,(event is None)) 248 248 G2frame.PatternId = Id 249 G2frame. PatternTree.SelectItem(Id)250 G2frame. PatternTree.Expand(Id)249 G2frame.GPXtree.SelectItem(Id) 250 G2frame.GPXtree.Expand(Id) 251 251 for item in G2frame.MakePDF: item.Enable(True) 252 252 253 253 def OnIntegrateAll(event): 254 Names = G2gd.Get PatternTreeDataNames(G2frame,['IMG ',])254 Names = G2gd.GetGPXtreeDataNames(G2frame,['IMG ',]) 255 255 dlg = G2G.G2MultiChoiceDialog(G2frame,'Image integration controls','Select images to integrate:',Names) 256 256 try: … … 266 266 break 267 267 name = Names[item] 268 G2frame.Image = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,name)269 CId = G2gd.Get PatternTreeItemId(G2frame,G2frame.Image,'Image Controls')270 Data = G2frame. PatternTree.GetItemPyData(CId)271 Masks = G2frame. PatternTree.GetItemPyData(272 G2gd.Get PatternTreeItemId(G2frame,G2frame.Image,'Masks'))268 G2frame.Image = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,name) 269 CId = G2gd.GetGPXtreeItemId(G2frame,G2frame.Image,'Image Controls') 270 Data = G2frame.GPXtree.GetItemPyData(CId) 271 Masks = G2frame.GPXtree.GetItemPyData( 272 G2gd.GetGPXtreeItemId(G2frame,G2frame.Image,'Masks')) 273 273 image = GetImageZ(G2frame,Data) 274 274 blkSize = 128 #this seems to be optimal; will break in polymask if >1024 … … 279 279 dlgp.Destroy() 280 280 G2frame.EnablePlot = True 281 G2frame. PatternTree.SelectItem(pId)282 G2frame. PatternTree.Expand(pId)281 G2frame.GPXtree.SelectItem(pId) 282 G2frame.GPXtree.Expand(pId) 283 283 G2frame.PatternId = pId 284 284 finally: … … 286 286 287 287 def OnCopyControls(event): 288 Names = G2gd.Get PatternTreeDataNames(G2frame,['IMG ',])288 Names = G2gd.GetGPXtreeDataNames(G2frame,['IMG ',]) 289 289 if len(Names) == 1: 290 290 G2frame.ErrorDialog('Nothing to copy controls to','There must be more than one "IMG" pattern') 291 291 return 292 Source = G2frame. PatternTree.GetItemText(G2frame.Image)292 Source = G2frame.GPXtree.GetItemText(G2frame.Image) 293 293 Names.pop(Names.index(Source)) 294 294 # select targets & do copy … … 300 300 for item in items: 301 301 name = Names[item] 302 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,name)303 CId = G2gd.Get PatternTreeItemId(G2frame,Id,'Image Controls')304 oldData = copy.deepcopy(G2frame. PatternTree.GetItemPyData(CId))302 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,name) 303 CId = G2gd.GetGPXtreeItemId(G2frame,Id,'Image Controls') 304 oldData = copy.deepcopy(G2frame.GPXtree.GetItemPyData(CId)) 305 305 Data = copy.deepcopy(data) 306 306 Data['range'][0] = oldData['range'][0] … … 314 314 if name == Data['background image'][0]: 315 315 Data['background image'] = ['',-1.] 316 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id, 'Image Controls'),Data)316 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id, 'Image Controls'),Data) 317 317 finally: 318 318 dlg.Destroy() 319 G2frame. PatternTree.SelectItem(G2frame.PickId)319 G2frame.GPXtree.SelectItem(G2frame.PickId) 320 320 321 321 def OnCopySelected(event): 322 Names = G2gd.Get PatternTreeDataNames(G2frame,['IMG ',])322 Names = G2gd.GetGPXtreeDataNames(G2frame,['IMG ',]) 323 323 if len(Names) == 1: 324 324 G2frame.ErrorDialog('Nothing to copy controls to','There must be more than one "IMG" pattern') 325 325 return 326 Source = G2frame. PatternTree.GetItemText(G2frame.Image)326 Source = G2frame.GPXtree.GetItemText(G2frame.Image) 327 327 # Assemble a list of item labels 328 328 keyList = ['type','wavelength','calibrant','distance','center','Oblique', … … 353 353 for i in result: 354 354 item = Names[i] 355 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,item)356 Controls = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Image Controls'))355 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,item) 356 Controls = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Image Controls')) 357 357 Controls.update(copy.deepcopy(copyDict)) 358 358 finally: … … 390 390 ''' 391 391 imglist = [] 392 item, cookie = G2frame. PatternTree.GetFirstChild(G2frame.root)392 item, cookie = G2frame.GPXtree.GetFirstChild(G2frame.root) 393 393 while item: 394 name = G2frame. PatternTree.GetItemText(item)394 name = G2frame.GPXtree.GetItemText(item) 395 395 if name.startswith('IMG '): 396 396 imglist.append(name) 397 item, cookie = G2frame. PatternTree.GetNextChild(G2frame.root, cookie)397 item, cookie = G2frame.GPXtree.GetNextChild(G2frame.root, cookie) 398 398 if not imglist: 399 399 print('No images!') … … 423 423 return 424 424 for img in treeEntries: 425 item = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,img)426 data = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(425 item = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,img) 426 data = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId( 427 427 G2frame,item,'Image Controls')) 428 Npix,imagefile,imagetag = G2frame. PatternTree.GetImageLoc(item)428 Npix,imagefile,imagetag = G2frame.GPXtree.GetImageLoc(item) 429 429 filename = os.path.join(outdir, 430 430 os.path.splitext(os.path.split(imagefile)[1])[0] … … 472 472 # makes a copy of data, puts it into tree and "disconnects" data 473 473 # from tree contents (later changes to data are lost!) 474 #G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.Image, 'Image Controls'),copy.deepcopy(data))474 #G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.Image, 'Image Controls'),copy.deepcopy(data)) 475 475 File.close() 476 476 finally: … … 484 484 '''Sets the integration range for the selected Images based on the difference in detector distance 485 485 ''' 486 Names = G2gd.Get PatternTreeDataNames(G2frame,['IMG ',])486 Names = G2gd.GetGPXtreeDataNames(G2frame,['IMG ',]) 487 487 if len(Names) == 1: 488 488 G2frame.ErrorDialog('No images to transfer integration angles to','Need more "IMG"s') 489 489 return 490 Source = G2frame. PatternTree.GetItemText(G2frame.Image)490 Source = G2frame.GPXtree.GetItemText(G2frame.Image) 491 491 Names.pop(Names.index(Source)) 492 492 # select targets & do copy … … 507 507 items = dlg.GetSelections() 508 508 G2frame.EnablePlot = False 509 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,Source)510 data = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Image Controls'))509 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,Source) 510 data = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Image Controls')) 511 511 ttmin0,ttmax0 = data['IOtth'] 512 512 dist0 = data['distance'] … … 517 517 for item in items: 518 518 name = Names[item] 519 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,name)520 data = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Image Controls'))519 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,name) 520 data = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Image Controls')) 521 521 dist1 = data['distance'] 522 522 if extraopts["value_2"]: … … 534 534 finally: 535 535 dlg.Destroy() 536 G2frame. PatternTree.SelectItem(G2frame.PickId)536 G2frame.GPXtree.SelectItem(G2frame.PickId) 537 537 538 538 def OnResetDist(event): … … 542 542 return 543 543 dlg.Destroy() 544 Names = G2gd.Get PatternTreeDataNames(G2frame,['IMG ',])544 Names = G2gd.GetGPXtreeDataNames(G2frame,['IMG ',]) 545 545 dlg = G2G.G2MultiChoiceDialog(G2frame,'Reset dist','Reset dist to set dist for:',Names) 546 546 try: … … 549 549 for item in items: 550 550 name = Names[item] 551 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,name)552 Data = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Image Controls'))551 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,name) 552 Data = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Image Controls')) 553 553 Data['distance'] = Data['setdist'] 554 554 finally: … … 1002 1002 1003 1003 backSizer.Add(wx.StaticText(G2frame.dataWindow,-1,' Dark image'),0,WACV) 1004 Choices = ['',]+G2gd.Get PatternTreeDataNames(G2frame,['IMG ',])1005 Source = G2frame. PatternTree.GetItemText(G2frame.Image)1004 Choices = ['',]+G2gd.GetGPXtreeDataNames(G2frame,['IMG ',]) 1005 Source = G2frame.GPXtree.GetItemText(G2frame.Image) 1006 1006 Choices.pop(Choices.index(Source)) 1007 1007 darkImage = wx.ComboBox(parent=G2frame.dataWindow,value=data['dark image'][0],choices=Choices, … … 1109 1109 Names = [] 1110 1110 Items = [] 1111 if G2frame. PatternTree.GetCount():1112 id, cookie = G2frame. PatternTree.GetFirstChild(G2frame.root)1111 if G2frame.GPXtree.GetCount(): 1112 id, cookie = G2frame.GPXtree.GetFirstChild(G2frame.root) 1113 1113 while id: 1114 name = G2frame. PatternTree.GetItemText(id)1114 name = G2frame.GPXtree.GetItemText(id) 1115 1115 if 'IMG' in name: 1116 ctrls = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,id,'Image Controls'))1116 ctrls = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,id,'Image Controls')) 1117 1117 Names.append(name) 1118 1118 Items.append(ctrls['GonioAngles']) 1119 id, cookie = G2frame. PatternTree.GetNextChild(G2frame.root, cookie)1119 id, cookie = G2frame.GPXtree.GetNextChild(G2frame.root, cookie) 1120 1120 if len(Names) == 1: 1121 1121 G2frame.ErrorDialog('Nothing for global editing','There must be more than one "IMG" pattern') … … 1125 1125 try: 1126 1126 if dlg.ShowModal() == wx.ID_OK: 1127 id, cookie = G2frame. PatternTree.GetFirstChild(G2frame.root)1127 id, cookie = G2frame.GPXtree.GetFirstChild(G2frame.root) 1128 1128 while id: 1129 name = G2frame. PatternTree.GetItemText(id)1129 name = G2frame.GPXtree.GetItemText(id) 1130 1130 if 'IMG' in name: 1131 ctrls = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,id,'Image Controls'))1131 ctrls = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,id,'Image Controls')) 1132 1132 vals = Items[Names.index(name)] 1133 1133 ctrls['GonioAngles'] = vals 1134 id, cookie = G2frame. PatternTree.GetNextChild(G2frame.root, cookie)1134 id, cookie = G2frame.GPXtree.GetNextChild(G2frame.root, cookie) 1135 1135 finally: 1136 1136 dlg.Destroy() 1137 G2frame. PatternTree.SelectItem(G2frame.PickId)1137 G2frame.GPXtree.SelectItem(G2frame.PickId) 1138 1138 1139 1139 gonioSizer = wx.BoxSizer(wx.HORIZONTAL) … … 1280 1280 1281 1281 def OnCopyMask(event): 1282 Names = G2gd.Get PatternTreeDataNames(G2frame,['IMG ',])1282 Names = G2gd.GetGPXtreeDataNames(G2frame,['IMG ',]) 1283 1283 if len(Names) == 1: 1284 1284 G2frame.ErrorDialog('Nothing to copy masks to','There must be more than one "IMG" pattern') 1285 1285 return 1286 Source = G2frame. PatternTree.GetItemText(G2frame.Image)1286 Source = G2frame.GPXtree.GetItemText(G2frame.Image) 1287 1287 Names.pop(Names.index(Source)) 1288 1288 Data = copy.deepcopy(data) … … 1294 1294 for item in items: 1295 1295 name = Names[item] 1296 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,name)1297 MId = G2gd.Get PatternTreeItemId(G2frame,Id,'Masks')1298 Mask = G2frame. PatternTree.GetItemPyData(MId)1296 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,name) 1297 MId = G2gd.GetGPXtreeItemId(G2frame,Id,'Masks') 1298 Mask = G2frame.GPXtree.GetItemPyData(MId) 1299 1299 Mask.update(copy.deepcopy(Data)) 1300 1300 Mask['Thresholds'][1][0] = Thresh[1][0] #copy only lower threshold 1301 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id, 'Masks'),Mask)1301 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id, 'Masks'),Mask) 1302 1302 finally: 1303 1303 dlg.Destroy() … … 1362 1362 if wx.MessageDialog(G2frame.dataWindow,'NB: This will clear any old spot masks', 1363 1363 'Auto Spot Masks', wx.OK|wx.CANCEL).ShowModal() == wx.ID_OK: 1364 Controls = copy.deepcopy(G2frame. PatternTree.GetItemPyData(1365 G2gd.Get PatternTreeItemId(G2frame,G2frame.Image,'Image Controls')))1364 Controls = copy.deepcopy(G2frame.GPXtree.GetItemPyData( 1365 G2gd.GetGPXtreeItemId(G2frame,G2frame.Image,'Image Controls'))) 1366 1366 Error = G2img.AutoSpotMasks(G2frame.ImageZ,data,Controls) 1367 1367 if not Error is None: … … 1595 1595 1596 1596 ###################################################################### 1597 CId = G2gd.Get PatternTreeItemId(G2frame,G2frame.Image,'Image Controls')1598 controlData = G2frame. PatternTree.GetItemPyData(CId)1597 CId = G2gd.GetGPXtreeItemId(G2frame,G2frame.Image,'Image Controls') 1598 controlData = G2frame.GPXtree.GetItemPyData(CId) 1599 1599 Range = controlData['range'] 1600 1600 MaxSizer = MaxSizer() #keep this so it can be changed in BackSizer … … 1752 1752 1753 1753 def OnCopyStrSta(event): 1754 Names = G2gd.Get PatternTreeDataNames(G2frame,['IMG ',])1754 Names = G2gd.GetGPXtreeDataNames(G2frame,['IMG ',]) 1755 1755 if len(Names) == 1: 1756 1756 G2frame.ErrorDialog('Nothing to copy controls to','There must be more than one "IMG" pattern') 1757 1757 return 1758 Source = G2frame. PatternTree.GetItemText(G2frame.Image)1758 Source = G2frame.GPXtree.GetItemText(G2frame.Image) 1759 1759 Names.pop(Names.index(Source)) 1760 1760 dlg = G2G.G2MultiChoiceDialog(G2frame,'Copy stress/strain controls','Copy controls from '+Source+' to:',Names) … … 1764 1764 for item in items: 1765 1765 name = Names[item] 1766 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,name)1767 CId = G2gd.Get PatternTreeItemId(G2frame,Id,'Stress/Strain')1768 oldData = G2frame. PatternTree.GetItemPyData(CId)1766 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,name) 1767 CId = G2gd.GetGPXtreeItemId(G2frame,Id,'Stress/Strain') 1768 oldData = G2frame.GPXtree.GetItemPyData(CId) 1769 1769 load = oldData.get('Sample load',0.0) 1770 1770 Data = copy.deepcopy(data) 1771 1771 Data['Sample load'] = load 1772 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Stress/Strain'),Data)1772 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Stress/Strain'),Data) 1773 1773 finally: 1774 1774 dlg.Destroy() 1775 G2frame. PatternTree.SelectItem(G2frame.PickId)1775 G2frame.GPXtree.SelectItem(G2frame.PickId) 1776 1776 1777 1777 def OnLoadStrSta(event): … … 1786 1786 S = File.read() 1787 1787 data = eval(S) 1788 Controls = G2frame. PatternTree.GetItemPyData(1789 G2gd.Get PatternTreeItemId(G2frame,G2frame.Image, 'Image Controls'))1788 Controls = G2frame.GPXtree.GetItemPyData( 1789 G2gd.GetGPXtreeItemId(G2frame,G2frame.Image, 'Image Controls')) 1790 1790 G2img.FitStrSta(G2frame.ImageZ,data,Controls) 1791 1791 UpdateStressStrain(G2frame,data) … … 1871 1871 return 1872 1872 histList = [] 1873 item, cookie = G2frame. PatternTree.GetFirstChild(G2frame.root)1873 item, cookie = G2frame.GPXtree.GetFirstChild(G2frame.root) 1874 1874 while item: 1875 name = G2frame. PatternTree.GetItemText(item)1875 name = G2frame.GPXtree.GetItemText(item) 1876 1876 if name.startswith('IMG'): 1877 1877 histList.append(name) 1878 item, cookie = G2frame. PatternTree.GetNextChild(G2frame.root, cookie)1878 item, cookie = G2frame.GPXtree.GetNextChild(G2frame.root, cookie) 1879 1879 colIds = {} 1880 1880 for i,name in enumerate(colNames): … … 1887 1887 for item in colIds: 1888 1888 newItems[item] = float(dataDict[name][colIds[item]]) 1889 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,hist)1890 stsrData = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Stress/Strain'))1889 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,hist) 1890 stsrData = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Stress/Strain')) 1891 1891 stsrData.update(newItems) 1892 1892 UpdateStressStrain(G2frame,data) 1893 1893 1894 1894 def OnPlotStrSta(event): 1895 Controls = G2frame. PatternTree.GetItemPyData(1896 G2gd.Get PatternTreeItemId(G2frame,G2frame.Image, 'Image Controls'))1895 Controls = G2frame.GPXtree.GetItemPyData( 1896 G2gd.GetGPXtreeItemId(G2frame,G2frame.Image, 'Image Controls')) 1897 1897 RingInt = G2img.IntStrSta(G2frame.ImageZ,data,Controls) 1898 1898 Names = ['d=%.3f'%(ring['Dcalc']) for ring in data['d-zero']] … … 1904 1904 1905 1905 def OnSaveStrRing(event): 1906 Controls = G2frame. PatternTree.GetItemPyData(1907 G2gd.Get PatternTreeItemId(G2frame,G2frame.Image, 'Image Controls'))1906 Controls = G2frame.GPXtree.GetItemPyData( 1907 G2gd.GetGPXtreeItemId(G2frame,G2frame.Image, 'Image Controls')) 1908 1908 RingInt = G2img.IntStrSta(G2frame.ImageZ,data,Controls) 1909 1909 Names = ['d=%.3f'%(ring['Dcalc']) for ring in data['d-zero']] … … 1927 1927 1928 1928 def OnFitStrSta(event): 1929 Controls = G2frame. PatternTree.GetItemPyData(1930 G2gd.Get PatternTreeItemId(G2frame,G2frame.Image, 'Image Controls'))1929 Controls = G2frame.GPXtree.GetItemPyData( 1930 G2gd.GetGPXtreeItemId(G2frame,G2frame.Image, 'Image Controls')) 1931 1931 G2img.FitStrSta(G2frame.ImageZ,data,Controls) 1932 1932 print 'Strain fitting finished' … … 1936 1936 1937 1937 def OnFitAllStrSta(event): 1938 choices = G2gd.Get PatternTreeDataNames(G2frame,['IMG ',])1938 choices = G2gd.GetGPXtreeDataNames(G2frame,['IMG ',]) 1939 1939 dlg = G2G.G2MultiChoiceDialog(G2frame,'Stress/Strain fitting','Select images to fit:',choices) 1940 1940 names = [] … … 1942 1942 for sel in dlg.GetSelections(): 1943 1943 names.append(choices[sel]) 1944 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Sequential strain fit results')1944 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Sequential strain fit results') 1945 1945 if Id: 1946 SeqResult = G2frame. PatternTree.GetItemPyData(Id)1946 SeqResult = G2frame.GPXtree.GetItemPyData(Id) 1947 1947 else: 1948 1948 SeqResult = {} 1949 Id = G2frame. PatternTree.AppendItem(parent=G2frame.root,text='Sequential strain fit results')1949 Id = G2frame.GPXtree.AppendItem(parent=G2frame.root,text='Sequential strain fit results') 1950 1950 SeqResult.update({'SeqPseudoVars':{},'SeqParFitEqList':[]}) 1951 1951 else: … … 1978 1978 if not GoOn: 1979 1979 break 1980 sId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,name)1980 sId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,name) 1981 1981 G2frame.Image = sId 1982 Controls = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,sId, 'Image Controls'))1983 StaCtrls = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,sId, 'Stress/Strain'))1982 Controls = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,sId, 'Image Controls')) 1983 StaCtrls = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,sId, 'Stress/Strain')) 1984 1984 if not len(StaCtrls['d-zero']): 1985 1985 continue 1986 1986 goodnames.append(name) 1987 Npix,imagefile,imagetag = G2frame. PatternTree.GetImageLoc(sId)1987 Npix,imagefile,imagetag = G2frame.GPXtree.GetImageLoc(sId) 1988 1988 image = GetImageZ(G2frame,Controls) 1989 1989 sig = [] … … 2025 2025 wx.EndBusyCursor() 2026 2026 SeqResult['histNames'] = choices 2027 G2frame. PatternTree.SetItemPyData(Id,SeqResult)2028 G2frame. PatternTree.SelectItem(Id)2027 G2frame.GPXtree.SetItemPyData(Id,SeqResult) 2028 G2frame.GPXtree.SelectItem(Id) 2029 2029 print 'All images fitted' 2030 2030 … … 2141 2141 2142 2142 G2frame.dataWindow.ClearData() 2143 Controls = G2frame. PatternTree.GetItemPyData(2144 G2gd.Get PatternTreeItemId(G2frame,G2frame.Image, 'Image Controls'))2143 Controls = G2frame.GPXtree.GetItemPyData( 2144 G2gd.GetGPXtreeItemId(G2frame,G2frame.Image, 'Image Controls')) 2145 2145 G2gd.SetDataMenuBar(G2frame,G2frame.dataWindow.StrStaMenu) 2146 2146 G2frame.dataFrame.Bind(wx.EVT_MENU, OnAppendDzero, id=G2gd.wxID_APPENDDZERO) … … 2402 2402 self.imageBase = G2frame.Image 2403 2403 self.useActive.SetLabel("Active Image: "+ 2404 G2frame. PatternTree.GetItemText(self.imageBase))2404 G2frame.GPXtree.GetItemText(self.imageBase)) 2405 2405 self.editTable.Enable(False) 2406 2406 else: … … 2426 2426 self.imageBase = G2frame.Image 2427 2427 self.useActive.SetLabel("Active Image: "+ 2428 G2frame. PatternTree.GetItemText(self.imageBase))2428 G2frame.GPXtree.GetItemText(self.imageBase)) 2429 2429 self.editTable.Enable(False) 2430 2430 finally: … … 2486 2486 self.Scale = [1.0,] 2487 2487 2488 G2frame. PatternTree.GetSelection()2489 size,imagefile,imagetag = G2frame. PatternTree.GetImageLoc(self.imageBase)2488 G2frame.GPXtree.GetSelection() 2489 size,imagefile,imagetag = G2frame.GPXtree.GetImageLoc(self.imageBase) 2490 2490 self.imagedir,fileroot = os.path.split(imagefile) 2491 Comments = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(2491 Comments = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId( 2492 2492 G2frame,self.imageBase, 'Comments')) 2493 2493 DefaultAutoScaleNames = GSASIIpath.GetConfigValue('Autoscale_ParmNames') … … 2521 2521 self.useActive.Bind(wx.EVT_RADIOBUTTON, OnRadioSelect) 2522 2522 self.useActive.SetLabel("Active Image: "+ 2523 G2frame. PatternTree.GetItemText(self.imageBase))2523 G2frame.GPXtree.GetItemText(self.imageBase)) 2524 2524 lblsizr.Add(self.useActive,1,wx.EXPAND,1) 2525 2525 self.useActive.SetValue(True) … … 2678 2678 if not name: continue 2679 2679 msg += '\n{}: {:.2f} * "{}"'.format(key,mult,name) 2680 if not G2gd.Get PatternTreeItemId(self.G2frame,self.G2frame.root,name):2680 if not G2gd.GetGPXtreeItemId(self.G2frame,self.G2frame.root,name): 2681 2681 msg += ' *** missing ***' 2682 2682 return msg … … 2689 2689 self.PreventReEntryShowMatch = True 2690 2690 imageFileList = [] 2691 for img in G2gd.Get PatternTreeDataNames(G2frame,['IMG ']):2692 imgId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,img)2693 size,imagefile,imagetag = G2frame. PatternTree.GetImageLoc(imgId)2691 for img in G2gd.GetGPXtreeDataNames(G2frame,['IMG ']): 2692 imgId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,img) 2693 size,imagefile,imagetag = G2frame.GPXtree.GetImageLoc(imgId) 2694 2694 if imagefile not in imageFileList: imageFileList.append(imagefile) 2695 2695 if img not in G2frame.IntegratedList: … … 2737 2737 ''' 2738 2738 G2frame = self.G2frame 2739 imgId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,img)2739 imgId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,img) 2740 2740 G2frame.Image = imgId 2741 G2frame.PickId = G2gd.Get PatternTreeItemId(G2frame,G2frame.Image, 'Image Controls')2741 G2frame.PickId = G2gd.GetGPXtreeItemId(G2frame,G2frame.Image, 'Image Controls') 2742 2742 # do integration 2743 size,imagefile,imagetag = G2frame. PatternTree.GetImageLoc(imgId)2743 size,imagefile,imagetag = G2frame.GPXtree.GetImageLoc(imgId) 2744 2744 if self.AutoScale: 2745 Comments = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(2745 Comments = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId( 2746 2746 G2frame,imgId, 'Comments')) 2747 2747 for comment in Comments: … … 2753 2753 Scale = self.Scale[0]/val 2754 2754 break 2755 masks = G2frame. PatternTree.GetItemPyData(2756 G2gd.Get PatternTreeItemId(G2frame,G2frame.Image, 'Masks'))2757 data = G2frame. PatternTree.GetItemPyData(G2frame.PickId)2755 masks = G2frame.GPXtree.GetItemPyData( 2756 G2gd.GetGPXtreeItemId(G2frame,G2frame.Image, 'Masks')) 2757 data = G2frame.GPXtree.GetItemPyData(G2frame.PickId) 2758 2758 # simulate a Image Controls press, since that is where the 2759 2759 # integration is hidden … … 2770 2770 # save the created PWDR tree names so that a reset can delete them 2771 2771 G2frame.Image = Id 2772 treename = G2frame. PatternTree.GetItemText(Id)2772 treename = G2frame.GPXtree.GetItemText(Id) 2773 2773 G2frame.AutointPWDRnames.append(treename) 2774 2774 # write out the images in the selected formats 2775 Sdata = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id, 'Sample Parameters'))2775 Sdata = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id, 'Sample Parameters')) 2776 2776 if self.AutoScale: 2777 2777 print 'Rescale by %.4f'%(Scale) 2778 y,w = G2frame. PatternTree.GetItemPyData(Id)[1][1:3]2778 y,w = G2frame.GPXtree.GetItemPyData(Id)[1][1:3] 2779 2779 y *= Scale 2780 2780 w /= Scale**2 … … 2844 2844 if self.params['Mode'] != 'table': 2845 2845 self.useActive.SetLabel("Active Image: "+ 2846 G2frame. PatternTree.GetItemText(self.imageBase))2846 G2frame.GPXtree.GetItemText(self.imageBase)) 2847 2847 # load copy of Image Controls from current image and clean up 2848 2848 # items that should not be copied 2849 2849 self.ImageControls = copy.deepcopy( 2850 G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(2850 G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId( 2851 2851 G2frame,self.imageBase, 'Image Controls'))) 2852 2852 self.ImageControls['showLines'] = True … … 2860 2860 # load copy of Image Masks, keep thresholds 2861 2861 self.ImageMasks = copy.deepcopy( 2862 G2frame. PatternTree.GetItemPyData(2863 G2gd.Get PatternTreeItemId(G2frame,self.imageBase, 'Masks')))2862 G2frame.GPXtree.GetItemPyData( 2863 G2gd.GetGPXtreeItemId(G2frame,self.imageBase, 'Masks'))) 2864 2864 self.Thresholds = self.ImageMasks['Thresholds'][:] 2865 2865 if list(self.Thresholds[0]) == self.Thresholds[1]: #avoid copy of unchanged thresholds … … 2878 2878 2879 2879 if self.params['Mode'] != 'table': # reset controls and masks for all IMG items in tree to master 2880 for img in G2gd.Get PatternTreeDataNames(G2frame,['IMG ']):2880 for img in G2gd.GetGPXtreeDataNames(G2frame,['IMG ']): 2881 2881 # update controls from master 2882 controlsDict = G2frame. PatternTree.GetItemPyData(2883 G2gd.Get PatternTreeItemId(G2frame,self.imageBase, 'Image Controls'))2882 controlsDict = G2frame.GPXtree.GetItemPyData( 2883 G2gd.GetGPXtreeItemId(G2frame,self.imageBase, 'Image Controls')) 2884 2884 controlsDict.update(self.ImageControls) 2885 2885 # update masks from master 2886 ImageMasks = G2frame. PatternTree.GetItemPyData(2887 G2gd.Get PatternTreeItemId(G2frame,self.imageBase, 'Masks'))2886 ImageMasks = G2frame.GPXtree.GetItemPyData( 2887 G2gd.GetGPXtreeItemId(G2frame,self.imageBase, 'Masks')) 2888 2888 ImageMasks.update(self.ImageMasks) 2889 2889 # delete all PWDR items created after last Start was pressed 2890 2890 idlist = [] 2891 item, cookie = G2frame. PatternTree.GetFirstChild(G2frame.root)2891 item, cookie = G2frame.GPXtree.GetFirstChild(G2frame.root) 2892 2892 while item: 2893 itemName = G2frame. PatternTree.GetItemText(item)2893 itemName = G2frame.GPXtree.GetItemText(item) 2894 2894 if itemName in G2frame.AutointPWDRnames: 2895 2895 idlist.append(item) 2896 item, cookie = G2frame. PatternTree.GetNextChild(G2frame.root, cookie)2896 item, cookie = G2frame.GPXtree.GetNextChild(G2frame.root, cookie) 2897 2897 for item in idlist: 2898 G2frame. PatternTree.Delete(item)2898 G2frame.GPXtree.Delete(item) 2899 2899 wx.Yield() 2900 2900 self.Reset = False … … 2909 2909 return True 2910 2910 fileList = [] 2911 id, cookie = G2frame. PatternTree.GetFirstChild(G2frame.root)2911 id, cookie = G2frame.GPXtree.GetFirstChild(G2frame.root) 2912 2912 while id: 2913 name = G2frame. PatternTree.GetItemText(id)2913 name = G2frame.GPXtree.GetItemText(id) 2914 2914 if name.startswith('PWDR '): fileList.append(name) 2915 id, cookie = G2frame. PatternTree.GetNextChild(G2frame.root, cookie)2915 id, cookie = G2frame.GPXtree.GetNextChild(G2frame.root, cookie) 2916 2916 if not fileList: 2917 2917 print(msg) … … 2921 2921 name = self.pdfControls[key]['Name'] 2922 2922 if not name: continue 2923 if not G2gd.Get PatternTreeItemId(G2frame,G2frame.root,name):2923 if not G2gd.GetGPXtreeItemId(G2frame,G2frame.root,name): 2924 2924 indx = G2G.ItemSelector(fileList, self, header='Select PDWR item', 2925 2925 title='Select a PDWR tree item for '+key+'\n(or cancel to quit)') … … 2940 2940 AutoInt window. 2941 2941 ''' 2942 img = G2frame. PatternTree.GetItemText(imgId)2943 controlsDict = G2frame. PatternTree.GetItemPyData(2944 G2gd.Get PatternTreeItemId(G2frame,imgId, 'Image Controls'))2945 ImageMasks = G2frame. PatternTree.GetItemPyData(2946 G2gd.Get PatternTreeItemId(G2frame,imgId, 'Masks'))2942 img = G2frame.GPXtree.GetItemText(imgId) 2943 controlsDict = G2frame.GPXtree.GetItemPyData( 2944 G2gd.GetGPXtreeItemId(G2frame,imgId, 'Image Controls')) 2945 ImageMasks = G2frame.GPXtree.GetItemPyData( 2946 G2gd.GetGPXtreeItemId(G2frame,imgId, 'Masks')) 2947 2947 if self.params['Mode'] == 'table': # look up parameter values from table 2948 2948 self.ResetFromTable(controlsDict['setdist']) … … 2967 2967 if not pwdr.startswith('PWDR '): continue 2968 2968 if pwdr in G2frame.AutointPDFnames: continue 2969 PWid = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,pwdr)2970 controlsDict = G2frame. PatternTree.GetItemPyData(2971 G2gd.Get PatternTreeItemId(G2frame,imgId, 'Image Controls'))2969 PWid = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,pwdr) 2970 controlsDict = G2frame.GPXtree.GetItemPyData( 2971 G2gd.GetGPXtreeItemId(G2frame,imgId, 'Image Controls')) 2972 2972 if self.params['pdfDmax'] != 0 and controlsDict['distance'] > self.params['pdfDmax']: 2973 2973 print('Skipping PDF for '+pwdr+' due to detector position') 2974 2974 continue 2975 2975 # Setup PDF 2976 Data = G2frame. PatternTree.GetItemPyData(PWid)[1]2976 Data = G2frame.GPXtree.GetItemPyData(PWid)[1] 2977 2977 pwdrMin = np.min(Data[1]) 2978 Parms = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(2978 Parms = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId( 2979 2979 G2frame,PWid,'Instrument Parameters'))[0] 2980 fullLimits = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(2980 fullLimits = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId( 2981 2981 G2frame,PWid,'Limits'))[0] 2982 2982 if 'C' in Parms['Type'][0]: … … 2987 2987 2988 2988 item = pwdr 2989 Comments = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(2989 Comments = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId( 2990 2990 G2frame,imgId, 'Comments')) 2991 2991 ElList = {} … … 3003 3003 sumnum += float(num) 3004 3004 ElList[elem] = ElData 3005 PDFnames = G2gd.Get PatternTreeDataNames(G2frame,['PDF ',])3005 PDFnames = G2gd.GetGPXtreeDataNames(G2frame,['PDF ',]) 3006 3006 PDFid = G2obj.CreatePDFitems(G2frame,pwdr,ElList.copy(),Qlimits,sumnum,pwdrMin,PDFnames) 3007 3007 if not PDFid: continue 3008 PDFdata = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(3008 PDFdata = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId( 3009 3009 G2frame,PDFid, 'PDF Controls')) 3010 3010 PDFdata.update(self.pdfControls) … … 3023 3023 G2frame.AutointPDFnames.append(pwdr) 3024 3024 # save names of PDF entry to be deleted later if needed 3025 G2frame.AutointPWDRnames.append(G2frame. PatternTree.GetItemText(PDFid))3025 G2frame.AutointPWDRnames.append(G2frame.GPXtree.GetItemText(PDFid)) 3026 3026 3027 3027 G2frame = self.G2frame … … 3039 3039 # integrate the images that have already been read in, but 3040 3040 # have not yet been processed 3041 for img in G2gd.Get PatternTreeDataNames(G2frame,['IMG ']):3042 imgId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,img)3043 size,imagefile,imagetag = G2frame. PatternTree.GetImageLoc(imgId)3041 for img in G2gd.GetGPXtreeDataNames(G2frame,['IMG ']): 3042 imgId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,img) 3043 size,imagefile,imagetag = G2frame.GPXtree.GetImageLoc(imgId) 3044 3044 # Create a list of image files that have been read in 3045 3045 if imagefile not in imageFileList: imageFileList.append(imagefile) -
TabularUnified branch/2frame/GSASIIlog.py ¶
r2900 r2905 208 208 elif i == 1 and type(txt) is int and self.treeItemList[0] == "Phases": 209 209 txt = LogInfo['Tree'].ConvertRelativePhaseNum(txt) 210 item = G2gd.Get PatternTreeItemId(LogInfo['Tree'].G2frame,parent,txt)210 item = G2gd.GetGPXtreeItemId(LogInfo['Tree'].G2frame,parent,txt) 211 211 if not item: 212 212 print 'Not found',txt -
TabularUnified branch/2frame/GSASIIobj.py ¶
r2895 r2905 2622 2622 return repr(self.msg) 2623 2623 2624 def HowDidIgetHere(): 2625 '''Show a traceback with calls that brought us to the current location. 2626 Used for debugging. 2627 ''' 2628 import traceback 2629 print 70*'*' 2630 for i in traceback.format_list(traceback.extract_stack()[:-1]): print(i.strip().rstrip()) 2631 print 70*'*' 2632 2624 2633 def CreatePDFitems(G2frame,PWDRtree,ElList,Qlimits,numAtm=1,FltBkg=0,PDFnames=[]): 2625 2634 '''Create and initialize a new set of PDF tree entries … … 2640 2649 return None 2641 2650 #PDFname = MakeUniqueLabel(PDFname,PDFnames) 2642 Id = G2frame. PatternTree.AppendItem(parent=G2frame.root,text=PDFname)2651 Id = G2frame.GPXtree.AppendItem(parent=G2frame.root,text=PDFname) 2643 2652 Data = { 2644 2653 'Sample':{'Name':PWDRtree,'Mult':1.0}, … … 2650 2659 'Lorch':False,'BackRatio':0.0,'Rmax':100.,'noRing':False,'IofQmin':1.0, 2651 2660 'I(Q)':[],'S(Q)':[],'F(Q)':[],'G(R)':[]} 2652 G2frame. PatternTree.SetItemPyData(G2frame.PatternTree.AppendItem(Id,text='PDF Controls'),Data)2653 G2frame. PatternTree.SetItemPyData(G2frame.PatternTree.AppendItem(Id,text='PDF Peaks'),2661 G2frame.GPXtree.SetItemPyData(G2frame.GPXtree.AppendItem(Id,text='PDF Controls'),Data) 2662 G2frame.GPXtree.SetItemPyData(G2frame.GPXtree.AppendItem(Id,text='PDF Peaks'), 2654 2663 {'Limits':[1.,5.],'Background':[2,[0.,-0.2*np.pi],False],'Peaks':[]}) 2655 2664 return Id -
TabularUnified branch/2frame/GSASIIpath.py ¶
r2895 r2905 627 627 else: # try loading them 628 628 print('Attempting to download GSAS-II binary files...') 629 binpath = DownloadG2Binaries(g2home) 630 if TestSPG(binpath): 629 try: 630 binpath = DownloadG2Binaries(g2home) 631 except AttributeError: # this happens when building in Read The Docs 632 print('Problem with download') 633 if binpath and TestSPG(binpath): 631 634 print('GSAS-II binary directory: {}'.format(binpath)) 632 635 sys.path.insert(0,binpath) -
TabularUnified branch/2frame/GSASIIphsGUI.py ¶
r2900 r2905 1087 1087 for reflName in reflNames: 1088 1088 if 'PWDR' in reflName: 1089 PatternId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root, reflName)1090 reflSets = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId,'Reflection Lists'))1089 PatternId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root, reflName) 1090 reflSets = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId,'Reflection Lists')) 1091 1091 reflData = reflSets[phaseName] 1092 1092 elif 'HKLF' in reflName: 1093 PatternId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root, reflName)1094 reflData = G2frame. PatternTree.GetItemPyData(PatternId)[1]1093 PatternId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root, reflName) 1094 reflData = G2frame.GPXtree.GetItemPyData(PatternId)[1] 1095 1095 if 'Type' not in reflData: 1096 1096 reflData['Type'] = 'SXC' … … 1282 1282 G2frame.G2plotNB.Rename(oldName,generalData['Name']) 1283 1283 G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Phase Data for '+generalData['Name']) 1284 G2frame. PatternTree.SetItemText(Item,generalData['Name'])1284 G2frame.GPXtree.SetItemText(Item,generalData['Name']) 1285 1285 # change phase name key in Reflection Lists for each histogram 1286 1286 for hist in data['Histograms']: 1287 ht = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,hist)1288 rt = G2gd.Get PatternTreeItemId(G2frame,ht,'Reflection Lists')1287 ht = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,hist) 1288 rt = G2gd.GetGPXtreeItemId(G2frame,ht,'Reflection Lists') 1289 1289 if not rt: continue 1290 RfList = G2frame. PatternTree.GetItemPyData(rt)1290 RfList = G2frame.GPXtree.GetItemPyData(rt) 1291 1291 if oldName not in RfList: 1292 1292 print('Warning: '+oldName+' not in Reflection List for '+ … … 2371 2371 UseList[hist]['HStrain'] = [NDij*[0.0,],NDij*[False,]] 2372 2372 newPhase['General']['Map'] = mapDefault.copy() 2373 sub = G2frame. PatternTree.AppendItem(parent=2374 G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Phases'),text=phaseName)2375 G2frame. PatternTree.SetItemPyData(sub,newPhase)2373 sub = G2frame.GPXtree.AppendItem(parent= 2374 G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Phases'),text=phaseName) 2375 G2frame.GPXtree.SetItemPyData(sub,newPhase) 2376 2376 newPhase['Drawing'] = [] 2377 2377 … … 2379 2379 G2frame.GetUsedHistogramsAndPhasesfromTree() 2380 2380 G2cnstG.MagConstraints(G2frame,data,newPhase,Trans,Vec,atCodes) #data is old phase 2381 G2frame. PatternTree.SelectItem(sub)2381 G2frame.GPXtree.SelectItem(sub) 2382 2382 2383 2383 ################################################################################ … … 3489 3489 if 'pId' in data: 3490 3490 DisAglData['pId'] = data['pId'] 3491 DisAglData['covData'] = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.root, 'Covariance'))3491 DisAglData['covData'] = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.root, 'Covariance')) 3492 3492 try: 3493 3493 if fp: … … 3544 3544 Histograms,Phases = G2frame.GetUsedHistogramsAndPhasesfromTree() # init for constraint 3545 3545 # make a lookup table for constraints 3546 sub = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Constraints')3547 Constraints = G2frame. PatternTree.GetItemPyData(sub)3546 sub = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Constraints') 3547 Constraints = G2frame.GPXtree.GetItemPyData(sub) 3548 3548 constDict = {} 3549 3549 for item in Constraints: … … 4443 4443 return 4444 4444 dlg.Destroy() 4445 G2frame.PatternId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,HistName)4446 sample = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(4445 G2frame.PatternId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,HistName) 4446 sample = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId( 4447 4447 G2frame,G2frame.PatternId, 'Sample Parameters')) 4448 4448 scale = sample['Scale'][0] 4449 background = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(4449 background = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId( 4450 4450 G2frame,G2frame.PatternId, 'Background')) 4451 limits = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(4451 limits = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId( 4452 4452 G2frame,G2frame.PatternId, 'Limits'))[1] 4453 inst = G2frame. PatternTree.GetItemPyData(4454 G2gd.Get PatternTreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))[0]4453 inst = G2frame.GPXtree.GetItemPyData( 4454 G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))[0] 4455 4455 if 'T' in inst['Type'][0]: 4456 4456 wx.MessageBox("Can't simulate neutron TOF patterns yet",caption='Data error',style=wx.ICON_EXCLAMATION) 4457 4457 return 4458 profile = G2frame. PatternTree.GetItemPyData(G2frame.PatternId)[1]4458 profile = G2frame.GPXtree.GetItemPyData(G2frame.PatternId)[1] 4459 4459 G2pwd.CalcStackingPWDR(data['Layers'],scale,background,limits,inst,profile,debug) 4460 4460 if debug: … … 4533 4533 return 4534 4534 dlg.Destroy() 4535 G2frame.PatternId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,HistName)4536 sample = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(4535 G2frame.PatternId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,HistName) 4536 sample = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId( 4537 4537 G2frame,G2frame.PatternId, 'Sample Parameters')) 4538 4538 scale = sample['Scale'][0] 4539 background = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(4539 background = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId( 4540 4540 G2frame,G2frame.PatternId, 'Background')) 4541 limits = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(4541 limits = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId( 4542 4542 G2frame,G2frame.PatternId, 'Limits'))[1] 4543 inst = G2frame. PatternTree.GetItemPyData(4544 G2gd.Get PatternTreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))[0]4543 inst = G2frame.GPXtree.GetItemPyData( 4544 G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))[0] 4545 4545 if 'T' in inst['Type'][0]: 4546 4546 wx.MessageBox("Can't simulate neutron TOF patterns yet",caption='Data error',style=wx.ICON_EXCLAMATION) 4547 4547 return 4548 profile = np.copy(G2frame. PatternTree.GetItemPyData(G2frame.PatternId)[1])4548 profile = np.copy(G2frame.GPXtree.GetItemPyData(G2frame.PatternId)[1]) 4549 4549 resultXY2 = [] 4550 4550 resultXY = [np.vstack((profile[0],profile[1])),] #observed data … … 4898 4898 def OnRestraint(event): 4899 4899 indx = drawAtoms.GetSelectedRows() 4900 restData = G2frame. PatternTree.GetItemPyData(4901 G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Restraints'))4900 restData = G2frame.GPXtree.GetItemPyData( 4901 G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Restraints')) 4902 4902 drawingData = data['Drawing'] 4903 4903 generalData = data['General'] … … 4947 4947 print '**** ERROR wrong number of atoms selected for this restraint' 4948 4948 return 4949 G2frame. PatternTree.SetItemPyData(4950 G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Restraints'),restData)4949 G2frame.GPXtree.SetItemPyData( 4950 G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Restraints'),restData) 4951 4951 4952 4952 def OnDefineRB(event): 4953 4953 indx = drawAtoms.GetSelectedRows() 4954 4954 indx.sort() 4955 RBData = G2frame. PatternTree.GetItemPyData(4956 G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Rigid bodies'))4955 RBData = G2frame.GPXtree.GetItemPyData( 4956 G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Rigid bodies')) 4957 4957 drawingData = data['Drawing'] 4958 4958 generalData = data['General'] … … 5689 5689 if 'pId' in data: 5690 5690 DATData['pId'] = data['pId'] 5691 DATData['covData'] = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.root, 'Covariance'))5691 DATData['covData'] = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.root, 'Covariance')) 5692 5692 G2stMn.DisAglTor(DATData) 5693 5693 … … 6482 6482 keyList = data['Histograms'].keys() 6483 6483 TextList = [] 6484 if not G2frame. PatternTree.GetCount():6484 if not G2frame.GPXtree.GetCount(): 6485 6485 return 6486 6486 6487 item, cookie = G2frame. PatternTree.GetFirstChild(G2frame.root)6487 item, cookie = G2frame.GPXtree.GetFirstChild(G2frame.root) 6488 6488 while item: 6489 name = G2frame. PatternTree.GetItemText(item)6489 name = G2frame.GPXtree.GetItemText(item) 6490 6490 if name not in keyList and 'HKLF' in name: 6491 6491 TextList.append(name) 6492 item, cookie = G2frame. PatternTree.GetNextChild(G2frame.root, cookie)6492 item, cookie = G2frame.GPXtree.GetNextChild(G2frame.root, cookie) 6493 6493 if not TextList: 6494 6494 G2G.G2MessageBox(G2frame.dataFrame,'No reflections') … … 6526 6526 for i in result: 6527 6527 histoName = TextList[i] 6528 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,histoName)6529 refDict,reflData = G2frame. PatternTree.GetItemPyData(Id)6528 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,histoName) 6529 refDict,reflData = G2frame.GPXtree.GetItemPyData(Id) 6530 6530 data['Histograms'][histoName] = {'Histogram':histoName,'Show':False,'Scale':[1.0,True], 6531 6531 'Babinet':{'BabA':[0.0,False],'BabU':[0.0,False]}, … … 6566 6566 # def UpdateHKLFdata(histoName): 6567 6567 # generalData = data['General'] 6568 # Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,histoName)6569 # refDict,reflData = G2frame. PatternTree.GetItemPyData(Id)6568 # Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,histoName) 6569 # refDict,reflData = G2frame.GPXtree.GetItemPyData(Id) 6570 6570 # SGData = generalData['SGData'] 6571 6571 # Cell = generalData['Cell'][1:7] … … 6585 6585 def UpdateHKLFdata(histoName): 6586 6586 generalData = data['General'] 6587 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,histoName)6588 refDict,reflData = G2frame. PatternTree.GetItemPyData(Id)6587 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,histoName) 6588 refDict,reflData = G2frame.GPXtree.GetItemPyData(Id) 6589 6589 SGData = generalData['SGData'] 6590 6590 Cell = generalData['Cell'][1:7] … … 6739 6739 keyList = data['Histograms'].keys() 6740 6740 TextList = [] 6741 if G2frame. PatternTree.GetCount():6742 item, cookie = G2frame. PatternTree.GetFirstChild(G2frame.root)6741 if G2frame.GPXtree.GetCount(): 6742 item, cookie = G2frame.GPXtree.GetFirstChild(G2frame.root) 6743 6743 while item: 6744 name = G2frame. PatternTree.GetItemText(item)6744 name = G2frame.GPXtree.GetItemText(item) 6745 6745 if name not in keyList and 'PWDR' in name: 6746 6746 TextList.append(name) 6747 item, cookie = G2frame. PatternTree.GetNextChild(G2frame.root, cookie)6747 item, cookie = G2frame.GPXtree.GetNextChild(G2frame.root, cookie) 6748 6748 if not TextList: 6749 6749 G2G.G2MessageBox(G2frame.dataFrame,'No histograms') … … 6758 6758 newList = TextList[1:] 6759 6759 for histoName in newList: 6760 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,histoName)6760 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,histoName) 6761 6761 data['Histograms'][histoName] = {'Histogram':histoName,'Show':False,'LeBail':False,'newLeBail':True, 6762 6762 'Scale':[1.0,False],'Pref.Ori.':['MD',1.0,False,[0,0,1],0,{},['',],0.1], … … 6767 6767 'HStrain':[NDij*[0.0,],NDij*[False,]], 6768 6768 'Extinction':[0.0,False],'Babinet':{'BabA':[0.0,False],'BabU':[0.0,False]}} 6769 refList = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Reflection Lists'))6769 refList = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Reflection Lists')) 6770 6770 refList[generalData['Name']] = {} 6771 6771 wx.CallAfter(G2ddG.UpdateDData,G2frame,DData,data) … … 7103 7103 AtLookUp = G2mth.FillAtomLookUp(data['Atoms'],cia+8) 7104 7104 Amat,Bmat = G2lat.cell2AB(general['Cell'][1:7]) 7105 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Rigid bodies')7105 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Rigid bodies') 7106 7106 if not Id: 7107 7107 return 7108 RBData = G2frame. PatternTree.GetItemPyData(Id)7108 RBData = G2frame.GPXtree.GetItemPyData(Id) 7109 7109 Indx = {} 7110 7110 atomStyle = 'balls & sticks' … … 7180 7180 7181 7181 G2frame.GetStatusBar().SetStatusText('') 7182 RBData = G2frame. PatternTree.GetItemPyData(7183 G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Rigid bodies'))7182 RBData = G2frame.GPXtree.GetItemPyData( 7183 G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Rigid bodies')) 7184 7184 rbNames = {} 7185 7185 for rbVec in RBData['Vector']: … … 7479 7479 7480 7480 def OnAutoFindResRB(event): 7481 RBData = G2frame. PatternTree.GetItemPyData(7482 G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Rigid bodies'))7481 RBData = G2frame.GPXtree.GetItemPyData( 7482 G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Rigid bodies')) 7483 7483 rbKeys = RBData['Residue'].keys() 7484 7484 rbKeys.remove('AtInfo') … … 7567 7567 data['RBModels']['Residue'] = [] 7568 7568 data['RBModels']['Vector'] = [] 7569 RBData = G2frame. PatternTree.GetItemPyData(7570 G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Rigid bodies'))7569 RBData = G2frame.GPXtree.GetItemPyData( 7570 G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Rigid bodies')) 7571 7571 for RBType in ['Vector','Residue']: 7572 7572 for rbId in RBData[RBType]: … … 7999 7999 general = data['General'] 8000 8000 Amat,Bmat = G2lat.cell2AB(general['Cell'][1:7]) 8001 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Rigid bodies')8001 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Rigid bodies') 8002 8002 if not Id: 8003 8003 return 8004 RBData = G2frame. PatternTree.GetItemPyData(Id)8004 RBData = G2frame.GPXtree.GetItemPyData(Id) 8005 8005 Indx = {} 8006 8006 # atomStyle = 'balls & sticks' … … 8082 8082 covData = {} 8083 8083 if 'PWDR' in reflName: 8084 PatternId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root, reflName)8085 reflSets = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId,'Reflection Lists'))8084 PatternId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root, reflName) 8085 reflSets = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId,'Reflection Lists')) 8086 8086 try: #patch for old reflection data 8087 8087 reflData = reflSets[phaseName]['RefList'] … … 8090 8090 reflType = 'PWDR' 8091 8091 elif 'HKLF' in reflName: 8092 PatternId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root, reflName)8092 PatternId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root, reflName) 8093 8093 try: 8094 reflData = G2frame. PatternTree.GetItemPyData(PatternId)[1]['RefList']8094 reflData = G2frame.GPXtree.GetItemPyData(PatternId)[1]['RefList'] 8095 8095 except TypeError: 8096 reflData = G2frame. PatternTree.GetItemPyData(PatternId)[1]8096 reflData = G2frame.GPXtree.GetItemPyData(PatternId)[1] 8097 8097 reflType = 'HKLF' 8098 8098 elif reflName == 'Pawley reflections': 8099 8099 reflData = data['Pawley ref'] 8100 covData = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.root, 'Covariance'))8100 covData = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.root, 'Covariance')) 8101 8101 reflType = 'Pawley' 8102 8102 else: … … 8105 8105 print 'MC/SA run:' 8106 8106 print 'Reflection type:',reflType,' Total No. reflections: ',len(reflData) 8107 RBdata = G2frame. PatternTree.GetItemPyData(8108 G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Rigid bodies'))8107 RBdata = G2frame.GPXtree.GetItemPyData( 8108 G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Rigid bodies')) 8109 8109 MCSAmodels = MCSAdata['Models'] 8110 8110 if not len(MCSAmodels): … … 8164 8164 8165 8165 def OnMCSAaddRB(event): 8166 rbData = G2frame. PatternTree.GetItemPyData(8167 G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Rigid bodies'))8166 rbData = G2frame.GPXtree.GetItemPyData( 8167 G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Rigid bodies')) 8168 8168 rbNames = {} 8169 8169 for rbVec in rbData['Vector']: … … 8363 8363 for hist in histograms: 8364 8364 if 'PWDR' in hist[:4]: 8365 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,hist)8366 inst = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(8365 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,hist) 8366 inst = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId( 8367 8367 G2frame,Id, 'Instrument Parameters'))[0] 8368 limits = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id, 'Limits'))8368 limits = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id, 'Limits')) 8369 8369 Tmin = G2lat.Dsp2pos(inst,dmin) 8370 8370 if 'T' in inst['Type'][0]: … … 8419 8419 G2frame.ErrorDialog('Pawley estimate','No histograms defined for this phase') 8420 8420 return 8421 PatternId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,HistoNames[0]) #only use 1st histogram8422 xdata = G2frame. PatternTree.GetItemPyData(PatternId)[1]8423 Inst = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId,'Instrument Parameters'))[0]8424 Sample = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId,'Sample Parameters'))8421 PatternId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,HistoNames[0]) #only use 1st histogram 8422 xdata = G2frame.GPXtree.GetItemPyData(PatternId)[1] 8423 Inst = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId,'Instrument Parameters'))[0] 8424 Sample = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId,'Sample Parameters')) 8425 8425 wave = G2mth.getWave(Inst) 8426 8426 const = 9.e-2/(np.pi*Sample['Gonio. radius']) #shifts in microns … … 8469 8469 return 8470 8470 HistoNames = Histograms.keys() 8471 PatternId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,HistoNames[0])8472 refData = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame, \8471 PatternId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,HistoNames[0]) 8472 refData = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame, \ 8473 8473 PatternId,'Reflection Lists'))[PhaseName]['RefList'] 8474 8474 im = 0 … … 8890 8890 it = 0 8891 8891 histNames.append(name) 8892 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,name)8893 Inst = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Instrument Parameters'))8894 Sample = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Sample Parameters'))8892 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,name) 8893 Inst = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Instrument Parameters')) 8894 Sample = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Sample Parameters')) 8895 8895 Gangls[name] = copy.copy([Sample[item] for item in['Phi','Chi','Omega','Azimuth']]) 8896 RefDict = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Reflection Lists'))[phaseName]8896 RefDict = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Reflection Lists'))[phaseName] 8897 8897 Refs = RefDict['RefList'].T #np.array! 8898 8898 if RefDict['Super']: im = 1 #(3+1) offset for m … … 9156 9156 global rbAtmDict 9157 9157 rbAtmDict = {} 9158 PhaseName = G2frame. PatternTree.GetItemText(Item)9158 PhaseName = G2frame.GPXtree.GetItemText(Item) 9159 9159 G2gd.SetDataMenuBar(G2frame) 9160 9160 G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Phase Data for '+PhaseName) -
TabularUnified branch/2frame/GSASIIplot.py ¶
r2900 r2905 368 368 ''' 369 369 self.allowZoomReset = False 370 if pid: self.G2frame. PatternTree.SelectItem(pid)370 if pid: self.G2frame.GPXtree.SelectItem(pid) 371 371 self.allowZoomReset = True 372 372 if plotDebug: print 'invoke',str(self).split('0x')[1],str(pid) … … 555 555 G2frame.G2plotNB.status.SetStatusText('H = '+HKLtext,0) 556 556 557 Name = G2frame. PatternTree.GetItemText(G2frame.PatternId)557 Name = G2frame.GPXtree.GetItemText(G2frame.PatternId) 558 558 if not Title: 559 559 Title = Name … … 809 809 Draw('key') 810 810 811 Name = G2frame. PatternTree.GetItemText(G2frame.PatternId)811 Name = G2frame.GPXtree.GetItemText(G2frame.PatternId) 812 812 if Title and Title in G2frame.GetPhaseData(): #NB: save image as e.g. jpeg will fail if False; MyDir is unknown 813 813 generalData = G2frame.GetPhaseData()[Title]['General'] … … 1191 1191 if not histogram.startswith('PWDR'): return 1192 1192 pickId = G2frame.PickId 1193 G2frame.PickId = G2frame.PatternId = G2gd.Get PatternTreeItemId(G2frame, G2frame.root, histogram)1194 treedata = G2frame. PatternTree.GetItemPyData(G2frame.PatternId)1193 G2frame.PickId = G2frame.PatternId = G2gd.GetGPXtreeItemId(G2frame, G2frame.root, histogram) 1194 treedata = G2frame.GPXtree.GetItemPyData(G2frame.PatternId) 1195 1195 PlotPatterns(G2frame,newPlot=True,plotType='PWDR',data=[treedata[0],refdata]) 1196 1196 wx.Yield() # force a plot update (needed on Windows?) … … 1203 1203 ''' 1204 1204 if PatternName: 1205 G2frame.PatternId = G2gd.Get PatternTreeItemId(G2frame, G2frame.root, PatternName)1205 G2frame.PatternId = G2gd.GetGPXtreeItemId(G2frame, G2frame.root, PatternName) 1206 1206 if PickName == PatternName: 1207 1207 G2frame.PickId = G2frame.PatternId 1208 1208 elif PickName: 1209 G2frame.PickId = G2gd.Get PatternTreeItemId(G2frame, G2frame.PatternId, PickName)1209 G2frame.PickId = G2gd.GetGPXtreeItemId(G2frame, G2frame.PatternId, PickName) 1210 1210 # for now I am not sure how to regenerate G2frame.HKL 1211 1211 G2frame.HKL = [] # TODO … … 1237 1237 #patch 1238 1238 if data is None: 1239 data = G2frame. PatternTree.GetItemPyData(G2frame.PatternId)1239 data = G2frame.GPXtree.GetItemPyData(G2frame.PatternId) 1240 1240 if 'Offset' not in data[0] and plotType in ['PWDR','SASD','REFD']: #plot offset data 1241 1241 Ymax = max(data[1][1]) 1242 1242 data[0].update({'Offset':[0.0,0.0],'delOffset':0.02*Ymax,'refOffset':-0.1*Ymax, 1243 1243 'refDelt':0.1*Ymax,}) 1244 G2frame. PatternTree.SetItemPyData(G2frame.PickId,data)1244 G2frame.GPXtree.SetItemPyData(G2frame.PickId,data) 1245 1245 #end patch 1246 1246 def OnPlotKeyPress(event): 1247 1247 try: #one way to check if key stroke will work on plot 1248 Parms,Parms2 = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))1248 Parms,Parms2 = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters')) 1249 1249 except TypeError: 1250 1250 G2frame.G2plotNB.status.SetStatusText('Select '+plottype+' pattern first',1) … … 1335 1335 newPlot = True 1336 1336 elif event.key == 'f' and not G2frame.SinglePlot: 1337 choices = G2gd.Get PatternTreeDataNames(G2frame,plotType)1337 choices = G2gd.GetGPXtreeDataNames(G2frame,plotType) 1338 1338 dlg = G2G.G2MultiChoiceDialog(G2frame.dataFrame,'Select dataset to plot', 1339 1339 'Multidata plot selection',choices) … … 1373 1373 Page.canvas.SetCursor(wx.CROSS_CURSOR) 1374 1374 try: 1375 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters')1375 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters') 1376 1376 if not Id: return 1377 Parms,Parms2 = G2frame. PatternTree.GetItemPyData(Id)1377 Parms,Parms2 = G2frame.GPXtree.GetItemPyData(Id) 1378 1378 if G2frame.plotStyle['qPlot'] and 'PWDR' in plottype: 1379 1379 q = xpos … … 1422 1422 if G2frame.PickId: 1423 1423 found = [] 1424 pickIdText = G2frame. PatternTree.GetItemText(G2frame.PickId)1424 pickIdText = G2frame.GPXtree.GetItemText(G2frame.PickId) 1425 1425 if pickIdText in ['Index Peak List','Unit Cells List','Reflection Lists'] or \ 1426 1426 'PWDR' in pickIdText: … … 1546 1546 1547 1547 try: 1548 Parms,Parms2 = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))1548 Parms,Parms2 = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters')) 1549 1549 except TypeError: 1550 1550 return … … 1570 1570 PatternId = G2frame.PatternId 1571 1571 PickId = G2frame.PickId 1572 if G2frame. PatternTree.GetItemText(PickId) == 'Peak List':1572 if G2frame.GPXtree.GetItemText(PickId) == 'Peak List': 1573 1573 if ind.all() != [0] and ObsLine[0].get_label() in str(pick): #picked a data point, add a new peak 1574 data = G2frame. PatternTree.GetItemPyData(G2frame.PickId)1574 data = G2frame.GPXtree.GetItemPyData(G2frame.PickId) 1575 1575 XY = G2mth.setPeakparms(Parms,Parms2,xy[0],xy[1]) 1576 1576 data['peaks'].append(XY) … … 1588 1588 G2frame.cid = Page.canvas.mpl_connect('motion_notify_event', OnDragLine) 1589 1589 pick.set_linestyle('--') # back to dashed 1590 elif G2frame. PatternTree.GetItemText(PickId) == 'Limits':1590 elif G2frame.GPXtree.GetItemText(PickId) == 'Limits': 1591 1591 if ind.all() != [0]: #picked a data point 1592 LimitId = G2gd.Get PatternTreeItemId(G2frame,PatternId, 'Limits')1593 data = G2frame. PatternTree.GetItemPyData(LimitId)1592 LimitId = G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Limits') 1593 data = G2frame.GPXtree.GetItemPyData(LimitId) 1594 1594 if G2frame.plotStyle['qPlot']: #qplot - convert back to 2-theta 1595 1595 xy[0] = G2lat.Dsp2pos(Parms,2*np.pi/xy[0]) … … 1607 1607 if mouse.button==3: 1608 1608 data[1][1] = max(xy[0],data[1][0]) 1609 G2frame. PatternTree.SetItemPyData(LimitId,data)1609 G2frame.GPXtree.SetItemPyData(LimitId,data) 1610 1610 G2pdG.UpdateLimitsGrid(G2frame,data,plottype) 1611 1611 wx.CallAfter(PlotPatterns,G2frame,plotType=plottype) … … 1621 1621 pick.set_linestyle('--') # back to dashed 1622 1622 1623 elif G2frame. PatternTree.GetItemText(PickId) == 'Models':1623 elif G2frame.GPXtree.GetItemText(PickId) == 'Models': 1624 1624 if ind.all() != [0]: #picked a data point 1625 LimitId = G2gd.Get PatternTreeItemId(G2frame,PatternId, 'Limits')1626 data = G2frame. PatternTree.GetItemPyData(LimitId)1625 LimitId = G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Limits') 1626 data = G2frame.GPXtree.GetItemPyData(LimitId) 1627 1627 if mouse.button==1: 1628 1628 data[1][0] = min(xy[0],data[1][1]) 1629 1629 if mouse.button==3: 1630 1630 data[1][1] = max(xy[0],data[1][0]) 1631 G2frame. PatternTree.SetItemPyData(LimitId,data)1631 G2frame.GPXtree.SetItemPyData(LimitId,data) 1632 1632 wx.CallAfter(PlotPatterns,G2frame,plotType=plottype) 1633 1633 else: #picked a limit line 1634 1634 G2frame.itemPicked = pick 1635 elif (G2frame. PatternTree.GetItemText(PickId) == 'Reflection Lists' or1636 'PWDR' in G2frame. PatternTree.GetItemText(PickId)1635 elif (G2frame.GPXtree.GetItemText(PickId) == 'Reflection Lists' or 1636 'PWDR' in G2frame.GPXtree.GetItemText(PickId) 1637 1637 ): 1638 1638 G2frame.itemPicked = pick … … 1664 1664 G2frame.cid = Page.canvas.mpl_connect('motion_notify_event', OnDragTickmarks) 1665 1665 1666 elif G2frame. PatternTree.GetItemText(PickId) == 'Background':1666 elif G2frame.GPXtree.GetItemText(PickId) == 'Background': 1667 1667 # selected a fixed background point. Can move it or delete it. 1668 1668 for mode,id in G2frame.dataFrame.wxID_BackPts.iteritems(): # what menu is selected? … … 1672 1672 if pick.get_marker() == 'D': 1673 1673 # find the closest point 1674 backDict = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Background'))[1]1674 backDict = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Background'))[1] 1675 1675 d2 = [(x-xy[0])**2+(y-xy[1])**2 for x,y in backDict['FixedPoints']] 1676 1676 G2frame.fixPtMarker = d2.index(min(d2)) … … 1708 1708 1709 1709 PickId = G2frame.PickId # points to item in tree 1710 if G2frame. PatternTree.GetItemText(PickId) == 'Background' and event.xdata:1710 if G2frame.GPXtree.GetItemText(PickId) == 'Background' and event.xdata: 1711 1711 if Page.toolbar._active: # prevent ops. if a toolbar zoom button pressed 1712 1712 return … … 1714 1714 if G2frame.SubBack or G2frame.Weight or G2frame.Contour or not G2frame.SinglePlot: 1715 1715 return 1716 backDict = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Background'))[1]1716 backDict = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Background'))[1] 1717 1717 if 'FixedPoints' not in backDict: backDict['FixedPoints'] = [] 1718 1718 try: 1719 Parms,Parms2 = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))1719 Parms,Parms2 = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters')) 1720 1720 except TypeError: 1721 1721 return … … 1745 1745 if G2frame.itemPicked is None: return 1746 1746 if DifLine[0] is G2frame.itemPicked: # respond to dragging of the difference curve 1747 data = G2frame. PatternTree.GetItemPyData(PickId)1747 data = G2frame.GPXtree.GetItemPyData(PickId) 1748 1748 ypos = event.ydata 1749 1749 Pattern[0]['delOffset'] = -ypos … … 1751 1751 wx.CallAfter(PlotPatterns,G2frame,plotType=plottype) 1752 1752 return 1753 Parms,Parms2 = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))1753 Parms,Parms2 = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters')) 1754 1754 xpos = event.xdata 1755 if G2frame. PatternTree.GetItemText(PickId) in ['Peak List','Limits'] and xpos:1755 if G2frame.GPXtree.GetItemText(PickId) in ['Peak List','Limits'] and xpos: 1756 1756 lines = [] 1757 1757 for line in G2frame.Lines: … … 1763 1763 nxcl = len(exclLines) 1764 1764 if lineNo in [0,1] or lineNo in exclLines: 1765 LimitId = G2gd.Get PatternTreeItemId(G2frame,G2frame.PatternId, 'Limits')1766 limits = G2frame. PatternTree.GetItemPyData(LimitId)1765 LimitId = G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Limits') 1766 limits = G2frame.GPXtree.GetItemPyData(LimitId) 1767 1767 id = lineNo/2+1 1768 1768 id2 = lineNo%2 … … 1777 1777 limits[1][0] = min(max(limits[0][0],limits[1][0]),limits[1][1]) 1778 1778 limits[1][1] = max(min(limits[0][1],limits[1][1]),limits[1][0]) 1779 if G2frame. PatternTree.GetItemText(G2frame.PickId) == 'Limits':1779 if G2frame.GPXtree.GetItemText(G2frame.PickId) == 'Limits': 1780 1780 G2pdG.UpdateLimitsGrid(G2frame,limits,plottype) 1781 1781 elif lineNo > 1+nxcl: 1782 PeakId = G2gd.Get PatternTreeItemId(G2frame,G2frame.PatternId, 'Peak List')1783 peaks = G2frame. PatternTree.GetItemPyData(PeakId)1782 PeakId = G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Peak List') 1783 peaks = G2frame.GPXtree.GetItemPyData(PeakId) 1784 1784 if event.button == 3: 1785 1785 del peaks['peaks'][lineNo-2-nxcl] … … 1793 1793 peaks['sigDict'] = {} #no longer valid 1794 1794 G2pdG.UpdatePeakGrid(G2frame,peaks) 1795 elif G2frame. PatternTree.GetItemText(PickId) in ['Models',] and xpos:1795 elif G2frame.GPXtree.GetItemText(PickId) in ['Models',] and xpos: 1796 1796 lines = [] 1797 1797 for line in G2frame.Lines: … … 1802 1802 lineNo = -1 1803 1803 if lineNo in [0,1]: 1804 LimitId = G2gd.Get PatternTreeItemId(G2frame,G2frame.PatternId, 'Limits')1805 data = G2frame. PatternTree.GetItemPyData(LimitId)1804 LimitId = G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Limits') 1805 data = G2frame.GPXtree.GetItemPyData(LimitId) 1806 1806 data[1][lineNo] = xpos 1807 1807 data[1][0] = min(max(data[0][0],data[1][0]),data[1][1]) 1808 1808 data[1][1] = max(min(data[0][1],data[1][1]),data[1][0]) 1809 elif (G2frame. PatternTree.GetItemText(PickId) == 'Reflection Lists' or \1810 'PWDR' in G2frame. PatternTree.GetItemText(PickId)) and xpos:1811 Id = G2gd.Get PatternTreeItemId(G2frame,PatternId,'Reflection Lists')1809 elif (G2frame.GPXtree.GetItemText(PickId) == 'Reflection Lists' or \ 1810 'PWDR' in G2frame.GPXtree.GetItemText(PickId)) and xpos: 1811 Id = G2gd.GetGPXtreeItemId(G2frame,PatternId,'Reflection Lists') 1812 1812 # GSASIIpath.IPyBreak() 1813 1813 if Id: 1814 #Phases = G2frame. PatternTree.GetItemPyData(Id)1814 #Phases = G2frame.GPXtree.GetItemPyData(Id) 1815 1815 pick = str(G2frame.itemPicked).split('(',1)[1][:-1] 1816 1816 if 'line' not in pick: #avoid data points, etc. 1817 data = G2frame. PatternTree.GetItemPyData(G2frame.PatternId)1817 data = G2frame.GPXtree.GetItemPyData(G2frame.PatternId) 1818 1818 num = Page.phaseList.index(pick) 1819 1819 if num: … … 1840 1840 Page.canvas.mpl_connect('button_release_event', OnRelease) 1841 1841 Page.canvas.mpl_connect('button_press_event',OnPress) 1842 if 'PWDR' in G2frame. PatternTree.GetItemText(G2frame.PickId):1842 if 'PWDR' in G2frame.GPXtree.GetItemText(G2frame.PickId): 1843 1843 Histograms,Phases = G2frame.GetUsedHistogramsAndPhasesfromTree() 1844 1844 refColors=['b','r','c','g','m','k'] 1845 1845 Page.phaseColors = {p:refColors[i%len(refColors)] for i,p in enumerate(Phases)} 1846 Phases = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId,'Reflection Lists'))1846 Phases = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId,'Reflection Lists')) 1847 1847 Page.phaseList = sorted(Phases.keys()) # define an order for phases (once!) 1848 1848 G2frame.dataWindow.Bind(wx.EVT_MENU, onMoveDiffCurve, id=G2frame.dataWindow.moveDiffCurve.GetId()) … … 1852 1852 G2frame.dataWindow.moveTickLoc.Enable(False) 1853 1853 G2frame.dataWindow.moveTickSpc.Enable(False) 1854 elif G2frame. PatternTree.GetItemText(G2frame.PickId) == 'Peak List':1854 elif G2frame.GPXtree.GetItemText(G2frame.PickId) == 'Peak List': 1855 1855 G2frame.dataFrame.Bind(wx.EVT_MENU, onMovePeak, id=G2frame.dataWindow.movePeak.GetId()) 1856 1856 # save information needed to reload from tree and redraw 1857 kwargs={'PatternName':G2frame. PatternTree.GetItemText(G2frame.PatternId)}1857 kwargs={'PatternName':G2frame.GPXtree.GetItemText(G2frame.PatternId)} 1858 1858 if G2frame.PickId: 1859 kwargs['PickName'] = G2frame. PatternTree.GetItemText(G2frame.PickId)1859 kwargs['PickName'] = G2frame.GPXtree.GetItemText(G2frame.PickId) 1860 1860 #G2frame.G2plotNB.RegisterRedrawRoutine('Powder Patterns',ReplotPattern, 1861 1861 G2frame.G2plotNB.RegisterRedrawRoutine(G2frame.G2plotNB.lastRaisedPlotTab,ReplotPattern, … … 1916 1916 exclLines = [] 1917 1917 if G2frame.SinglePlot and PatternId: 1918 Pattern = G2frame. PatternTree.GetItemPyData(PatternId)1919 Pattern.append(G2frame. PatternTree.GetItemText(PatternId))1918 Pattern = G2frame.GPXtree.GetItemPyData(PatternId) 1919 Pattern.append(G2frame.GPXtree.GetItemText(PatternId)) 1920 1920 PlotList = [Pattern,] 1921 Parms,Parms2 = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,1921 Parms,Parms2 = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame, 1922 1922 G2frame.PatternId, 'Instrument Parameters')) 1923 Sample = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Sample Parameters'))1923 Sample = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Sample Parameters')) 1924 1924 ParmList = [Parms,] 1925 1925 SampleList = [Sample,] … … 1931 1931 SampleList = [] 1932 1932 if G2frame.selections is None: 1933 choices = G2gd.Get PatternTreeDataNames(G2frame,plotType)1933 choices = G2gd.GetGPXtreeDataNames(G2frame,plotType) 1934 1934 else: 1935 1935 choices = G2frame.selections 1936 1936 for item in choices: 1937 id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root, item)1938 Pattern = G2frame. PatternTree.GetItemPyData(id)1937 id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root, item) 1938 Pattern = G2frame.GPXtree.GetItemPyData(id) 1939 1939 if len(Pattern) < 3: # put name on end if needed 1940 Pattern.append(G2frame. PatternTree.GetItemText(id))1940 Pattern.append(G2frame.GPXtree.GetItemText(id)) 1941 1941 if 'Offset' not in Pattern[0]: #plot offset data 1942 1942 Ymax = max(Pattern[1][1]) 1943 1943 Pattern[0].update({'Offset':[0.0,0.0],'delOffset':0.02*Ymax,'refOffset':-0.1*Ymax,'refDelt':0.1*Ymax,}) 1944 1944 PlotList.append(Pattern) 1945 ParmList.append(G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,1945 ParmList.append(G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame, 1946 1946 id,'Instrument Parameters'))[0]) 1947 SampleList.append(G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,1947 SampleList.append(G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame, 1948 1948 id, 'Sample Parameters'))) 1949 1949 lenX = 0 … … 2011 2011 xye = ma.array(ma.getdata(Pattern[1])) 2012 2012 if PickId: 2013 ifpicked = Pattern[2] == G2frame. PatternTree.GetItemText(PatternId)2014 LimitId = G2gd.Get PatternTreeItemId(G2frame,G2frame.PatternId,'Limits')2015 limits = G2frame. PatternTree.GetItemPyData(LimitId)2013 ifpicked = Pattern[2] == G2frame.GPXtree.GetItemText(PatternId) 2014 LimitId = G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId,'Limits') 2015 limits = G2frame.GPXtree.GetItemPyData(LimitId) 2016 2016 excls = limits[2:] 2017 2017 for excl in excls: … … 2042 2042 Y = xye[1]*Sample['Scale'][0]*(1.05)**(offsetY*N) 2043 2043 if LimitId and ifpicked: 2044 limits = np.array(G2frame. PatternTree.GetItemPyData(LimitId))2044 limits = np.array(G2frame.GPXtree.GetItemPyData(LimitId)) 2045 2045 lims = limits[1] 2046 2046 if G2frame.plotStyle['qPlot'] and 'PWDR' in plottype: … … 2169 2169 Page.canvas.SetToolTipString('') 2170 2170 if PickId: 2171 if G2frame. PatternTree.GetItemText(PickId) == 'Peak List':2171 if G2frame.GPXtree.GetItemText(PickId) == 'Peak List': 2172 2172 tip = 'On data point: Pick peak - L or R MB. On line: L-move, R-delete' 2173 2173 Page.canvas.SetToolTipString(tip) 2174 data = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Peak List'))2174 data = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Peak List')) 2175 2175 selectedPeaks = list(set( 2176 2176 [row for row,col in G2frame.reflGrid.GetSelectedCells()] + … … 2190 2190 if Ni == N+1: 2191 2191 Lines[-1].set_lw(Lines[-1].get_lw()+1) 2192 if G2frame. PatternTree.GetItemText(PickId) == 'Limits':2192 if G2frame.GPXtree.GetItemText(PickId) == 'Limits': 2193 2193 tip = 'On data point: Lower limit - L MB; Upper limit - R MB. On limit: MB down to move' 2194 2194 Page.canvas.SetToolTipString(tip) 2195 data = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Limits'))2195 data = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Limits')) 2196 2196 2197 2197 else: #not picked … … 2211 2211 Plot.set_ylim(bottom=np.min(np.trim_zeros(Y))/2.,top=np.max(Y)*2.) 2212 2212 if PickId and not G2frame.Contour: 2213 Parms,Parms2 = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Instrument Parameters'))2214 if G2frame. PatternTree.GetItemText(PickId) in ['Index Peak List','Unit Cells List']:2215 peaks = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Index Peak List'))2213 Parms,Parms2 = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Instrument Parameters')) 2214 if G2frame.GPXtree.GetItemText(PickId) in ['Index Peak List','Unit Cells List']: 2215 peaks = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Index Peak List')) 2216 2216 if not len(peaks): return # are there any peaks? 2217 2217 for peak in peaks[0]: … … 2233 2233 else: 2234 2234 Plot.axvline(hkl[-2],color=clr,dashes=(5,5)) 2235 elif G2frame. PatternTree.GetItemText(PickId) in ['Reflection Lists'] or \2236 'PWDR' in G2frame. PatternTree.GetItemText(PickId):2237 Phases = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId,'Reflection Lists'))2235 elif G2frame.GPXtree.GetItemText(PickId) in ['Reflection Lists'] or \ 2236 'PWDR' in G2frame.GPXtree.GetItemText(PickId): 2237 Phases = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId,'Reflection Lists')) 2238 2238 l = GSASIIpath.GetConfigValue('Tick_length',8.0) 2239 2239 w = GSASIIpath.GetConfigValue('Tick_width',1.) … … 2268 2268 else: 2269 2269 G2frame.Lines = Lines 2270 if PickId and G2frame. PatternTree.GetItemText(PickId) == 'Background':2270 if PickId and G2frame.GPXtree.GetItemText(PickId) == 'Background': 2271 2271 # plot fixed background points 2272 backDict = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Background'))[1]2272 backDict = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Background'))[1] 2273 2273 try: 2274 Parms,Parms2 = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))2274 Parms,Parms2 = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters')) 2275 2275 except TypeError: 2276 2276 Parms = None … … 2310 2310 # and sqrt(-ve) in np.where usage 2311 2311 # G2frame.Pwdr = True 2312 if 'PWDR' in G2frame. PatternTree.GetItemText(G2frame.PickId):2312 if 'PWDR' in G2frame.GPXtree.GetItemText(G2frame.PickId): 2313 2313 if len(Page.tickDict.keys()) == 1: 2314 2314 G2frame.dataWindow.moveTickLoc.Enable(True) … … 2326 2326 'Produces normal probability plot for a powder or single crystal histogram' 2327 2327 if PatternName: 2328 G2frame.PatternId = G2gd.Get PatternTreeItemId(G2frame, G2frame.root, PatternName)2328 G2frame.PatternId = G2gd.GetGPXtreeItemId(G2frame, G2frame.root, PatternName) 2329 2329 new,plotNum,Page,Plot,lim = G2frame.G2plotNB.FindPlotTab('Error analysis','mpl') 2330 2330 if new: … … 2335 2335 PlotDeltSig,( 2336 2336 G2frame,kind, 2337 G2frame. PatternTree.GetItemText(G2frame.PatternId))2337 G2frame.GPXtree.GetItemText(G2frame.PatternId)) 2338 2338 ) 2339 2339 Page.Choice = None 2340 2340 PatternId = G2frame.PatternId 2341 Pattern = G2frame. PatternTree.GetItemPyData(PatternId)2342 Pattern.append(G2frame. PatternTree.GetItemText(PatternId))2341 Pattern = G2frame.GPXtree.GetItemPyData(PatternId) 2342 Pattern.append(G2frame.GPXtree.GetItemText(PatternId)) 2343 2343 wtFactor = Pattern[0]['wtFactor'] 2344 2344 if kind == 'PWDR': 2345 limits = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Limits'))[1]2345 limits = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Limits'))[1] 2346 2346 xye = np.array(Pattern[1]) 2347 2347 xmin = np.searchsorted(xye[0],limits[0]) … … 2446 2446 G2frame.Waterfall = not G2frame.Waterfall 2447 2447 elif event.key == 'f' and not G2frame.SinglePlot: 2448 choices = G2gd.Get PatternTreeDataNames(G2frame,'PDF ')2448 choices = G2gd.GetGPXtreeDataNames(G2frame,'PDF ') 2449 2449 dlg = G2G.G2MultiChoiceDialog(G2frame.dataFrame,'Select dataset to plot', 2450 2450 'Multidata plot selection',choices) … … 2596 2596 PatternId = G2frame.PatternId 2597 2597 if not PatternId: return 2598 pId = G2gd.Get PatternTreeItemId(G2frame,PatternId, 'PDF Controls')2598 pId = G2gd.GetGPXtreeItemId(G2frame,PatternId, 'PDF Controls') 2599 2599 if not pId: return 2600 PDFdata = G2frame. PatternTree.GetItemPyData(pId)2600 PDFdata = G2frame.GPXtree.GetItemPyData(pId) 2601 2601 numbDen = 0. 2602 2602 if 'ElList' in PDFdata: … … 2610 2610 PlotList = [] 2611 2611 if G2frame.PDFselections is None: 2612 choices = G2gd.Get PatternTreeDataNames(G2frame,'PDF ')2612 choices = G2gd.GetGPXtreeDataNames(G2frame,'PDF ') 2613 2613 else: 2614 2614 choices = G2frame.PDFselections 2615 2615 for item in choices: 2616 Pid = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,item)2617 Id = G2gd.Get PatternTreeItemId(G2frame,Pid,'PDF Controls')2618 Pattern = G2frame. PatternTree.GetItemPyData(Id)2616 Pid = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,item) 2617 Id = G2gd.GetGPXtreeItemId(G2frame,Pid,'PDF Controls') 2618 Pattern = G2frame.GPXtree.GetItemPyData(Id) 2619 2619 if Pattern: 2620 2620 PlotList.append(Pattern[plotType]) … … 3155 3155 Page.Choice = None 3156 3156 PatternId = G2frame.PatternId 3157 data = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Models'))3157 data = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Models')) 3158 3158 Bins,Dbins,BinMag = data['Size']['Distribution'] 3159 3159 Plot.set_title('Size Distribution') … … 3185 3185 Page.canvas.SetCursor(wx.CROSS_CURSOR) 3186 3186 G2frame.G2plotNB.status.SetStatusText('2-theta =%9.3f '%(xpos,),1) 3187 if G2frame.PickId and G2frame. PatternTree.GetItemText(G2frame.PickId) in ['Index Peak List','Unit Cells List']:3187 if G2frame.PickId and G2frame.GPXtree.GetItemText(G2frame.PickId) in ['Index Peak List','Unit Cells List']: 3188 3188 found = [] 3189 3189 if len(G2frame.HKL): … … 3204 3204 Plot.set_xlabel(r'$\mathsf{2\theta}$',fontsize=14) 3205 3205 PatternId = G2frame.PatternId 3206 peaks = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Index Peak List'))[0]3206 peaks = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Index Peak List'))[0] 3207 3207 for peak in peaks: 3208 3208 Plot.axvline(peak[0],color='b') … … 3232 3232 # gamFW2 = lambda s,g: math.sqrt(s**2+(0.4654996*g)**2)+.5345004*g #Ubaldo Bafile - private communication 3233 3233 if PatternName: 3234 G2frame.PatternId = G2gd.Get PatternTreeItemId(G2frame, G2frame.root, PatternName)3234 G2frame.PatternId = G2gd.GetGPXtreeItemId(G2frame, G2frame.root, PatternName) 3235 3235 PatternId = G2frame.PatternId 3236 limitID = G2gd.Get PatternTreeItemId(G2frame,PatternId, 'Limits')3236 limitID = G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Limits') 3237 3237 if limitID: 3238 limits = G2frame. PatternTree.GetItemPyData(limitID)[:2]3238 limits = G2frame.GPXtree.GetItemPyData(limitID)[:2] 3239 3239 else: 3240 3240 return 3241 Parms,Parms2 = G2frame. PatternTree.GetItemPyData( \3242 G2gd.Get PatternTreeItemId(G2frame,PatternId, 'Instrument Parameters'))3241 Parms,Parms2 = G2frame.GPXtree.GetItemPyData( \ 3242 G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Instrument Parameters')) 3243 3243 if 'PKS' in Parms['Type'][0]: 3244 3244 return … … 3248 3248 lam = G2mth.getWave(Parms) 3249 3249 try: # PATCH: deal with older peak lists, before changed to dict to implement TOF 3250 peaks = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Peak List'))['peaks']3250 peaks = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Peak List'))['peaks'] 3251 3251 except TypeError: 3252 3252 print "Your peak list needs reformatting...", 3253 item = G2gd.Get PatternTreeItemId(G2frame,PatternId, 'Peak List')3254 G2frame. PatternTree.SelectItem(item)3255 item = G2gd.Get PatternTreeItemId(G2frame,PatternId, 'Instrument Parameters')3256 G2frame. PatternTree.SelectItem(item)3253 item = G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Peak List') 3254 G2frame.GPXtree.SelectItem(item) 3255 item = G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Instrument Parameters') 3256 G2frame.GPXtree.SelectItem(item) 3257 3257 print "done" 3258 3258 return … … 3264 3264 # save information needed to reload from tree and redraw 3265 3265 G2frame.G2plotNB.RegisterRedrawRoutine(G2frame.G2plotNB.lastRaisedPlotTab, 3266 PlotPeakWidths,(G2frame,G2frame. PatternTree.GetItemText(G2frame.PatternId))3266 PlotPeakWidths,(G2frame,G2frame.GPXtree.GetItemText(G2frame.PatternId)) 3267 3267 ) 3268 3268 3269 TreeItemText = G2frame. PatternTree.GetItemText(G2frame.PatternId)3269 TreeItemText = G2frame.GPXtree.GetItemText(G2frame.PatternId) 3270 3270 G2frame.G2plotNB.status.SetStatusText('histogram: '+TreeItemText,1) 3271 3271 Page.Choice = None … … 3571 3571 Plot.set_ylabel('MRD',fontsize=14) 3572 3572 elif plotType in ['Inv. pole figure',]: 3573 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,hist)3574 rId = G2gd.Get PatternTreeItemId(G2frame,Id,'Reflection Lists')3575 RefData = G2frame. PatternTree.GetItemPyData(rId)[phase]3573 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,hist) 3574 rId = G2gd.GetGPXtreeItemId(G2frame,Id,'Reflection Lists') 3575 RefData = G2frame.GPXtree.GetItemPyData(rId)[phase] 3576 3576 Type = RefData['Type'] 3577 3577 Refs = RefData['RefList'].T … … 4358 4358 :param wx.Frame G2frame: The main GSAS-II tree "window" 4359 4359 ''' 4360 Masks = G2frame. PatternTree.GetItemPyData(4361 G2gd.Get PatternTreeItemId(G2frame,G2frame.Image, 'Masks'))4360 Masks = G2frame.GPXtree.GetItemPyData( 4361 G2gd.GetGPXtreeItemId(G2frame,G2frame.Image, 'Masks')) 4362 4362 if G2frame.MaskKey == 'f': 4363 4363 new,plotNum,Page,Plot,lim = G2frame.G2plotNB.FindPlotTab('2D Powder Image','mpl',newImage=False) … … 4396 4396 ''' 4397 4397 G2frame.GetStatusBar().SetStatusText('Add strain ring active - LB pick d-zero value',0) 4398 G2frame.PickId = G2gd.Get PatternTreeItemId(G2frame,G2frame.Image, 'Stress/Strain')4399 data = G2frame. PatternTree.GetItemPyData(G2frame.PickId)4398 G2frame.PickId = G2gd.GetGPXtreeItemId(G2frame,G2frame.Image, 'Stress/Strain') 4399 data = G2frame.GPXtree.GetItemPyData(G2frame.PickId) 4400 4400 return data 4401 4401 … … 4467 4467 global Data,Masks,StrSta # RVD: these are needed for multiple image controls/masks 4468 4468 colors=['b','g','r','c','m','k'] 4469 Data = G2frame. PatternTree.GetItemPyData(4470 G2gd.Get PatternTreeItemId(G2frame,G2frame.Image, 'Image Controls'))4469 Data = G2frame.GPXtree.GetItemPyData( 4470 G2gd.GetGPXtreeItemId(G2frame,G2frame.Image, 'Image Controls')) 4471 4471 # patch 4472 4472 if 'invert_x' not in Data: … … 4474 4474 Data['invert_y'] = True 4475 4475 # end patch 4476 Masks = G2frame. PatternTree.GetItemPyData(4477 G2gd.Get PatternTreeItemId(G2frame,G2frame.Image, 'Masks'))4476 Masks = G2frame.GPXtree.GetItemPyData( 4477 G2gd.GetGPXtreeItemId(G2frame,G2frame.Image, 'Masks')) 4478 4478 try: #may be absent 4479 StrSta = G2frame. PatternTree.GetItemPyData(4480 G2gd.Get PatternTreeItemId(G2frame,G2frame.Image, 'Stress/Strain'))4479 StrSta = G2frame.GPXtree.GetItemPyData( 4480 G2gd.GetGPXtreeItemId(G2frame,G2frame.Image, 'Stress/Strain')) 4481 4481 except TypeError: #is missing 4482 4482 StrSta = {} … … 4492 4492 scalex = 1000./pixelSize[0] #microns --> 1/mm 4493 4493 scaley = 1000./pixelSize[1] 4494 if item and G2frame. PatternTree.GetItemText(G2frame.PickId) == 'Image Controls':4494 if item and G2frame.GPXtree.GetItemText(G2frame.PickId) == 'Image Controls': 4495 4495 if 'Text' in str(item): 4496 4496 Page.canvas.SetToolTipString('%8.3f %8.3fmm'%(event.xdata,event.ydata)) … … 4526 4526 def OnImPlotKeyPress(event): 4527 4527 try: 4528 treeItem = G2frame. PatternTree.GetItemText(G2frame.PickId)4528 treeItem = G2frame.GPXtree.GetItemText(G2frame.PickId) 4529 4529 except TypeError: 4530 4530 return … … 4792 4792 4793 4793 if G2frame.itemPicked is not None: return 4794 if G2frame. PatternTree.GetItemText(G2frame.PickId) == 'Image Controls':4794 if G2frame.GPXtree.GetItemText(G2frame.PickId) == 'Image Controls': 4795 4795 G2frame.itemPicked = pick = event.artist 4796 4796 G2frame.mousePicked = event.mouseevent … … 4804 4804 G2frame.cid = Page.canvas.mpl_connect('motion_notify_event', OnDragIntBound) 4805 4805 pick.set_linestyle(saveLinestyle) # back to original 4806 elif G2frame. PatternTree.GetItemText(G2frame.PickId) == 'Masks':4806 elif G2frame.GPXtree.GetItemText(G2frame.PickId) == 'Masks': 4807 4807 # prepare to animate dragging of mask 4808 4808 G2frame.itemPicked = pick = event.artist … … 4839 4839 ''' 4840 4840 try: 4841 treeItem = G2frame. PatternTree.GetItemText(G2frame.PickId)4841 treeItem = G2frame.GPXtree.GetItemText(G2frame.PickId) 4842 4842 except TypeError: 4843 4843 return … … 5079 5079 Page.canvas.mpl_connect('button_release_event', OnImRelease) 5080 5080 Page.Choice = None 5081 Title = G2frame. PatternTree.GetItemText(G2frame.Image)[4:]5081 Title = G2frame.GPXtree.GetItemText(G2frame.Image)[4:] 5082 5082 G2frame.G2plotNB.status.DestroyChildren() 5083 5083 if G2frame.logPlot: … … 5085 5085 Plot.set_title(Title) 5086 5086 try: 5087 if G2frame. PatternTree.GetItemText(G2frame.PickId) in ['Image Controls',]:5087 if G2frame.GPXtree.GetItemText(G2frame.PickId) in ['Image Controls',]: 5088 5088 Page.Choice = (' key press','l: log(I) on','d: set dmin','x: flip x','y: flip y',) 5089 5089 if G2frame.logPlot: 5090 5090 Page.Choice[1] = 'l: log(I) off' 5091 5091 Page.keyPress = OnImPlotKeyPress 5092 elif G2frame. PatternTree.GetItemText(G2frame.PickId) in ['Masks',]:5092 elif G2frame.GPXtree.GetItemText(G2frame.PickId) in ['Masks',]: 5093 5093 Page.Choice = [' key press','l: log(I) on','a: arc mask','r: ring mask', 5094 5094 'p: polygon mask','f: frame mask', … … 5099 5099 Page.Choice[1] = 'l: log(I) off' 5100 5100 Page.keyPress = OnImPlotKeyPress 5101 elif G2frame. PatternTree.GetItemText(G2frame.PickId) in ['Stress/Strain',]:5101 elif G2frame.GPXtree.GetItemText(G2frame.PickId) in ['Stress/Strain',]: 5102 5102 Page.Choice = (' key press','a: add new ring',) 5103 5103 Page.keyPress = OnImPlotKeyPress 5104 5104 except TypeError: 5105 5105 pass 5106 size,imagefile,imagetag = G2frame. PatternTree.GetImageLoc(G2frame.Image)5106 size,imagefile,imagetag = G2frame.GPXtree.GetImageLoc(G2frame.Image) 5107 5107 5108 5108 imScale = 1 … … 5142 5142 5143 5143 Plot.plot(xcent,ycent,'x') 5144 #G2frame. PatternTree.GetItemText(item)5144 #G2frame.GPXtree.GetItemText(item) 5145 5145 if Data['showLines']: # draw integration range arc/circles/lines 5146 5146 LRAzim = Data['LRazimuth'] #NB: integers … … 5185 5185 Plot.plot([arcxI[ind],arcxO[ind]],[arcyI[ind],arcyO[ind]],color='k',dashes=(5,5)) 5186 5186 5187 if G2frame.PickId and G2frame. PatternTree.GetItemText(G2frame.PickId) in ['Image Controls',]:5187 if G2frame.PickId and G2frame.GPXtree.GetItemText(G2frame.PickId) in ['Image Controls',]: 5188 5188 for xring,yring in Data['ring']: 5189 5189 Plot.plot(xring,yring,'r+',picker=3) … … 5199 5199 Plot.add_artist(Ellipse([cent[0],cent[1]],2*width,2*height,phi,ec=col,fc='none')) 5200 5200 Plot.text(cent[0],cent[1],'+',color=col,ha='center',va='center') 5201 if G2frame.PickId and G2frame. PatternTree.GetItemText(G2frame.PickId) in ['Stress/Strain',]:5201 if G2frame.PickId and G2frame.GPXtree.GetItemText(G2frame.PickId) in ['Stress/Strain',]: 5202 5202 for N,ring in enumerate(StrSta['d-zero']): 5203 5203 if 'ImxyCalc' in ring: … … 5327 5327 Page.Choice = None 5328 5328 5329 Data = G2frame. PatternTree.GetItemPyData(5330 G2gd.Get PatternTreeItemId(G2frame,G2frame.Image, 'Image Controls'))5329 Data = G2frame.GPXtree.GetItemPyData( 5330 G2gd.GetGPXtreeItemId(G2frame,G2frame.Image, 'Image Controls')) 5331 5331 image = G2frame.Integrate[0] 5332 5332 xsc = G2frame.Integrate[1] … … 5334 5334 Imin,Imax = Data['range'][1] 5335 5335 acolor = mpl.cm.get_cmap(Data['color']) 5336 Plot.set_title(G2frame. PatternTree.GetItemText(G2frame.Image)[4:])5336 Plot.set_title(G2frame.GPXtree.GetItemText(G2frame.Image)[4:]) 5337 5337 Plot.set_ylabel('azimuth',fontsize=12) 5338 5338 Plot.set_xlabel('2-theta',fontsize=12) … … 5381 5381 Page.views = False 5382 5382 Page.Choice = None 5383 Data = G2frame. PatternTree.GetItemPyData(5384 G2gd.Get PatternTreeItemId(G2frame,G2frame.Image, 'Image Controls'))5383 Data = G2frame.GPXtree.GetItemPyData( 5384 G2gd.GetGPXtreeItemId(G2frame,G2frame.Image, 'Image Controls')) 5385 5385 Imin,Imax = Data['range'][1] 5386 5386 step = (Imax-Imin)/5. 5387 5387 V = np.arange(Imin,Imax,step) 5388 5388 acolor = mpl.cm.get_cmap(Data['color']) 5389 Plot.set_title(G2frame. PatternTree.GetItemText(G2frame.Image)[4:])5389 Plot.set_title(G2frame.GPXtree.GetItemText(G2frame.Image)[4:]) 5390 5390 Plot.set_xlabel('azimuth',fontsize=12) 5391 5391 Plot.set_ylabel('2-theta',fontsize=12) -
TabularUnified branch/2frame/GSASIIpwdGUI.py ¶
r2900 r2905 136 136 def IsHistogramInAnyPhase(G2frame,histoName): 137 137 'Needs a doc string' 138 phases = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Phases')138 phases = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Phases') 139 139 if phases: 140 item, cookie = G2frame. PatternTree.GetFirstChild(phases)140 item, cookie = G2frame.GPXtree.GetFirstChild(phases) 141 141 while item: 142 data = G2frame. PatternTree.GetItemPyData(item)142 data = G2frame.GPXtree.GetItemPyData(item) 143 143 histoList = data['Histograms'].keys() 144 144 if histoName in histoList: 145 return G2frame. PatternTree.GetItemText(item)146 item, cookie = G2frame. PatternTree.GetNextChild(phases, cookie)145 return G2frame.GPXtree.GetItemText(item) 146 item, cookie = G2frame.GPXtree.GetNextChild(phases, cookie) 147 147 return False 148 148 else: … … 221 221 def GetFileList(G2frame,fileType): 222 222 fileList = [] 223 id, cookie = G2frame. PatternTree.GetFirstChild(G2frame.root)223 id, cookie = G2frame.GPXtree.GetFirstChild(G2frame.root) 224 224 while id: 225 name = G2frame. PatternTree.GetItemText(id)225 name = G2frame.GPXtree.GetItemText(id) 226 226 if fileType in name.split()[0]: 227 227 fileList.append(name) 228 id, cookie = G2frame. PatternTree.GetNextChild(G2frame.root, cookie)228 id, cookie = G2frame.GPXtree.GetNextChild(G2frame.root, cookie) 229 229 return fileList 230 230 … … 238 238 ''' 239 239 histList = [] 240 inst,inst2 = G2frame. PatternTree.GetItemPyData(241 G2gd.Get PatternTreeItemId(240 inst,inst2 = G2frame.GPXtree.GetItemPyData( 241 G2gd.GetGPXtreeItemId( 242 242 G2frame,G2frame.PatternId, 'Instrument Parameters') 243 243 ) … … 249 249 else: 250 250 hLam = 0 251 sample = G2frame. PatternTree.GetItemPyData(252 G2gd.Get PatternTreeItemId(251 sample = G2frame.GPXtree.GetItemPyData( 252 G2gd.GetGPXtreeItemId( 253 253 G2frame,G2frame.PatternId, 'Sample Parameters') 254 254 ) 255 255 hGeom = sample.get('Type') 256 hstName = G2frame. PatternTree.GetItemText(G2frame.PatternId)256 hstName = G2frame.GPXtree.GetItemText(G2frame.PatternId) 257 257 hPrefix = hstName.split()[0]+' ' 258 258 # cycle through tree looking for items that match the above 259 item, cookie = G2frame. PatternTree.GetFirstChild(G2frame.root)259 item, cookie = G2frame.GPXtree.GetFirstChild(G2frame.root) 260 260 while item: 261 name = G2frame. PatternTree.GetItemText(item)261 name = G2frame.GPXtree.GetItemText(item) 262 262 if name.startswith(hPrefix) and name != hstName: 263 263 cGeom,cType,cLam, = '?','?',-1 264 subitem, subcookie = G2frame. PatternTree.GetFirstChild(item)264 subitem, subcookie = G2frame.GPXtree.GetFirstChild(item) 265 265 while subitem: 266 subname = G2frame. PatternTree.GetItemText(subitem)266 subname = G2frame.GPXtree.GetItemText(subitem) 267 267 if subname == 'Sample Parameters': 268 sample = G2frame. PatternTree.GetItemPyData(subitem)268 sample = G2frame.GPXtree.GetItemPyData(subitem) 269 269 cGeom = sample.get('Type') 270 270 elif subname == 'Instrument Parameters': 271 inst,inst2 = G2frame. PatternTree.GetItemPyData(subitem)271 inst,inst2 = G2frame.GPXtree.GetItemPyData(subitem) 272 272 cType = inst['Type'][0] 273 273 if 'Lam1' in inst: … … 277 277 else: 278 278 cLam = 0 279 subitem, subcookie = G2frame. PatternTree.GetNextChild(item, subcookie)279 subitem, subcookie = G2frame.GPXtree.GetNextChild(item, subcookie) 280 280 if cLam == hLam and cType == hType and cGeom == hGeom: 281 281 if name not in histList: histList.append(name) 282 item, cookie = G2frame. PatternTree.GetNextChild(G2frame.root, cookie)282 item, cookie = G2frame.GPXtree.GetNextChild(G2frame.root, cookie) 283 283 return histList 284 284 … … 305 305 '''Global copy: Copy plot controls from current histogram to others. 306 306 ''' 307 hst = G2frame. PatternTree.GetItemText(G2frame.PatternId)307 hst = G2frame.GPXtree.GetItemText(G2frame.PatternId) 308 308 histList = GetHistsLikeSelected(G2frame) 309 309 if not histList: 310 310 G2frame.ErrorDialog('No match','No other histograms match '+hst,G2frame.dataFrame) 311 311 return 312 sourceData = G2frame. PatternTree.GetItemPyData(G2frame.PatternId)312 sourceData = G2frame.GPXtree.GetItemPyData(G2frame.PatternId) 313 313 314 314 if 'Offset' not in sourceData[0]: #patch for old data 315 315 sourceData[0].update({'Offset':[0.0,0.0],'delOffset':0.02,'refOffset':-1.0, 316 316 'refDelt':0.01,'qPlot':False,'dPlot':False,'sqrtPlot':False}) 317 G2frame. PatternTree.SetItemPyData(G2frame.PatternId,sourceData)317 G2frame.GPXtree.SetItemPyData(G2frame.PatternId,sourceData) 318 318 319 319 dlg = G2G.G2MultiChoiceDialog( … … 334 334 source = dict(zip(keys,[sourceData[0][item] for item in keys])) 335 335 for hist in copyList: 336 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,hist)337 data = G2frame. PatternTree.GetItemPyData(Id)336 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,hist) 337 data = G2frame.GPXtree.GetItemPyData(Id) 338 338 data[0].update(source) 339 G2frame. PatternTree.SetItemPyData(Id,data)339 G2frame.GPXtree.SetItemPyData(Id,data) 340 340 print 'Copy of plot controls successful' 341 341 … … 343 343 '''Global copy: Copy items from current histogram to others. 344 344 ''' 345 hst = G2frame. PatternTree.GetItemText(G2frame.PatternId)345 hst = G2frame.GPXtree.GetItemText(G2frame.PatternId) 346 346 histList = GetHistsLikeSelected(G2frame) 347 347 if not histList: … … 374 374 375 375 if 'Limits' in choiceList: # Limits 376 data = G2frame. PatternTree.GetItemPyData(377 G2gd.Get PatternTreeItemId(G2frame,G2frame.PatternId,'Limits'))376 data = G2frame.GPXtree.GetItemPyData( 377 G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId,'Limits')) 378 378 for item in copyList: 379 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,item)380 G2frame. PatternTree.SetItemPyData(381 G2gd.Get PatternTreeItemId(G2frame,Id,'Limits'),379 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,item) 380 G2frame.GPXtree.SetItemPyData( 381 G2gd.GetGPXtreeItemId(G2frame,Id,'Limits'), 382 382 copy.deepcopy(data)) 383 383 if 'Background' in choiceList: # Background 384 data = G2frame. PatternTree.GetItemPyData(385 G2gd.Get PatternTreeItemId(G2frame,G2frame.PatternId,'Background'))384 data = G2frame.GPXtree.GetItemPyData( 385 G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId,'Background')) 386 386 for item in copyList: 387 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,item)388 G2frame. PatternTree.SetItemPyData(389 G2gd.Get PatternTreeItemId(G2frame,Id,'Background'),387 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,item) 388 G2frame.GPXtree.SetItemPyData( 389 G2gd.GetGPXtreeItemId(G2frame,Id,'Background'), 390 390 copy.deepcopy(data)) 391 391 if 'Instrument Parameters' in choiceList: # Instrument Parameters 392 392 # for now all items in Inst. parms are copied 393 data,data1 = G2frame. PatternTree.GetItemPyData(394 G2gd.Get PatternTreeItemId(393 data,data1 = G2frame.GPXtree.GetItemPyData( 394 G2gd.GetGPXtreeItemId( 395 395 G2frame,G2frame.PatternId,'Instrument Parameters')) 396 396 for item in copyList: 397 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,item)398 G2frame. PatternTree.GetItemPyData(399 G2gd.Get PatternTreeItemId(G2frame,Id,'Instrument Parameters')397 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,item) 398 G2frame.GPXtree.GetItemPyData( 399 G2gd.GetGPXtreeItemId(G2frame,Id,'Instrument Parameters') 400 400 )[0].update(copy.deepcopy(data)) 401 G2frame. PatternTree.GetItemPyData(402 G2gd.Get PatternTreeItemId(G2frame,Id,'Instrument Parameters')401 G2frame.GPXtree.GetItemPyData( 402 G2gd.GetGPXtreeItemId(G2frame,Id,'Instrument Parameters') 403 403 )[1].update(copy.deepcopy(data1)) 404 404 if 'Sample Parameters' in choiceList: # Sample Parameters 405 data = G2frame. PatternTree.GetItemPyData(406 G2gd.Get PatternTreeItemId(405 data = G2frame.GPXtree.GetItemPyData( 406 G2gd.GetGPXtreeItemId( 407 407 G2frame,G2frame.PatternId,'Sample Parameters')) 408 408 # selects items to be copied … … 411 411 copyDict = {parm:data[parm] for parm in copyNames} 412 412 for item in copyList: 413 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,item)414 G2frame. PatternTree.GetItemPyData(415 G2gd.Get PatternTreeItemId(G2frame,Id,'Sample Parameters')413 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,item) 414 G2frame.GPXtree.GetItemPyData( 415 G2gd.GetGPXtreeItemId(G2frame,Id,'Sample Parameters') 416 416 ).update(copy.deepcopy(copyDict)) 417 417 … … 425 425 def OnAutoSearch(event): 426 426 PatternId = G2frame.PatternId 427 limits = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Limits'))[1]428 inst,inst2 = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Instrument Parameters'))429 profile = G2frame. PatternTree.GetItemPyData(PatternId)[1]427 limits = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Limits'))[1] 428 inst,inst2 = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Instrument Parameters')) 429 profile = G2frame.GPXtree.GetItemPyData(PatternId)[1] 430 430 x0 = profile[0] 431 431 iBeg = np.searchsorted(x0,limits[0]) … … 460 460 461 461 def OnCopyPeaks(event): 462 hst = G2frame. PatternTree.GetItemText(G2frame.PatternId)462 hst = G2frame.GPXtree.GetItemText(G2frame.PatternId) 463 463 histList = GetHistsLikeSelected(G2frame) 464 464 if not histList: … … 477 477 dlg.Destroy() 478 478 for item in copyList: 479 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,item)480 G2frame. PatternTree.SetItemPyData(481 G2gd.Get PatternTreeItemId(G2frame,Id,'Peak List'),copy.deepcopy(data))479 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,item) 480 G2frame.GPXtree.SetItemPyData( 481 G2gd.GetGPXtreeItemId(G2frame,Id,'Peak List'),copy.deepcopy(data)) 482 482 483 483 def OnUnDo(event): … … 490 490 PatternId = G2frame.PatternId 491 491 for item in ['Background','Instrument Parameters','Peak List']: 492 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, item),cPickle.load(file))492 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, item),cPickle.load(file)) 493 493 if G2frame.dataWindow.GetName() == item: 494 494 if item == 'Background': 495 UpdateBackground(G2frame,G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, item)))495 UpdateBackground(G2frame,G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, item))) 496 496 elif item == 'Instrument Parameters': 497 UpdateInstrumentGrid(G2frame,G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, item)))497 UpdateInstrumentGrid(G2frame,G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, item))) 498 498 elif item == 'Peak List': 499 UpdatePeakGrid(G2frame,G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, item)))499 UpdatePeakGrid(G2frame,G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, item))) 500 500 print item,' recovered' 501 501 file.close() … … 506 506 PatternId = G2frame.PatternId 507 507 for item in ['Background','Instrument Parameters','Peak List']: 508 cPickle.dump(G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId,item)),file,1)508 cPickle.dump(G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId,item)),file,1) 509 509 file.close() 510 510 G2frame.dataFrame.UnDo.Enable(True) … … 525 525 526 526 def OnSeqPeakFit(event): 527 histList = G2gd.Get PatternTreeDataNames(G2frame,['PWDR',])527 histList = G2gd.GetGPXtreeDataNames(G2frame,['PWDR',]) 528 528 dlg = G2G.G2MultiChoiceDialog(G2frame.dataFrame, 'Sequential peak fits', 529 529 'Select dataset to include',histList) … … 535 535 if not names: 536 536 return 537 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Sequential peak fit results')537 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Sequential peak fit results') 538 538 if Id: 539 SeqResult = G2frame. PatternTree.GetItemPyData(Id)539 SeqResult = G2frame.GPXtree.GetItemPyData(Id) 540 540 else: 541 541 SeqResult = {} 542 Id = G2frame. PatternTree.AppendItem(parent=G2frame.root,text='Sequential peak fit results')542 Id = G2frame.GPXtree.AppendItem(parent=G2frame.root,text='Sequential peak fit results') 543 543 SeqResult = {'SeqPseudoVars':{},'SeqParFitEqList':[]} 544 544 SeqResult['histNames'] = names … … 572 572 dlg.Destroy() 573 573 break 574 PatternId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,name)574 PatternId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,name) 575 575 if i and CopyForward: 576 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Peak List'),copy.deepcopy(peaks))576 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Peak List'),copy.deepcopy(peaks)) 577 577 prevVaryList = varyList[:] 578 peaks = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Peak List'))579 background = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Background'))580 limits = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Limits'))[1]581 inst,inst2 = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Instrument Parameters'))582 data = G2frame. PatternTree.GetItemPyData(PatternId)[1]578 peaks = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Peak List')) 579 background = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Background')) 580 limits = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Limits'))[1] 581 inst,inst2 = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Instrument Parameters')) 582 data = G2frame.GPXtree.GetItemPyData(PatternId)[1] 583 583 peaks['sigDict'],result,sig,Rvals,varyList,parmDict,fullvaryList,badVary = G2pwd.DoPeakFit(FitPgm,peaks['peaks'], 584 584 background,limits,inst,inst2,data,prevVaryList,oneCycle,controls) … … 588 588 break 589 589 else: 590 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Peak List'),copy.deepcopy(peaks))590 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Peak List'),copy.deepcopy(peaks)) 591 591 SeqResult[name] = {'variables':result[0],'varyList':varyList,'sig':sig,'Rvals':Rvals, 592 592 'covMatrix':np.eye(len(result[0])),'title':name,'parmDict':parmDict, … … 596 596 dlg.Destroy() 597 597 SeqResult['histNames'] = histList 598 G2frame. PatternTree.SetItemPyData(Id,SeqResult)598 G2frame.GPXtree.SetItemPyData(Id,SeqResult) 599 599 G2frame.G2plotNB.Delete('Sequential refinement') #clear away probably invalid plot 600 G2frame. PatternTree.SelectItem(Id)600 G2frame.GPXtree.SelectItem(Id) 601 601 602 602 def OnClearPeaks(event): … … 612 612 def OnPeakFit(FitPgm,oneCycle=False): 613 613 SaveState() 614 controls = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.root, 'Controls'))614 controls = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.root, 'Controls')) 615 615 if not controls: 616 616 controls = {'deriv type':'analytic','min dM/M':0.001,} #fill in defaults if needed 617 617 print 'Peak Fitting with '+controls['deriv type']+' derivatives:' 618 618 PatternId = G2frame.PatternId 619 peaks = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Peak List'))619 peaks = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Peak List')) 620 620 if not peaks: 621 621 G2frame.ErrorDialog('No peaks!','Nothing to fit!') 622 622 return 623 background = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Background'))624 limits = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Limits'))[1]625 inst,inst2 = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Instrument Parameters'))626 data = G2frame. PatternTree.GetItemPyData(PatternId)[1]623 background = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Background')) 624 limits = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Limits'))[1] 625 inst,inst2 = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Instrument Parameters')) 626 data = G2frame.GPXtree.GetItemPyData(PatternId)[1] 627 627 dlg = wx.ProgressDialog('Residual','Peak fit Rwp = ',101.0, 628 628 style = wx.PD_ELAPSED_TIME|wx.PD_AUTO_HIDE|wx.PD_REMAINING_TIME|wx.PD_CAN_ABORT) … … 638 638 dlg.Destroy() 639 639 newpeaks = copy.copy(peaks) 640 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Peak List'),newpeaks)640 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Peak List'),newpeaks) 641 641 G2plt.PlotPatterns(G2frame,plotType='PWDR') 642 642 wx.CallAfter(UpdatePeakGrid,G2frame,newpeaks) … … 644 644 def OnResetSigGam(event): 645 645 PatternId = G2frame.PatternId 646 Inst,Inst2 = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Instrument Parameters'))647 peaks = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Peak List'))646 Inst,Inst2 = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Instrument Parameters')) 647 peaks = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Peak List')) 648 648 if not peaks['peaks']: 649 649 G2frame.ErrorDialog('No peaks!','Nothing to do!') … … 652 652 for peak in peaks['peaks']: 653 653 newpeaks['peaks'].append(G2mth.setPeakparms(Inst,Inst2,peak[0],peak[2])) 654 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Peak List'),newpeaks)654 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Peak List'),newpeaks) 655 655 UpdatePeakGrid(G2frame,newpeaks) 656 656 … … 683 683 colList = reflGrid.GetSelectedCols() 684 684 selectList = reflGrid.GetSelectedCells() 685 data = G2frame. PatternTree.GetItemPyData(G2frame.PickId)685 data = G2frame.GPXtree.GetItemPyData(G2frame.PickId) 686 686 if event.GetKeyCode() == wx.WXK_RETURN: 687 687 event.Skip(True) … … 705 705 reflGrid.ProcessTableMessage(msg) 706 706 data['peaks'] = G2frame.PeakTable.GetData()[:-nDel] 707 G2frame. PatternTree.SetItemPyData(G2frame.PickId,data)707 G2frame.GPXtree.SetItemPyData(G2frame.PickId,data) 708 708 wx.CallAfter(reflGrid.ForceRefresh) 709 709 setBackgroundColors() … … 840 840 rowLabels = [] 841 841 PatternId = G2frame.PatternId 842 Inst = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Instrument Parameters'))[0]842 Inst = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Instrument Parameters'))[0] 843 843 for i in range(len(data['peaks'])): rowLabels.append(str(i+1)) 844 844 if 'C' in Inst['Type'][0]: … … 867 867 for key in T: X.append(D[key]) 868 868 data['peaks'] = X 869 G2frame. PatternTree.SetItemPyData(G2frame.PickId,data)869 G2frame.GPXtree.SetItemPyData(G2frame.PickId,data) 870 870 G2frame.PeakTable = G2G.Table(data['peaks'],rowLabels=rowLabels,colLabels=colLabels,types=Types) 871 871 G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Peak List') … … 914 914 for term in backDict['peaksList']: 915 915 PKflags.append(term[1::2]) 916 hst = G2frame. PatternTree.GetItemText(G2frame.PatternId)916 hst = G2frame.GPXtree.GetItemText(G2frame.PatternId) 917 917 histList = GetHistsLikeSelected(G2frame) 918 918 if not histList: … … 931 931 dlg.Destroy() 932 932 for item in copyList: 933 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,item)934 backData = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Background'))933 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,item) 934 backData = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Background')) 935 935 backData[0][1] = copy.copy(flag) 936 936 bkDict = backData[-1] … … 943 943 944 944 def OnBackCopy(event): 945 hst = G2frame. PatternTree.GetItemText(G2frame.PatternId)945 hst = G2frame.GPXtree.GetItemText(G2frame.PatternId) 946 946 histList = GetHistsLikeSelected(G2frame) 947 947 if not histList: … … 958 958 dlg.Destroy() 959 959 for item in copyList: 960 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,item)961 G2frame. PatternTree.SetItemPyData(962 G2gd.Get PatternTreeItemId(G2frame,Id,'Background'),copy.copy(data))960 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,item) 961 G2frame.GPXtree.SetItemPyData( 962 G2gd.GetGPXtreeItemId(G2frame,Id,'Background'),copy.copy(data)) 963 963 964 964 def OnBkgFit(event): … … 984 984 985 985 PatternId = G2frame.PatternId 986 controls = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.root, 'Controls'))987 background = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Background'))988 limits = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Limits'))[1]989 inst,inst2 = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Instrument Parameters'))986 controls = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.root, 'Controls')) 987 background = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Background')) 988 limits = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Limits'))[1] 989 inst,inst2 = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Instrument Parameters')) 990 990 # sort the points for convenience and then separate them; extend the range if needed 991 991 background[1]['FixedPoints'] = sorted(background[1]['FixedPoints'],key=lambda pair:pair[0]) … … 999 999 Y += [Y[-1]] 1000 1000 # interpolate the fixed points onto the grid of data points within limits 1001 pwddata = G2frame. PatternTree.GetItemPyData(PatternId)[1]1001 pwddata = G2frame.GPXtree.GetItemPyData(PatternId)[1] 1002 1002 xBeg = np.searchsorted(pwddata[0],limits[0]) 1003 1003 xFin = np.searchsorted(pwddata[0],limits[1]) … … 1054 1054 for peak in data[1]['peaksList']: 1055 1055 Peaks['peaks'].append([peak[0],0,peak[2],0,peak[4],0,peak[6],0]) 1056 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Peak List'),Peaks)1056 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Peak List'),Peaks) 1057 1057 1058 1058 def OnMakeRDF(event): … … 1066 1066 dlg.Destroy() 1067 1067 PatternId = G2frame.PatternId 1068 background = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Background'))1069 inst,inst2 = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Instrument Parameters'))1070 pwddata = G2frame. PatternTree.GetItemPyData(PatternId)[1]1068 background = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Background')) 1069 inst,inst2 = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Instrument Parameters')) 1070 pwddata = G2frame.GPXtree.GetItemPyData(PatternId)[1] 1071 1071 auxPlot = G2pwd.MakeRDF(RDFcontrols,background,inst,pwddata) 1072 1072 # GSASIIpath.IPyBreak() … … 1101 1101 for i in range(N,M): 1102 1102 del(item[-1]) 1103 G2frame. PatternTree.SetItemPyData(BackId,data)1103 G2frame.GPXtree.SetItemPyData(BackId,data) 1104 1104 #wx.CallAfter(UpdateBackground,G2frame,data) 1105 1105 wx.CallLater(100,UpdateBackground,G2frame,data) … … 1261 1261 G2frame.Bind(wx.EVT_MENU,OnBkgFit,id=G2frame.dataFrame.wxID_BackPts['Fit']) 1262 1262 G2frame.Bind(wx.EVT_MENU,OnBkgClear,id=G2frame.dataFrame.wxID_BackPts['Clear']) 1263 BackId = G2gd.Get PatternTreeItemId(G2frame,G2frame.PatternId, 'Background')1263 BackId = G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Background') 1264 1264 Choices = ['chebyschev','cosine','Q^2 power series','Q^-2 power series','lin interpolate','inv interpolate','log interpolate'] 1265 1265 mainSizer = wx.BoxSizer(wx.VERTICAL) … … 1283 1283 def AfterChange(invalid,value,tc): 1284 1284 if invalid: return 1285 plottype = G2frame. PatternTree.GetItemText(G2frame.PatternId)[:4]1285 plottype = G2frame.GPXtree.GetItemText(G2frame.PatternId)[:4] 1286 1286 # print 'new plot' 1287 1287 wx.CallAfter(G2plt.PlotPatterns,G2frame,newPlot=False,plotType=plottype) #unfortunately this resets the plot width … … 1326 1326 1327 1327 def OnLimitCopy(event): 1328 hst = G2frame. PatternTree.GetItemText(G2frame.PatternId)1328 hst = G2frame.GPXtree.GetItemText(G2frame.PatternId) 1329 1329 histList = GetHistsLikeSelected(G2frame) 1330 1330 if not histList: … … 1339 1339 for i in dlg.GetSelections(): 1340 1340 item = histList[i] 1341 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,item)1342 G2frame. PatternTree.SetItemPyData(1343 G2gd.Get PatternTreeItemId(G2frame,Id,'Limits'),copy.copy(data))1341 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,item) 1342 G2frame.GPXtree.SetItemPyData( 1343 G2gd.GetGPXtreeItemId(G2frame,Id,'Limits'),copy.copy(data)) 1344 1344 finally: 1345 1345 dlg.Destroy() … … 1375 1375 ''' 1376 1376 if 'Bank' not in data: #get it from name; absent for default parms selection 1377 hst = G2frame. PatternTree.GetItemText(G2frame.PatternId)1377 hst = G2frame.GPXtree.GetItemText(G2frame.PatternId) 1378 1378 if 'Bank' in hst: 1379 1379 bank = int(hst.split('Bank')[1].split('_')[0]) … … 1392 1392 1393 1393 def updateData(inst,ref): 1394 data = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,1394 data = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame, 1395 1395 G2frame.PatternId,'Instrument Parameters'))[0] 1396 1396 for item in data: … … 1405 1405 def RefreshInstrumentGrid(event,doAnyway=False): 1406 1406 if doAnyway or event.GetRow() == 1: 1407 peaks = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Peak List'))1407 peaks = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Peak List')) 1408 1408 newpeaks = [] 1409 1409 for peak in peaks['peaks']: 1410 1410 newpeaks.append(G2mth.setPeakparms(data,Inst2,peak[0],peak[2])) 1411 1411 peaks['peaks'] = newpeaks 1412 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Peak List'),peaks)1412 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Peak List'),peaks) 1413 1413 1414 1414 def OnCalibrate(event): 1415 Pattern = G2frame. PatternTree.GetItemPyData(G2frame.PatternId)1415 Pattern = G2frame.GPXtree.GetItemPyData(G2frame.PatternId) 1416 1416 xye = ma.array(ma.getdata(Pattern[1])) 1417 1417 cw = np.diff(xye[0]) 1418 IndexPeaks = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Index Peak List'))1418 IndexPeaks = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Index Peak List')) 1419 1419 if not len(IndexPeaks[0]): 1420 1420 G2frame.ErrorDialog('Can not calibrate','Index Peak List empty') … … 1453 1453 Note that similar code is found in ReadPowderInstprm (GSASII.py) 1454 1454 ''' 1455 data = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,1455 data = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame, 1456 1456 G2frame.PatternId,'Instrument Parameters'))[0] 1457 1457 bank = data['Bank'][0] … … 1494 1494 File.close() 1495 1495 if Found: 1496 Inst,Inst2 = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId,'Instrument Parameters'))1496 Inst,Inst2 = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId,'Instrument Parameters')) 1497 1497 if 'Bank' not in Inst: #patch for old .instprm files - may cause faults for TOF data 1498 1498 Inst['Bank'] = [1,1,0] 1499 1499 data = G2IO.makeInstDict(newItems,newVals,len(newVals)*[False,]) 1500 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId,'Instrument Parameters'),[data,Inst2])1500 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId,'Instrument Parameters'),[data,Inst2]) 1501 1501 RefreshInstrumentGrid(event,doAnyway=True) #to get peaks updated 1502 1502 else: … … 1535 1535 item: writes parameters from selected PWDR entries to a .instprm file 1536 1536 ''' 1537 hst = G2frame. PatternTree.GetItemText(G2frame.PatternId)1537 hst = G2frame.GPXtree.GetItemText(G2frame.PatternId) 1538 1538 histList = GetHistsLikeSelected(G2frame) 1539 1539 histList.insert(0,hst) … … 1559 1559 File = open(filename,'w') 1560 1560 for hist in saveList: 1561 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,hist)1562 inst = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Instrument Parameters'))[0]1561 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,hist) 1562 inst = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Instrument Parameters'))[0] 1563 1563 if 'Bank' not in inst: #patch 1564 1564 bank = 1 … … 1582 1582 1583 1583 def OnInstFlagCopy(event): 1584 hst = G2frame. PatternTree.GetItemText(G2frame.PatternId)1584 hst = G2frame.GPXtree.GetItemText(G2frame.PatternId) 1585 1585 histList = GetHistsLikeSelected(G2frame) 1586 1586 if not histList: … … 1606 1606 dlg.Destroy() 1607 1607 for item in copyList: 1608 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,item)1609 instData = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Instrument Parameters'))[0]1608 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,item) 1609 instData = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Instrument Parameters'))[0] 1610 1610 if 'Bank' not in instData: 1611 1611 instData['Bank'] = [1,1,0] … … 1620 1620 def OnInstCopy(event): 1621 1621 #need fix for dictionary 1622 hst = G2frame. PatternTree.GetItemText(G2frame.PatternId)1622 hst = G2frame.GPXtree.GetItemText(G2frame.PatternId) 1623 1623 histList = GetHistsLikeSelected(G2frame) 1624 1624 if not histList: … … 1638 1638 dlg.Destroy() 1639 1639 for item in copyList: 1640 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,item)1641 instData = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Instrument Parameters'))[0]1640 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,item) 1641 instData = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Instrument Parameters'))[0] 1642 1642 if 'Bank' not in instData: 1643 1643 instData['Bank'] = [1,1,0] … … 1968 1968 meanwaves = {'CuKa':1.5418,'TiKa':2.7496,'CrKa':2.2909,'FeKa':1.9373, 1969 1969 'CoKa':1.7902,'MoKa':0.7107,'AgKa':0.5608} 1970 Inst2 = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,1970 Inst2 = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame, 1971 1971 G2frame.PatternId,'Instrument Parameters'))[1] 1972 1972 G2gd.SetDataMenuBar(G2frame) … … 2059 2059 File.close() 2060 2060 data.update(newItems) 2061 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId,'Sample Parameters'),data)2061 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId,'Sample Parameters'),data) 2062 2062 UpdateSampleGrid(G2frame,data) 2063 2063 finally: … … 2096 2096 dataDict = dict(zip(itemNames,newItems)) 2097 2097 ifany = False 2098 Controls = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.root,'Controls'))2098 Controls = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Controls')) 2099 2099 Names = [' ','Phi','Chi','Omega','Time','Temperature','Pressure'] 2100 2100 freeNames = {} … … 2116 2116 G2frame.ErrorDialog('Nothing to do','No columns identified') 2117 2117 return 2118 histList = [G2frame. PatternTree.GetItemText(G2frame.PatternId),]2118 histList = [G2frame.GPXtree.GetItemText(G2frame.PatternId),] 2119 2119 histList += GetHistsLikeSelected(G2frame) 2120 2120 colIds = {} … … 2128 2128 key = freeNames.get(item,item) 2129 2129 newItems[key] = float(dataDict[name][colIds[item]]) 2130 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,hist)2131 sampleData = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Sample Parameters'))2130 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,hist) 2131 sampleData = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Sample Parameters')) 2132 2132 sampleData.update(newItems) 2133 2133 UpdateSampleGrid(G2frame,data) … … 2139 2139 try: 2140 2140 if dlg.ShowModal() == wx.ID_OK: 2141 pId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,histName)2142 y,w = G2frame. PatternTree.GetItemPyData(pId)[1][1:3]2141 pId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,histName) 2142 y,w = G2frame.GPXtree.GetItemPyData(pId)[1][1:3] 2143 2143 y *= Scale 2144 2144 w /= Scale**2 … … 2151 2151 #SASD rescaliing 2152 2152 histList = [] 2153 item, cookie = G2frame. PatternTree.GetFirstChild(G2frame.root)2153 item, cookie = G2frame.GPXtree.GetFirstChild(G2frame.root) 2154 2154 while item: 2155 name = G2frame. PatternTree.GetItemText(item)2155 name = G2frame.GPXtree.GetItemText(item) 2156 2156 if 'SASD' in name and name != histName: 2157 2157 histList.append(name) 2158 item, cookie = G2frame. PatternTree.GetNextChild(G2frame.root, cookie)2158 item, cookie = G2frame.GPXtree.GetNextChild(G2frame.root, cookie) 2159 2159 if not len(histList): #nothing to copy to! 2160 2160 return … … 2167 2167 finally: 2168 2168 dlg.Destroy() 2169 Limits = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Limits'))2170 Profile = G2frame. PatternTree.GetItemPyData(G2frame.PatternId)[1]2169 Limits = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Limits')) 2170 Profile = G2frame.GPXtree.GetItemPyData(G2frame.PatternId)[1] 2171 2171 Data = [Profile,Limits,data] 2172 refId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,refHist)2173 refSample = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,refId, 'Sample Parameters'))2174 refLimits = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,refId, 'Limits'))2175 refProfile = G2frame. PatternTree.GetItemPyData(refId)[1]2172 refId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,refHist) 2173 refSample = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,refId, 'Sample Parameters')) 2174 refLimits = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,refId, 'Limits')) 2175 refProfile = G2frame.GPXtree.GetItemPyData(refId)[1] 2176 2176 refData = [refProfile,refLimits,refSample] 2177 2177 G2sasd.SetScale(Data,refData) … … 2180 2180 2181 2181 def OnRescaleAll(event): 2182 hst = G2frame. PatternTree.GetItemText(G2frame.PatternId)2182 hst = G2frame.GPXtree.GetItemText(G2frame.PatternId) 2183 2183 histList = GetHistsLikeSelected(G2frame) 2184 x0,y0,w0 = G2frame. PatternTree.GetItemPyData(G2frame.PatternId)[1][:3]2184 x0,y0,w0 = G2frame.GPXtree.GetItemPyData(G2frame.PatternId)[1][:3] 2185 2185 if not histList: 2186 2186 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame.dataFrame) … … 2202 2202 for i in result: 2203 2203 item = histList[i] 2204 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,item)2205 xi,yi,wi = G2frame. PatternTree.GetItemPyData(Id)[1][:3]2204 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,item) 2205 xi,yi,wi = G2frame.GPXtree.GetItemPyData(Id)[1][:3] 2206 2206 sumi = np.sum(yi[iBeg:iFin]) 2207 2207 if sumi: … … 2219 2219 for parm in copyNames: 2220 2220 copyDict[parm] = data[parm] 2221 hst = G2frame. PatternTree.GetItemText(G2frame.PatternId)2221 hst = G2frame.GPXtree.GetItemText(G2frame.PatternId) 2222 2222 histList = GetHistsLikeSelected(G2frame) 2223 2223 if not histList: … … 2232 2232 for i in result: 2233 2233 item = histList[i] 2234 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,item)2235 sampleData = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Sample Parameters'))2234 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,item) 2235 sampleData = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Sample Parameters')) 2236 2236 sampleData.update(copy.deepcopy(copyDict)) 2237 2237 finally: … … 2239 2239 2240 2240 def OnSampleCopySelected(event): 2241 hst = G2frame. PatternTree.GetItemText(G2frame.PatternId)2242 Controls = G2frame. PatternTree.GetItemPyData(2243 G2gd.Get PatternTreeItemId(G2frame,G2frame.root, 'Controls'))2241 hst = G2frame.GPXtree.GetItemText(G2frame.PatternId) 2242 Controls = G2frame.GPXtree.GetItemPyData( 2243 G2gd.GetGPXtreeItemId(G2frame,G2frame.root, 'Controls')) 2244 2244 histList = GetHistsLikeSelected(G2frame) 2245 2245 if not histList: … … 2282 2282 for i in result: 2283 2283 item = histList[i] 2284 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,item)2285 sampleData = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Sample Parameters'))2284 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,item) 2285 sampleData = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Sample Parameters')) 2286 2286 sampleData.update(copy.deepcopy(copyDict)) 2287 2287 finally: … … 2294 2294 for parm in copyNames: 2295 2295 flagDict[parm] = data[parm][1] 2296 hst = G2frame. PatternTree.GetItemText(G2frame.PatternId)2296 hst = G2frame.GPXtree.GetItemText(G2frame.PatternId) 2297 2297 histList = GetHistsLikeSelected(G2frame) 2298 2298 if not histList: … … 2308 2308 for i in result: 2309 2309 item = histList[i] 2310 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,item)2311 sampleData = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Sample Parameters'))2310 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,item) 2311 sampleData = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Sample Parameters')) 2312 2312 for name in copyNames: 2313 2313 sampleData[name][1] = copy.copy(flagDict[name]) … … 2358 2358 #reload(G2gd) 2359 2359 ###################################################################### 2360 Inst = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(2360 Inst = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId( 2361 2361 G2frame,G2frame.PatternId, 'Instrument Parameters'))[0] 2362 histName = G2frame. PatternTree.GetItemText(G2frame.PatternId)2362 histName = G2frame.GPXtree.GetItemText(G2frame.PatternId) 2363 2363 G2frame.dataWindow.ClearData() 2364 2364 G2gd.SetDataMenuBar(G2frame,G2frame.dataWindow.SampleMenu) … … 2375 2375 if histName[:4] in ['SASD','REFD','PWDR']: 2376 2376 G2frame.dataFrame.SetScale.Enable(True) 2377 Controls = G2frame. PatternTree.GetItemPyData(2378 G2gd.Get PatternTreeItemId(G2frame,G2frame.root, 'Controls'))2377 Controls = G2frame.GPXtree.GetItemPyData( 2378 G2gd.GetGPXtreeItemId(G2frame,G2frame.root, 'Controls')) 2379 2379 #patch 2380 2380 if 'ranId' not in data: … … 2491 2491 mu = 0. 2492 2492 subSizer = wx.FlexGridSizer(0,4,5,5) 2493 Substances = G2frame. PatternTree.GetItemPyData(2494 G2gd.Get PatternTreeItemId(G2frame,G2frame.PatternId, 'Substances'))2493 Substances = G2frame.GPXtree.GetItemPyData( 2494 G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Substances')) 2495 2495 for id,item in enumerate(data['Materials']): 2496 2496 subSizer.Add(wx.StaticText(G2frame.dataWindow,label=' Material: '),0,WACV) … … 2532 2532 bravaisSymb = ['Fm3m','Im3m','Pm3m','R3-H','P6/mmm','I4/mmm', 2533 2533 'P4/mmm','Fmmm','Immm','Cmmm','Pmmm','C2/m','P2/m','P1'] 2534 IndexId = G2gd.Get PatternTreeItemId(G2frame,G2frame.PatternId, 'Index Peak List')2535 Inst = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))[0]2536 limitId = G2gd.Get PatternTreeItemId(G2frame,G2frame.PatternId, 'Limits')2537 Limits = G2frame. PatternTree.GetItemPyData(limitId)2534 IndexId = G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Index Peak List') 2535 Inst = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))[0] 2536 limitId = G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Limits') 2537 Limits = G2frame.GPXtree.GetItemPyData(limitId) 2538 2538 def RefreshIndexPeaksGrid(event): 2539 2539 r,c = event.GetRow(),event.GetCol() … … 2545 2545 peaks[r][c] = True 2546 2546 G2frame.IndexPeaksTable.SetData(peaks) 2547 G2frame. PatternTree.SetItemPyData(IndexId,[peaks,data[1]])2547 G2frame.GPXtree.SetItemPyData(IndexId,[peaks,data[1]]) 2548 2548 # G2frame.dataWindow.ForceRefresh() 2549 if 'PKS' in G2frame. PatternTree.GetItemText(G2frame.PatternId):2549 if 'PKS' in G2frame.GPXtree.GetItemText(G2frame.PatternId): 2550 2550 G2plt.PlotPowderLines(G2frame) 2551 2551 else: … … 2555 2555 peaks = [] 2556 2556 sigs = [] 2557 Peaks = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Peak List'))2557 Peaks = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Peak List')) 2558 2558 for ip,peak in enumerate(Peaks['peaks']): 2559 2559 dsp = G2lat.Pos2dsp(Inst,peak[0]) … … 2565 2565 sigs.append(sig) 2566 2566 data = [peaks,sigs] 2567 G2frame. PatternTree.SetItemPyData(IndexId,data)2567 G2frame.GPXtree.SetItemPyData(IndexId,data) 2568 2568 UpdateIndexPeaksGrid(G2frame,data) 2569 2569 2570 2570 def KeyEditPickGrid(event): 2571 2571 colList = G2frame.indxPeaks.GetSelectedCols() 2572 data = G2frame. PatternTree.GetItemPyData(IndexId)2572 data = G2frame.GPXtree.GetItemPyData(IndexId) 2573 2573 if event.GetKeyCode() == wx.WXK_RETURN: 2574 2574 event.Skip(True) … … 2591 2591 2592 2592 G2frame.dataWindow.ClearData() 2593 if 'PWD' in G2frame. PatternTree.GetItemText(G2frame.PatternId):2593 if 'PWD' in G2frame.GPXtree.GetItemText(G2frame.PatternId): 2594 2594 G2gd.SetDataMenuBar(G2frame,G2frame.dataWindow.IndPeaksMenu) 2595 2595 G2frame.Bind(wx.EVT_MENU, OnReload, id=G2gd.wxID_INDXRELOAD) … … 2598 2598 if len(data[0]): 2599 2599 G2frame.dataWindow.IndexPeaks.Enable(True) 2600 Unit = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Unit Cells List'))2600 Unit = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Unit Cells List')) 2601 2601 if Unit: 2602 2602 if len(Unit) == 4: #patch … … 2640 2640 Types = [wg.GRID_VALUE_FLOAT+':10,4',wg.GRID_VALUE_FLOAT+':10,1',]+2*[wg.GRID_VALUE_BOOL,]+ \ 2641 2641 4*[wg.GRID_VALUE_LONG,]+2*[wg.GRID_VALUE_FLOAT+':10,5',] 2642 G2frame. PatternTree.SetItemPyData(IndexId,data)2642 G2frame.GPXtree.SetItemPyData(IndexId,data) 2643 2643 G2frame.IndexPeaksTable = G2G.Table(data[0],rowLabels=rowLabels,colLabels=colLabels,types=Types) 2644 2644 G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Index Peak List') … … 2683 2683 '''respond to selection of PWDR Unit Cells data tree item. 2684 2684 ''' 2685 UnitCellsId = G2gd.Get PatternTreeItemId(G2frame,G2frame.PatternId, 'Unit Cells List')2685 UnitCellsId = G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Unit Cells List') 2686 2686 SPGlist = G2spc.spglist 2687 2687 bravaisSymb = ['Fm3m','Im3m','Pm3m','R3-H','P6/mmm','I4/mmm','P4/mmm', … … 2689 2689 spaceGroups = ['F m 3 m','I m 3 m','P m 3 m','R 3 m','P 6/m m m','I 4/m m m', 2690 2690 'P 4/m m m','F m m m','I m m m','C m m m','P m m m','C 2/m','P 2/m','P -1'] 2691 Inst = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))[0]2692 Limits = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Limits'))[1]2691 Inst = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))[0] 2692 Limits = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Limits'))[1] 2693 2693 if 'C' in Inst['Type'][0] or 'PKS' in Inst['Type'][0]: 2694 2694 wave = G2mth.getWave(Inst) … … 2877 2877 def OnHklShow(event): 2878 2878 PatternId = G2frame.PatternId 2879 peaks = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Index Peak List'))2880 controls,bravais,cells,dminx,ssopt = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Unit Cells List'))2879 peaks = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Index Peak List')) 2880 controls,bravais,cells,dminx,ssopt = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Unit Cells List')) 2881 2881 cell = controls[6:12] 2882 2882 A = G2lat.cell2A(cell) … … 2903 2903 if len(G2frame.HKL): 2904 2904 print ' new M20,X20: %.2f %d fraction found: %.3f'%(M20,X20,float(len(peaks[0]))/len(G2frame.HKL)) 2905 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Index Peak List'),peaks)2906 if 'PKS' in G2frame. PatternTree.GetItemText(G2frame.PatternId):2905 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Index Peak List'),peaks) 2906 if 'PKS' in G2frame.GPXtree.GetItemText(G2frame.PatternId): 2907 2907 G2plt.PlotPowderLines(G2frame) 2908 2908 else: … … 2910 2910 2911 2911 def OnSortCells(event): 2912 controls,bravais,cells,dminx,ssopt = G2frame. PatternTree.GetItemPyData(UnitCellsId)2912 controls,bravais,cells,dminx,ssopt = G2frame.GPXtree.GetItemPyData(UnitCellsId) 2913 2913 c = event.GetCol() 2914 2914 if colLabels[c] == 'M20': … … 2921 2921 return 2922 2922 data = [controls,bravais,cells,dmin,ssopt] 2923 G2frame. PatternTree.SetItemPyData(UnitCellsId,data)2923 G2frame.GPXtree.SetItemPyData(UnitCellsId,data) 2924 2924 wx.CallAfter(UpdateUnitCellsGrid,G2frame,data) 2925 2925 2926 2926 def CopyUnitCell(event): 2927 controls,bravais,cells,dminx,ssopt = G2frame. PatternTree.GetItemPyData(UnitCellsId)2927 controls,bravais,cells,dminx,ssopt = G2frame.GPXtree.GetItemPyData(UnitCellsId) 2928 2928 for Cell in cells: 2929 2929 if Cell[-2]: … … 2935 2935 controls[12] = G2lat.calc_V(G2lat.cell2A(controls[6:12])) 2936 2936 controls[13] = spaceGroups[bravaisSymb.index(controls[5])] 2937 G2frame. PatternTree.SetItemPyData(UnitCellsId,[controls,bravais,cells,dmin,ssopt])2937 G2frame.GPXtree.SetItemPyData(UnitCellsId,[controls,bravais,cells,dmin,ssopt]) 2938 2938 G2frame.dataFrame.RefineCell.Enable(True) 2939 2939 wx.CallAfter(UpdateUnitCellsGrid,G2frame,data) … … 2960 2960 2961 2961 PatternId = G2frame.PatternId 2962 peaks = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Index Peak List'))2962 peaks = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Index Peak List')) 2963 2963 if not len(peaks[0]): 2964 2964 G2frame.ErrorDialog('No peaks!', 'Nothing to refine!') 2965 2965 return 2966 2966 print ' Refine cell' 2967 controls,bravais,cells,dminx,ssopt = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Unit Cells List'))2967 controls,bravais,cells,dminx,ssopt = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Unit Cells List')) 2968 2968 cell = controls[6:12] 2969 2969 A = G2lat.cell2A(cell) … … 2998 2998 controls[6:12] = G2lat.A2cell(Aref) 2999 2999 controls[12] = G2lat.calc_V(Aref) 3000 cells = G2frame. PatternTree.GetItemPyData(UnitCellsId)[2]3000 cells = G2frame.GPXtree.GetItemPyData(UnitCellsId)[2] 3001 3001 for cell in cells: 3002 3002 cell[-2] = False … … 3008 3008 G2frame.HKL = G2pwd.getHKLpeak(dmin,SGData,A,Inst) 3009 3009 data = [controls,bravais,cells,dmin,ssopt] 3010 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Unit Cells List'),data)3010 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Unit Cells List'),data) 3011 3011 print " %s%10.3f" % ('refinement M20 = ',M20) 3012 3012 print ' unindexed lines = ',X20 … … 3019 3019 hkl[ip] = G2lat.Dsp2pos(Inst,hkl[ip-1])+controls[1] 3020 3020 G2frame.HKL = np.array(G2frame.HKL) 3021 if 'PKS' in G2frame. PatternTree.GetItemText(G2frame.PatternId):3021 if 'PKS' in G2frame.GPXtree.GetItemText(G2frame.PatternId): 3022 3022 G2plt.PlotPowderLines(G2frame) 3023 3023 else: … … 3030 3030 keepcells = [] 3031 3031 try: 3032 controls,bravais,cells,dminx,ssopt = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Unit Cells List'))3032 controls,bravais,cells,dminx,ssopt = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Unit Cells List')) 3033 3033 for cell in cells: 3034 3034 if cell[11]: … … 3068 3068 cells[0][10] = True #select best M20 3069 3069 data = [controls,bravais,cells,dmin,ssopt] 3070 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Unit Cells List'),data)3070 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Unit Cells List'),data) 3071 3071 bestCell = cells[0] 3072 3072 if bestCell[0] > 10.: … … 3075 3075 hkl.insert(4,G2lat.Dsp2pos(Inst,hkl[3])+controls[1]) 3076 3076 G2frame.HKL = np.array(G2frame.HKL) 3077 if 'PKS' in G2frame. PatternTree.GetItemText(G2frame.PatternId):3077 if 'PKS' in G2frame.GPXtree.GetItemText(G2frame.PatternId): 3078 3078 G2plt.PlotPowderLines(G2frame) 3079 3079 else: … … 3086 3086 3087 3087 def RefreshUnitCellsGrid(event): 3088 data = G2frame. PatternTree.GetItemPyData(UnitCellsId)3088 data = G2frame.GPXtree.GetItemPyData(UnitCellsId) 3089 3089 cells,dminx = data[2:4] 3090 3090 r,c = event.GetRow(),event.GetCol() … … 3103 3103 hkl.insert(4,G2lat.Dsp2pos(Inst,hkl[3])+controls[1]) 3104 3104 G2frame.HKL = np.array(G2frame.HKL) 3105 if 'PKS' in G2frame. PatternTree.GetItemText(G2frame.PatternId):3105 if 'PKS' in G2frame.GPXtree.GetItemText(G2frame.PatternId): 3106 3106 G2plt.PlotPowderLines(G2frame) 3107 3107 else: … … 3115 3115 UnitCellsTable.SetValue(r,c,True) 3116 3116 gridDisplay.ForceRefresh() 3117 G2frame. PatternTree.SetItemPyData(UnitCellsId,data)3117 G2frame.GPXtree.SetItemPyData(UnitCellsId,data) 3118 3118 3119 3119 def MakeNewPhase(event): 3120 if not G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Phases'):3121 sub = G2frame. PatternTree.AppendItem(parent=G2frame.root,text='Phases')3120 if not G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Phases'): 3121 sub = G2frame.GPXtree.AppendItem(parent=G2frame.root,text='Phases') 3122 3122 else: 3123 sub = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Phases')3123 sub = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Phases') 3124 3124 PhaseName = '' 3125 3125 dlg = wx.TextEntryDialog(None,'Enter a name for this phase','Phase Name Entry','New phase', … … 3128 3128 if dlg.ShowModal() == wx.ID_OK: 3129 3129 PhaseName = dlg.GetValue() 3130 cells = G2frame. PatternTree.GetItemPyData(UnitCellsId)[2]3130 cells = G2frame.GPXtree.GetItemPyData(UnitCellsId)[2] 3131 3131 for Cell in cells: 3132 3132 if Cell[-2]: 3133 3133 break 3134 3134 cell = Cell[2:10] 3135 sub = G2frame. PatternTree.AppendItem(parent=sub,text=PhaseName)3135 sub = G2frame.GPXtree.AppendItem(parent=sub,text=PhaseName) 3136 3136 E,SGData = G2spc.SpcGroup(controls[13]) 3137 G2frame. PatternTree.SetItemPyData(sub, \3137 G2frame.GPXtree.SetItemPyData(sub, \ 3138 3138 G2obj.SetNewPhase(Name=PhaseName,SGData=SGData,cell=cell[1:],Super=ssopt)) 3139 3139 G2frame.GetStatusBar().SetStatusText('Change space group from '+str(controls[13])+' if needed') … … 3155 3155 if len(controls) < 14: #add space group used in indexing 3156 3156 controls.append(spaceGroups[bravaisSymb.index(controls[5])]) 3157 G2frame. PatternTree.SetItemPyData(UnitCellsId,data) #update with volume3157 G2frame.GPXtree.SetItemPyData(UnitCellsId,data) #update with volume 3158 3158 bravaisNames = ['Cubic-F','Cubic-I','Cubic-P','Trigonal-R','Trigonal/Hexagonal-P', 3159 3159 'Tetragonal-I','Tetragonal-P','Orthorhombic-F','Orthorhombic-I','Orthorhombic-C', … … 3170 3170 3171 3171 G2frame.dataFrame.IndexPeaks.Enable(False) 3172 peaks = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Index Peak List'))3172 peaks = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Index Peak List')) 3173 3173 if peaks: 3174 3174 G2frame.dataFrame.IndexPeaks.Enable(True) … … 3373 3373 a table of reflections in the data window. 3374 3374 ''' 3375 Controls = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.root, 'Controls'))3375 Controls = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.root, 'Controls')) 3376 3376 dMin = 0.05 3377 3377 if 'UsrReject' in Controls: … … 3382 3382 phaseName = G2frame.RefList 3383 3383 if phaseName not in ['Unknown',]: 3384 pId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Phases')3385 phaseId = G2gd.Get PatternTreeItemId(G2frame,pId,phaseName)3386 General = G2frame. PatternTree.GetItemPyData(phaseId)['General']3384 pId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Phases') 3385 phaseId = G2gd.GetGPXtreeItemId(G2frame,pId,phaseName) 3386 General = G2frame.GPXtree.GetItemPyData(phaseId)['General'] 3387 3387 Super = General.get('Super',0) 3388 3388 SuperVec = General.get('SuperVec',[]) … … 3410 3410 phaseName = G2frame.RefList 3411 3411 if phaseName not in ['Unknown',]: 3412 pId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Phases')3413 phaseId = G2gd.Get PatternTreeItemId(G2frame,pId,phaseName)3414 General = G2frame. PatternTree.GetItemPyData(phaseId)['General']3412 pId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Phases') 3413 phaseId = G2gd.GetGPXtreeItemId(G2frame,pId,phaseName) 3414 General = G2frame.GPXtree.GetItemPyData(phaseId)['General'] 3415 3415 Super = General.get('Super',0) 3416 3416 SuperVec = General.get('SuperVec',[]) … … 3442 3442 ''' 3443 3443 if phaseName not in ['Unknown',]: 3444 pId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Phases')3445 phaseId = G2gd.Get PatternTreeItemId(G2frame,pId,phaseName)3444 pId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Phases') 3445 phaseId = G2gd.GetGPXtreeItemId(G2frame,pId,phaseName) 3446 3446 if not phaseId: #phase deleted 3447 3447 return None 3448 General = G2frame. PatternTree.GetItemPyData(phaseId)['General']3448 General = G2frame.GPXtree.GetItemPyData(phaseId)['General'] 3449 3449 Super = General.get('Super',0) 3450 3450 else: … … 3593 3593 phases = data.keys() 3594 3594 G2frame.dataFrame.ClearData() 3595 Inst = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))[0]3595 Inst = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))[0] 3596 3596 G2gd.SetDataMenuBar(G2frame,G2frame.dataWindow.ReflMenu) 3597 3597 if HKLF: … … 3708 3708 3709 3709 def OnCopySubstance(event): 3710 hst = G2frame. PatternTree.GetItemText(G2frame.PatternId)3710 hst = G2frame.GPXtree.GetItemText(G2frame.PatternId) 3711 3711 histList = GetHistsLikeSelected(G2frame) 3712 3712 if not histList: … … 3725 3725 dlg.Destroy() 3726 3726 for item in copyList: 3727 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,item)3728 Inst = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id, 'Instrument Parameters'))[0]3727 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,item) 3728 Inst = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id, 'Instrument Parameters'))[0] 3729 3729 wave = G2mth.getWave(Inst) 3730 3730 ndata = copy.deepcopy(data) … … 3738 3738 ndata['Substances'][name]['XAbsorption'] = absorb 3739 3739 ndata['Substances'][name]['XImag density'] = imcontrst 3740 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Substances'),ndata)3740 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Substances'),ndata) 3741 3741 3742 3742 def OnAddSubstance(event): … … 3958 3958 return substSizer 3959 3959 3960 Inst = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))[0]3960 Inst = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))[0] 3961 3961 wave = G2mth.getWave(Inst) 3962 3962 G2gd.SetDataMenuBar(G2frame,G2frame.dataWindow.SubstanceMenu) … … 4037 4037 4038 4038 def OnCopyModel(event): 4039 hst = G2frame. PatternTree.GetItemText(G2frame.PatternId)4039 hst = G2frame.GPXtree.GetItemText(G2frame.PatternId) 4040 4040 histList = GetHistsLikeSelected(G2frame) 4041 4041 if not histList: … … 4054 4054 dlg.Destroy() 4055 4055 for item in copyList: 4056 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,item)4056 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,item) 4057 4057 newdata = copy.deepcopy(data) 4058 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Models'),newdata)4058 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Models'),newdata) 4059 4059 if newdata['BackFile']: 4060 Profile = G2frame. PatternTree.GetItemPyData(Id)[1]4061 BackId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,newdata['BackFile'])4062 BackSample = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,BackId, 'Sample Parameters'))4063 Profile[5] = BackSample['Scale'][0]*G2frame. PatternTree.GetItemPyData(BackId)[1][1]4060 Profile = G2frame.GPXtree.GetItemPyData(Id)[1] 4061 BackId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,newdata['BackFile']) 4062 BackSample = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,BackId, 'Sample Parameters')) 4063 Profile[5] = BackSample['Scale'][0]*G2frame.GPXtree.GetItemPyData(BackId)[1][1] 4064 4064 UpdateModelsGrid(G2frame,newdata) 4065 4065 wx.CallAfter(UpdateModelsGrid,G2frame,data) … … 4068 4068 def OnCopyFlags(event): 4069 4069 thisModel = copy.deepcopy(data) 4070 hst = G2frame. PatternTree.GetItemText(G2frame.PatternId)4070 hst = G2frame.GPXtree.GetItemText(G2frame.PatternId) 4071 4071 histList = GetHistsLikeSelected(G2frame) 4072 4072 if not histList: … … 4086 4086 for i in result: 4087 4087 item = histList[i] 4088 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,item)4089 newModel = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Models'))4088 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,item) 4089 newModel = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Models')) 4090 4090 newModel['Back'][1] = copy.copy(thisModel['Back'][1]) 4091 4091 for ilev,level in enumerate(newModel['Particle']['Levels']): … … 4105 4105 4106 4106 def OnFitModelAll(event): 4107 choices = G2gd.Get PatternTreeDataNames(G2frame,['SASD',])4107 choices = G2gd.GetGPXtreeDataNames(G2frame,['SASD',]) 4108 4108 dlg = G2G.G2MultiChoiceDialog(G2frame.dataFrame, 'Sequential SASD refinement', 4109 4109 'Select dataset to include',choices) … … 4112 4112 for sel in dlg.GetSelections(): 4113 4113 names.append(choices[sel]) 4114 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Sequential SASD results')4114 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Sequential SASD results') 4115 4115 if Id: 4116 SeqResult = G2frame. PatternTree.GetItemPyData(Id)4116 SeqResult = G2frame.GPXtree.GetItemPyData(Id) 4117 4117 else: 4118 4118 SeqResult = {} 4119 Id = G2frame. PatternTree.AppendItem(parent=G2frame.root,text='Sequential SASD results')4119 Id = G2frame.GPXtree.AppendItem(parent=G2frame.root,text='Sequential SASD results') 4120 4120 SeqResult = {'SeqPseudoVars':{},'SeqParFitEqList':[]} 4121 4121 SeqResult['histNames'] = names … … 4147 4147 if not GoOn: 4148 4148 break 4149 sId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,name)4149 sId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,name) 4150 4150 if i and CopyForward: 4151 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,sId, 'Models'),JModel)4152 IProfDict,IProfile = G2frame. PatternTree.GetItemPyData(sId)[:2]4153 IModel = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,sId, 'Models'))4154 ISample = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,sId, 'Sample Parameters'))4155 ILimits = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,sId, 'Limits'))4151 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,sId, 'Models'),JModel) 4152 IProfDict,IProfile = G2frame.GPXtree.GetItemPyData(sId)[:2] 4153 IModel = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,sId, 'Models')) 4154 ISample = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,sId, 'Sample Parameters')) 4155 ILimits = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,sId, 'Limits')) 4156 4156 IfOK,result,varyList,sig,Rvals,covMatrix,parmDict,Msg = G2sasd.ModelFit(IProfile,IProfDict,ILimits,ISample,IModel) 4157 4157 JModel = copy.deepcopy(IModel) … … 4164 4164 break 4165 4165 else: 4166 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,sId, 'Models'),copy.deepcopy(IModel))4166 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,sId, 'Models'),copy.deepcopy(IModel)) 4167 4167 4168 4168 G2sasd.ModelFxn(IProfile,IProfDict,ILimits,ISample,IModel) … … 4174 4174 finally: 4175 4175 wx.EndBusyCursor() 4176 G2frame. PatternTree.SetItemPyData(Id,SeqResult)4177 G2frame. PatternTree.SelectItem(Id)4176 G2frame.GPXtree.SetItemPyData(Id,SeqResult) 4177 G2frame.GPXtree.SelectItem(Id) 4178 4178 4179 4179 def OnFitModel(event): … … 4201 4201 def OnUnDo(event): 4202 4202 DoUnDo() 4203 data = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,4203 data = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame, 4204 4204 G2frame.PatternId,'Models')) 4205 4205 G2frame.dataFrame.SasdUndo.Enable(False) … … 4212 4212 file = open(G2frame.undosasd,'rb') 4213 4213 PatternId = G2frame.PatternId 4214 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Models'),cPickle.load(file))4214 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Models'),cPickle.load(file)) 4215 4215 print ' Models recovered' 4216 4216 file.close() … … 4221 4221 PatternId = G2frame.PatternId 4222 4222 for item in ['Models']: 4223 cPickle.dump(G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId,item)),file,1)4223 cPickle.dump(G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId,item)),file,1) 4224 4224 file.close() 4225 4225 G2frame.dataFrame.SasdUndo.Enable(True) … … 4610 4610 data['BackFile'] = backFile.GetValue() 4611 4611 if data['BackFile']: 4612 BackId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,data['BackFile'])4613 BackSample = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,BackId, 'Sample Parameters'))4614 Profile[5] = BackSample['Scale'][0]*G2frame. PatternTree.GetItemPyData(BackId)[1][1]4612 BackId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,data['BackFile']) 4613 BackSample = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,BackId, 'Sample Parameters')) 4614 Profile[5] = BackSample['Scale'][0]*G2frame.GPXtree.GetItemPyData(BackId)[1][1] 4615 4615 else: 4616 4616 Profile[5] = np.zeros(len(Profile[5])) 4617 4617 RefreshPlots(True) 4618 4618 4619 Sample = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Sample Parameters'))4620 Limits = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Limits'))4621 Substances = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Substances'))4622 ProfDict,Profile = G2frame. PatternTree.GetItemPyData(G2frame.PatternId)[:2]4619 Sample = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Sample Parameters')) 4620 Limits = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Limits')) 4621 Substances = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Substances')) 4622 ProfDict,Profile = G2frame.GPXtree.GetItemPyData(G2frame.PatternId)[:2] 4623 4623 if data['BackFile']: 4624 BackId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,data['BackFile'])4625 BackSample = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,BackId, 'Sample Parameters'))4626 Profile[5] = BackSample['Scale'][0]*G2frame. PatternTree.GetItemPyData(BackId)[1][1]4624 BackId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,data['BackFile']) 4625 BackSample = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,BackId, 'Sample Parameters')) 4626 Profile[5] = BackSample['Scale'][0]*G2frame.GPXtree.GetItemPyData(BackId)[1][1] 4627 4627 G2gd.SetDataMenuBar(G2frame,G2frame.dataWindow.ModelMenu) 4628 4628 G2frame.dataWindow.ClearData() … … 4672 4672 #multiple background files? 4673 4673 backSizer.Add(wx.StaticText(G2frame.dataWindow,-1,' Background file: '),0,WACV) 4674 Choices = ['',]+G2gd.Get PatternTreeDataNames(G2frame,['SASD',])4674 Choices = ['',]+G2gd.GetGPXtreeDataNames(G2frame,['SASD',]) 4675 4675 backFile = wx.ComboBox(parent=G2frame.dataWindow,value=data['BackFile'],choices=Choices, 4676 4676 style=wx.CB_READONLY|wx.CB_DROPDOWN) … … 4693 4693 ''' 4694 4694 def OnCopyModel(event): 4695 hst = G2frame. PatternTree.GetItemText(G2frame.PatternId)4695 hst = G2frame.GPXtree.GetItemText(G2frame.PatternId) 4696 4696 histList = GetHistsLikeSelected(G2frame) 4697 4697 if not histList: … … 4708 4708 dlg.Destroy() 4709 4709 for item in copyList: 4710 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,item)4711 G2frame. PatternTree.SetItemPyData(4712 G2gd.Get PatternTreeItemId(G2frame,Id,'Models'),copy.deepcopy(data))4710 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,item) 4711 G2frame.GPXtree.SetItemPyData( 4712 G2gd.GetGPXtreeItemId(G2frame,Id,'Models'),copy.deepcopy(data)) 4713 4713 4714 4714 def OnFitModel(event): … … 4722 4722 4723 4723 def OnModelPlot(event): 4724 hst = G2frame. PatternTree.GetItemText(G2frame.PatternId)4724 hst = G2frame.GPXtree.GetItemText(G2frame.PatternId) 4725 4725 histList = GetFileList(G2frame,'REFD') 4726 4726 # histList = [hst,] … … 4745 4745 LinePos = [] 4746 4746 for item in plotList: 4747 mId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,item)4748 model = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,mId,'Models'))4749 Substances = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,mId,'Substances'))['Substances']4747 mId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,item) 4748 model = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,mId,'Models')) 4749 Substances = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,mId,'Substances'))['Substances'] 4750 4750 x,xr,y = G2pwd.makeSLDprofile(model,Substances) 4751 4751 if od['value_1']: … … 4768 4768 4769 4769 def OnFitModelAll(event): 4770 choices = G2gd.Get PatternTreeDataNames(G2frame,['REFD',])4770 choices = G2gd.GetGPXtreeDataNames(G2frame,['REFD',]) 4771 4771 dlg = G2G.G2MultiChoiceDialog(G2frame.dataFrame, 'Sequential REFD refinement', 4772 4772 'Select dataset to include',choices) … … 4775 4775 for sel in dlg.GetSelections(): 4776 4776 names.append(choices[sel]) 4777 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Sequential REFD results')4777 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Sequential REFD results') 4778 4778 if Id: 4779 SeqResult = G2frame. PatternTree.GetItemPyData(Id)4779 SeqResult = G2frame.GPXtree.GetItemPyData(Id) 4780 4780 else: 4781 4781 SeqResult = {} 4782 Id = G2frame. PatternTree.AppendItem(parent=G2frame.root,text='Sequential REFD results')4782 Id = G2frame.GPXtree.AppendItem(parent=G2frame.root,text='Sequential REFD results') 4783 4783 SeqResult = {'SeqPseudoVars':{},'SeqParFitEqList':[]} 4784 4784 SeqResult['histNames'] = names … … 4810 4810 if not GoOn: 4811 4811 break 4812 sId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,name)4812 sId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,name) 4813 4813 if i and CopyForward: 4814 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,sId, 'Models'),JModel)4815 IProfDict,IProfile = G2frame. PatternTree.GetItemPyData(sId)[:2]4816 IModel = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,sId, 'Models'))4817 ISubstances = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,sId, 'Substances'))['Substances']4818 ILimits = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,sId, 'Limits'))4814 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,sId, 'Models'),JModel) 4815 IProfDict,IProfile = G2frame.GPXtree.GetItemPyData(sId)[:2] 4816 IModel = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,sId, 'Models')) 4817 ISubstances = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,sId, 'Substances'))['Substances'] 4818 ILimits = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,sId, 'Limits')) 4819 4819 IfOK,result,varyList,sig,Rvals,covMatrix,parmDict,Msg = G2pwd.REFDRefine(IProfile,IProfDict,Inst,ILimits,ISubstances,IModel) 4820 4820 JModel = copy.deepcopy(IModel) … … 4827 4827 break 4828 4828 else: 4829 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,sId, 'Models'),copy.deepcopy(IModel))4829 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,sId, 'Models'),copy.deepcopy(IModel)) 4830 4830 4831 4831 SeqResult[name] = {'variables':result[0],'varyList':varyList,'sig':sig,'Rvals':Rvals, … … 4836 4836 finally: 4837 4837 wx.EndBusyCursor() 4838 G2frame. PatternTree.SetItemPyData(Id,SeqResult)4839 G2frame. PatternTree.SelectItem(Id)4838 G2frame.GPXtree.SetItemPyData(Id,SeqResult) 4839 G2frame.GPXtree.SelectItem(Id) 4840 4840 4841 4841 def ModelPlot(data,x,xr,y): … … 4857 4857 def OnUnDo(event): 4858 4858 DoUnDo() 4859 data = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,4859 data = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame, 4860 4860 G2frame.PatternId,'Models')) 4861 4861 G2frame.dataFrame.REFDUndo.Enable(False) … … 4870 4870 file = open(G2frame.undorefd,'rb') 4871 4871 PatternId = G2frame.PatternId 4872 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Models'),cPickle.load(file))4872 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Models'),cPickle.load(file)) 4873 4873 print ' Model recovered' 4874 4874 file.close() … … 4878 4878 file = open(G2frame.undorefd,'wb') 4879 4879 PatternId = G2frame.PatternId 4880 cPickle.dump(G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId,'Models')),file,1)4880 cPickle.dump(G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId,'Models')),file,1) 4881 4881 file.close() 4882 4882 G2frame.dataFrame.REFDUndo.Enable(True) … … 5208 5208 G2plt.PlotPatterns(G2frame,plotType='REFD') 5209 5209 5210 Substances = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Substances'))['Substances']5211 ProfDict,Profile,Name = G2frame. PatternTree.GetItemPyData(G2frame.PatternId)[:3]5210 Substances = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Substances'))['Substances'] 5211 ProfDict,Profile,Name = G2frame.GPXtree.GetItemPyData(G2frame.PatternId)[:3] 5212 5212 if 'ifDQ' not in ProfDict: 5213 5213 ProfDict['ifDQ'] = np.any(Profile[5]) 5214 5214 data['dQ type'] = 'None' 5215 Limits = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Limits'))5216 Inst = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))[0]5215 Limits = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Limits')) 5216 Inst = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))[0] 5217 5217 G2gd.SetDataMenuBar(G2frame,G2frame.dataWindow.REFDModelMenu) 5218 5218 G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Modelling') … … 5270 5270 name = data[key]['Name'] 5271 5271 if name: 5272 xydata[key] = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.root,name))5273 powId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,data['Sample']['Name'])5274 limits = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,powId,'Limits'))[1]5275 inst = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,powId,'Instrument Parameters'))[0]5272 xydata[key] = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.root,name)) 5273 powId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,data['Sample']['Name']) 5274 limits = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,powId,'Limits'))[1] 5275 inst = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,powId,'Instrument Parameters'))[0] 5276 5276 auxPlot = G2pwd.CalcPDF(data,inst,limits,xydata) 5277 5277 data['I(Q)'] = xydata['IofQ'] … … 5327 5327 name = Data[key]['Name'] 5328 5328 if name: 5329 xydata[key] = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.root,name))5329 xydata[key] = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.root,name)) 5330 5330 powName = Data['Sample']['Name'] 5331 powId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,powName)5332 limits = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,powId,'Limits'))[1]5333 inst = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,powId,'Instrument Parameters'))[0]5331 powId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,powName) 5332 limits = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,powId,'Limits'))[1] 5333 inst = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,powId,'Instrument Parameters'))[0] 5334 5334 numbDen = G2pwd.GetNumDensity(Data['ElList'],Data['Form Vol']) 5335 5335 BkgMax = 1. … … 5424 5424 5425 5425 def GetExposure(backFile): 5426 dataId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'PWDR'+dataFile[4:])5427 dataComments = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,dataId,'Comments'))5426 dataId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'PWDR'+dataFile[4:]) 5427 dataComments = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,dataId,'Comments')) 5428 5428 if not backFile: 5429 5429 return -1. 5430 backId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,backFile)5431 backComments = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,backId,'Comments'))5430 backId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,backFile) 5431 backComments = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,backId,'Comments')) 5432 5432 expTime = 1. 5433 5433 sumExp = 1. … … 5476 5476 5477 5477 def ResetFlatBkg(): 5478 Smin = np.min(G2frame. PatternTree.GetItemPyData(5479 G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'PWDR'+dataFile[4:]))[1][1])5478 Smin = np.min(G2frame.GPXtree.GetItemPyData( 5479 G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'PWDR'+dataFile[4:]))[1][1]) 5480 5480 Bmin = 0; Cmin = 0.; Cmul = 0.; CBmin = 0. 5481 5481 if data['Sample Bkg.']['Name']: 5482 Bmin = np.min(G2frame. PatternTree.GetItemPyData(5483 G2gd.Get PatternTreeItemId(G2frame,G2frame.root,data['Sample Bkg.']['Name']))[1][1])5482 Bmin = np.min(G2frame.GPXtree.GetItemPyData( 5483 G2gd.GetGPXtreeItemId(G2frame,G2frame.root,data['Sample Bkg.']['Name']))[1][1]) 5484 5484 Smin += Bmin*data['Sample Bkg.']['Mult'] 5485 5485 if data['Container']['Name']: 5486 Cmin = np.min(G2frame. PatternTree.GetItemPyData(5487 G2gd.Get PatternTreeItemId(G2frame,G2frame.root,data['Container']['Name']))[1][1])5486 Cmin = np.min(G2frame.GPXtree.GetItemPyData( 5487 G2gd.GetGPXtreeItemId(G2frame,G2frame.root,data['Container']['Name']))[1][1]) 5488 5488 Cmul = data['Container']['Mult'] 5489 5489 if data['Container Bkg.']['Name']: 5490 CBmin = np.min(G2frame. PatternTree.GetItemPyData(5491 G2gd.Get PatternTreeItemId(G2frame,G2frame.root,data['Container Bkg.']['Name']))[1][1])5490 CBmin = np.min(G2frame.GPXtree.GetItemPyData( 5491 G2gd.GetGPXtreeItemId(G2frame,G2frame.root,data['Container Bkg.']['Name']))[1][1]) 5492 5492 Cmin += CBmin*data['Container Bkg.']['Mult'] 5493 5493 Smin += Cmul*Cmin … … 5746 5746 if newName: 5747 5747 data['delt-G(R)'] = copy.deepcopy(data['G(R)']) 5748 id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,newName)5749 pId = G2gd.Get PatternTreeItemId(G2frame,id,'PDF Controls')5750 subData = G2frame. PatternTree.GetItemPyData(pId)['G(R)']5748 id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,newName) 5749 pId = G2gd.GetGPXtreeItemId(G2frame,id,'PDF Controls') 5750 subData = G2frame.GPXtree.GetItemPyData(pId)['G(R)'] 5751 5751 if subData[1][0][-1] != data['G(R)'][1][0][-1]: 5752 5752 G2frame.ErrorDialog('delt-G(R) Error',' G(R) for '+newName+' not same R range') … … 5761 5761 def OnMult(invalid,value,tc): 5762 5762 if invalid: return 5763 id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,data['diffGRname'])5764 pId = G2gd.Get PatternTreeItemId(G2frame,id,'PDF Controls')5765 subData = G2frame. PatternTree.GetItemPyData(pId)['G(R)']5763 id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,data['diffGRname']) 5764 pId = G2gd.GetGPXtreeItemId(G2frame,id,'PDF Controls') 5765 subData = G2frame.GPXtree.GetItemPyData(pId)['G(R)'] 5766 5766 data['delt-G(R)'][1] = np.array([subData[1][0],data['G(R)'][1][1]-data['diffMult']*subData[1][1]]) 5767 5767 G2plt.PlotISFG(G2frame,data,newPlot=True,plotType='delt-G(R)') … … 5794 5794 import copy 5795 5795 TextList = GetFileList(G2frame,'PDF') 5796 Source = G2frame. PatternTree.GetItemText(G2frame.PatternId)5796 Source = G2frame.GPXtree.GetItemText(G2frame.PatternId) 5797 5797 if len(TextList) == 1: 5798 5798 G2frame.ErrorDialog('Nothing to copy controls to','There must be more than one "PDF" pattern') … … 5804 5804 PDFlist = [TextList[i] for i in dlg.GetSelections()] 5805 5805 for item in PDFlist: 5806 id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,item)5807 olddata = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,id, 'PDF Controls'))5806 id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,item) 5807 olddata = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,id, 'PDF Controls')) 5808 5808 if od['value_1']: 5809 5809 olddata['Sample Bkg.']['Refine'] = data['Sample Bkg.']['Refine'] #only one flag … … 5812 5812 olddata.update(copy.deepcopy(data)) 5813 5813 olddata['Sample'] = sample 5814 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,id, 'PDF Controls'),olddata)5814 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,id, 'PDF Controls'),olddata) 5815 5815 G2frame.GetStatusBar().SetStatusText('PDF controls copied') 5816 5816 finally: … … 5912 5912 print('Calculating PDFs...') 5913 5913 choices = [] 5914 if G2frame. PatternTree.GetCount():5915 id, cookie = G2frame. PatternTree.GetFirstChild(G2frame.root)5914 if G2frame.GPXtree.GetCount(): 5915 id, cookie = G2frame.GPXtree.GetFirstChild(G2frame.root) 5916 5916 while id: 5917 Name = G2frame. PatternTree.GetItemText(id)5917 Name = G2frame.GPXtree.GetItemText(id) 5918 5918 if Name.startswith('PDF '): 5919 Data = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,id,'PDF Controls'))5919 Data = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,id,'PDF Controls')) 5920 5920 if not Data['ElList']: 5921 5921 print(' No chemical formula for {}'.format(Name)) 5922 5922 else: 5923 5923 choices.append(Name) 5924 id, cookie = G2frame. PatternTree.GetNextChild(G2frame.root, cookie)5924 id, cookie = G2frame.GPXtree.GetNextChild(G2frame.root, cookie) 5925 5925 if not choices: 5926 5926 print(' No PDFs to compute\n') … … 5943 5943 style = wx.PD_ELAPSED_TIME|wx.PD_AUTO_HIDE|wx.PD_CAN_ABORT) 5944 5944 notConverged = 0 5945 id, cookie = G2frame. PatternTree.GetFirstChild(G2frame.root)5945 id, cookie = G2frame.GPXtree.GetFirstChild(G2frame.root) 5946 5946 N = 0 5947 5947 try: 5948 5948 while id: 5949 Name = G2frame. PatternTree.GetItemText(id)5949 Name = G2frame.GPXtree.GetItemText(id) 5950 5950 if Name in Names: 5951 5951 N += 1 … … 5954 5954 pgbar.Destroy() 5955 5955 break 5956 pId = G2gd.Get PatternTreeItemId(G2frame,id,'PDF Controls')5957 Data = G2frame. PatternTree.GetItemPyData(pId)5956 pId = G2gd.GetGPXtreeItemId(G2frame,id,'PDF Controls') 5957 Data = G2frame.GPXtree.GetItemPyData(pId) 5958 5958 print(' Computing {}'.format(Name)) 5959 5959 computePDF(G2frame,Data) … … 5961 5961 notConverged += not OptimizePDF(G2frame,Data,maxCycles=10) 5962 5962 computePDF(G2frame,Data) 5963 G2frame. PatternTree.SetItemPyData(pId,Data)5964 id, cookie = G2frame. PatternTree.GetNextChild(G2frame.root, cookie)5963 G2frame.GPXtree.SetItemPyData(pId,Data) 5964 id, cookie = G2frame.GPXtree.GetNextChild(G2frame.root, cookie) 5965 5965 finally: 5966 5966 pgbar.Destroy() … … 5981 5981 tth2q = lambda t,w:4.0*math.pi*sind(t/2.0)/w 5982 5982 tof2q = lambda t,C:2.0*math.pi*C/t 5983 dataFile = G2frame. PatternTree.GetItemText(G2frame.PatternId)5983 dataFile = G2frame.GPXtree.GetItemText(G2frame.PatternId) 5984 5984 powName = 'PWDR'+dataFile[4:] 5985 powId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root, powName)5985 powId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root, powName) 5986 5986 if powId: # skip if no matching PWDR entry 5987 fullLimits,limits = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,powId, 'Limits'))[:2]5988 inst = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,powId, 'Instrument Parameters'))[0]5987 fullLimits,limits = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,powId, 'Limits'))[:2] 5988 inst = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,powId, 'Instrument Parameters'))[0] 5989 5989 if 'C' in inst['Type'][0]: 5990 5990 wave = G2mth.getWave(inst) … … 6143 6143 import copy 6144 6144 TextList = GetFileList(G2frame,'PDF') 6145 Source = G2frame. PatternTree.GetItemText(G2frame.PatternId)6145 Source = G2frame.GPXtree.GetItemText(G2frame.PatternId) 6146 6146 if len(TextList) == 1: 6147 6147 G2frame.ErrorDialog('Nothing to copy PDF peaks to','There must be more than one "PDF" pattern') … … 6152 6152 PDFlist = [TextList[i] for i in dlg.GetSelections()] 6153 6153 for item in PDFlist: 6154 id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,item)6155 olddata = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,id, 'PDF Peaks'))6154 id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,item) 6155 olddata = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,id, 'PDF Peaks')) 6156 6156 olddata.update(copy.deepcopy(peaks)) 6157 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,id, 'PDF Peaks'),olddata)6157 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,id, 'PDF Peaks'),olddata) 6158 6158 G2frame.GetStatusBar().SetStatusText('PDF peaks copied') 6159 6159 finally: … … 6162 6162 def OnFitPDFpeaks(event): 6163 6163 PatternId = G2frame.PatternId 6164 data = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'PDF Controls'))6165 peaks = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'PDF Peaks'))6164 data = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'PDF Controls')) 6165 peaks = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'PDF Peaks')) 6166 6166 if not peaks: 6167 6167 G2frame.ErrorDialog('No peaks!','Nothing to fit!') … … 6169 6169 newpeaks = G2pwd.PDFPeakFit(peaks,data['G(R)'])[0] 6170 6170 print 'PDF peak fit finished' 6171 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'PDF Peaks'),newpeaks)6171 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'PDF Peaks'),newpeaks) 6172 6172 G2plt.PlotISFG(G2frame,data,peaks=newpeaks,newPlot=False) 6173 6173 wx.CallAfter(UpdatePDFPeaks,G2frame,newpeaks,data) 6174 6174 6175 6175 def OnFitAllPDFpeaks(event): 6176 Names = G2gd.Get PatternTreeDataNames(G2frame,['PDF ',])6176 Names = G2gd.GetGPXtreeDataNames(G2frame,['PDF ',]) 6177 6177 dlg = G2G.G2MultiChoiceDialog(G2frame,'PDF peak fitting','Select PDFs to fit:',Names) 6178 6178 try: 6179 6179 if dlg.ShowModal() == wx.ID_OK: 6180 Id = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,'Sequential PDF peak fit results')6180 Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Sequential PDF peak fit results') 6181 6181 if Id: 6182 SeqResult = G2frame. PatternTree.GetItemPyData(Id)6182 SeqResult = G2frame.GPXtree.GetItemPyData(Id) 6183 6183 else: 6184 6184 SeqResult = {} 6185 Id = G2frame. PatternTree.AppendItem(parent=G2frame.root,text='Sequential PDF peak fit results')6185 Id = G2frame.GPXtree.AppendItem(parent=G2frame.root,text='Sequential PDF peak fit results') 6186 6186 SeqResult = {'SeqPseudoVars':{},'SeqParFitEqList':[]} 6187 6187 items = dlg.GetSelections() … … 6189 6189 for item in items: 6190 6190 name = Names[item] 6191 pId = G2gd.Get PatternTreeItemId(G2frame,G2frame.root,name)6192 data = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,pId, 'PDF Controls'))6193 peaks = G2frame. PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,pId,'PDF Peaks'))6191 pId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,name) 6192 data = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,pId, 'PDF Controls')) 6193 peaks = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,pId,'PDF Peaks')) 6194 6194 newpeaks,vals,varyList,sigList,parmDict,Rvals = G2pwd.PDFPeakFit(peaks,data['G(R)']) 6195 6195 if vals is None: … … 6199 6199 SeqResult[name] = {'variables':vals,'varyList':varyList,'sig':sigList,'Rvals':Rvals, 6200 6200 'covMatrix':np.eye(len(varyList)),'title':name,'parmDict':parmDict} 6201 G2frame. PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,pId, 'PDF Peaks'),newpeaks)6201 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,pId, 'PDF Peaks'),newpeaks) 6202 6202 SeqResult['histNames'] = Names 6203 6203 G2frame.G2plotNB.Delete('Sequential refinement') #clear away probably invalid plot … … 6205 6205 dlg.Destroy() 6206 6206 G2plt.PlotISFG(G2frame,data,peaks=newpeaks,newPlot=False) 6207 G2frame. PatternTree.SetItemPyData(Id,SeqResult)6208 G2frame. PatternTree.SelectItem(Id)6207 G2frame.GPXtree.SetItemPyData(Id,SeqResult) 6208 G2frame.GPXtree.SelectItem(Id) 6209 6209 print 'All PDFs peak fitted - results in Sequential PDF peak fit results' 6210 6210
Note: See TracChangeset
for help on using the changeset viewer.