- Timestamp:
- Apr 20, 2020 8:54:19 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIdataGUI.py
r4400 r4406 3905 3905 nItems = {'PWDR':0,'SASD':0,'REFD':0,'IMG':0,'HKLF':0,'PDF':0} 3906 3906 PDFnames = [] 3907 if self.GPXtree.GetCount(): 3908 item, cookie = self.GPXtree.GetFirstChild(self.root) 3909 while item: 3910 name = self.GPXtree.GetItemText(item) 3911 if name not in ['Notebook','Controls','Covariance','Constraints', 3912 'Restraints','Phases','Rigid bodies'] and 'Sequential' not in name: 3913 if 'PWDR' in name[:4]: nItems['PWDR'] += 1 3914 if 'SASD' in name[:4]: nItems['SASD'] += 1 3915 if 'REFD' in name[:4]: nItems['REFD'] += 1 3916 if 'IMG' in name[:3]: nItems['IMG'] += 1 3917 if 'HKLF' in name[:4]: nItems['HKLF'] += 1 3918 if 'PDF' in name[:3]: 3919 PDFnames.append(name) 3920 nItems['PDF'] += 1 3921 TextList.append(name) 3922 item, cookie = self.GPXtree.GetNextChild(self.root, cookie) 3923 for pdfName in PDFnames: 3924 try: 3925 TextList.remove('PWDR'+pdfName[4:]) 3926 except ValueError: 3927 print (u'PWDR'+pdfName[4:]+u' for '+pdfName+u' not found') 3928 dlg = G2G.G2MultiChoiceDialog(self, 'Which data to delete?', 'Delete data', TextList, wx.CHOICEDLG_STYLE) 3907 Histograms,Phases = self.GetUsedHistogramsAndPhasesfromTree() 3908 if not self.GPXtree.GetCount(): 3909 G2G.G2MessageBox(self,'No tree items to be deleted', 3910 'Nothing to delete') 3911 return 3912 item, cookie = self.GPXtree.GetFirstChild(self.root) 3913 used = False 3914 while item: 3915 name = self.GPXtree.GetItemText(item) 3916 if name not in ['Notebook','Controls','Covariance','Constraints', 3917 'Restraints','Phases','Rigid bodies'] and 'Sequential' not in name: 3918 if 'PWDR' in name[:4]: 3919 nItems['PWDR'] += 1 3920 if name in Histograms: 3921 used = True 3922 item, cookie = self.GPXtree.GetNextChild(self.root, cookie) 3923 continue 3924 if 'SASD' in name[:4]: nItems['SASD'] += 1 3925 if 'REFD' in name[:4]: nItems['REFD'] += 1 3926 if 'IMG' in name[:3]: nItems['IMG'] += 1 3927 if 'HKLF' in name[:4]: 3928 nItems['HKLF'] += 1 3929 if name in Histograms: 3930 used = True 3931 item, cookie = self.GPXtree.GetNextChild(self.root, cookie) 3932 continue 3933 if 'PDF' in name[:3]: 3934 PDFnames.append(name) 3935 nItems['PDF'] += 1 3936 TextList.append(name) 3937 item, cookie = self.GPXtree.GetNextChild(self.root, cookie) 3938 for pdfName in PDFnames: 3929 3939 try: 3930 if dlg.ShowModal() == wx.ID_OK: 3931 result = dlg.GetSelections() 3932 for i in result: DelList.append(TextList[i]) 3933 item, cookie = self.GPXtree.GetFirstChild(self.root) 3934 while item: 3935 itemName = self.GPXtree.GetItemText(item) 3936 if itemName in DelList: 3937 if 'PWDR' in itemName[:4]: nItems['PWDR'] -= 1 3938 elif 'SASD' in itemName[:4]: nItems['SASD'] -= 1 3939 elif 'REFD' in itemName[:4]: nItems['REFD'] -= 1 3940 elif 'IMG' in itemName[:3]: nItems['IMG'] -= 1 3941 elif 'HKLF' in itemName[:4]: nItems['HKLF'] -= 1 3942 elif 'PDF' in itemName[:3]: nItems['PDF'] -= 1 3943 DelItemList.append(item) 3944 item, cookie = self.GPXtree.GetNextChild(self.root, cookie) 3945 for item in DelItemList: 3946 self.GPXtree.Delete(item) 3947 self.PickId = 0 3948 self.PickIdText = None 3949 self.PatternId = 0 3950 if nItems['PWDR']: 3951 wx.CallAfter(G2plt.PlotPatterns,self,True) 3952 else: 3953 self.G2plotNB.Delete('Powder Patterns') 3954 if not nItems['IMG']: 3955 self.G2plotNB.Delete('2D Powder Image') 3956 if not nItems['HKLF']: 3957 self.G2plotNB.Delete('Structure Factors') 3958 if '3D Structure Factors' in self.G2plotNB.plotList: 3959 self.G2plotNB.Delete('3D Structure Factors') 3960 finally: 3961 dlg.Destroy() 3940 TextList.remove('PWDR'+pdfName[4:]) 3941 except ValueError: 3942 print (u'PWDR'+pdfName[4:]+u' for '+pdfName+u' not found') 3943 if len(TextList) == 0 and used: 3944 G2G.G2MessageBox(self,'All histograms are used. You must remove them from phases before they can be deleted', 3945 'Nothing to delete') 3946 return 3947 elif len(TextList) == 0: 3948 G2G.G2MessageBox(self,'None of the tree items are allowed to be deleted', 3949 'Nothing to delete') 3950 return 3951 3952 dlg = G2G.G2MultiChoiceDialog(self, 'Which data to delete?', 'Delete data', TextList, wx.CHOICEDLG_STYLE) 3953 try: 3954 if dlg.ShowModal() == wx.ID_OK: 3955 result = dlg.GetSelections() 3956 for i in result: DelList.append(TextList[i]) 3957 item, cookie = self.GPXtree.GetFirstChild(self.root) 3958 while item: 3959 itemName = self.GPXtree.GetItemText(item) 3960 if itemName in DelList: 3961 if 'PWDR' in itemName[:4]: nItems['PWDR'] -= 1 3962 elif 'SASD' in itemName[:4]: nItems['SASD'] -= 1 3963 elif 'REFD' in itemName[:4]: nItems['REFD'] -= 1 3964 elif 'IMG' in itemName[:3]: nItems['IMG'] -= 1 3965 elif 'HKLF' in itemName[:4]: nItems['HKLF'] -= 1 3966 elif 'PDF' in itemName[:3]: nItems['PDF'] -= 1 3967 DelItemList.append(item) 3968 item, cookie = self.GPXtree.GetNextChild(self.root, cookie) 3969 for item in DelItemList: 3970 self.GPXtree.Delete(item) 3971 self.PickId = 0 3972 self.PickIdText = None 3973 self.PatternId = 0 3974 if nItems['PWDR']: 3975 wx.CallAfter(G2plt.PlotPatterns,self,True) 3976 else: 3977 self.G2plotNB.Delete('Powder Patterns') 3978 if not nItems['IMG']: 3979 self.G2plotNB.Delete('2D Powder Image') 3980 if not nItems['HKLF']: 3981 self.G2plotNB.Delete('Structure Factors') 3982 if '3D Structure Factors' in self.G2plotNB.plotList: 3983 self.G2plotNB.Delete('3D Structure Factors') 3984 finally: 3985 dlg.Destroy() 3962 3986 3963 3987 def OnPlotDelete(self,event):
Note: See TracChangeset
for help on using the changeset viewer.