- Timestamp:
- Jul 4, 2017 12:11:29 PM (6 years ago)
- Location:
- branch/2frame
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
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: -
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 = {} -
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] -
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 -
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) -
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 -
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 -
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) -
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) -
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: