Changeset 249 for trunk/GSASII.py
- Timestamp:
- Feb 18, 2011 3:36:51 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASII.py
r248 r249 162 162 def _init_coll_Export_Items(self,parent): 163 163 self.ExportPattern = parent.Append(help='Select PWDR item to enable',id=wxID_EXPORTPATTERN, kind=wx.ITEM_NORMAL, 164 text='Export Powder Pattern ...')164 text='Export Powder Patterns...') 165 165 self.ExportPeakList = parent.Append(help='',id=wxID_EXPORTPEAKLIST, kind=wx.ITEM_NORMAL, 166 166 text='Export All Peak Lists...') … … 176 176 self.ExportPhase.Enable(False) 177 177 self.ExportCIF.Enable(False) 178 self.Bind(wx.EVT_MENU, self.OnExportPattern , id=wxID_EXPORTPATTERN)178 self.Bind(wx.EVT_MENU, self.OnExportPatterns, id=wxID_EXPORTPATTERN) 179 179 self.Bind(wx.EVT_MENU, self.OnExportPeakList, id=wxID_EXPORTPEAKLIST) 180 180 self.Bind(wx.EVT_MENU, self.OnExportHKL, id=wxID_EXPORTHKL) … … 358 358 v = Iparm['INS 1PRCF11'].split() 359 359 data.extend([float(v[0]),float(v[1]),float(v[2])]) #get GU, GV & GW - always here 360 try: 361 azm = float(Iparm['INS 1DETAZM']) 362 except KeyError: #not in this Iparm file 363 azm = 0.0 360 364 v = Iparm['INS 1PRCF12'].split() 361 365 if v1[0] == 3: 362 data.extend([float(v[0]),float(v[1]),float(v[2])+float(v[3], 0.0)]) #get LX, LY, S+H/L & azimuth366 data.extend([float(v[0]),float(v[1]),float(v[2])+float(v[3],azm)]) #get LX, LY, S+H/L & azimuth 363 367 else: 364 data.extend([0.0,0.0,0.002, 0.0]) #OK defaults if fxn #3 not 1st in iprm file368 data.extend([0.0,0.0,0.002,azm]) #OK defaults if fxn #3 not 1st in iprm file 365 369 codes.extend([0,0,0,0,0,0,0]) 366 370 self.PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Instrument Parameters'),[tuple(data),data,codes,names]) … … 900 904 901 905 def OnDataDelete(self, event): 902 TextList = [ ]906 TextList = ['All Data'] 903 907 DelList = [] 904 908 DelItemList = [] 909 ifPWDR = False 910 ifIMG = False 911 ifHKLF = False 905 912 if self.PatternTree.GetCount(): 906 913 item, cookie = self.PatternTree.GetFirstChild(self.root) … … 908 915 name = self.PatternTree.GetItemText(item) 909 916 if 'PWDR' in name or 'HKLF' in name or 'IMG' in name: 917 if 'PWDR' in name: ifPWDR = True 918 if 'IMG' in name: ifIMG = True 919 if 'HKLF' in name: ifHKLF = True 910 920 TextList.append(name) 911 item, cookie = self.PatternTree.GetNextChild(self.root, cookie) 921 item, cookie = self.PatternTree.GetNextChild(self.root, cookie) 922 if ifPWDR: TextList.insert(1,'All PWDR') 923 if ifIMG: TextList.insert(1,'All IMG') 924 if ifHKLF: TextList.insert(1,'All HKLF') 912 925 dlg = wx.MultiChoiceDialog(self, 'Which data to delete?', 'Delete data', TextList, wx.CHOICEDLG_STYLE) 913 926 try: … … 915 928 result = dlg.GetSelections() 916 929 for i in result: DelList.append(TextList[i]) 930 if 'All Data' in DelList: 931 DelList = [item for item in TextList if item[:3] != 'All'] 932 elif 'All PWDR' in DelList: 933 DelList = [item for item in TextList if item[:4] == 'PWDR'] 934 elif 'All IMG' in DelList: 935 DelList = [item for item in TextList if item[:3] == 'IMG'] 936 elif 'All HKLF' in DelList: 937 DelList = [item for item in TextList if item[:4] == 'HKLF'] 917 938 item, cookie = self.PatternTree.GetFirstChild(self.root) 918 939 while item: … … 1024 1045 1025 1046 def OnImportPattern(self,event): 1026 dlg = wx.FileDialog(self, 'Choose nonGSAS powder file', '.', '', 1027 '(*.*)|*.*',wx.OPEN) 1047 dlg = wx.FileDialog(self, 'Choose nonGSAS powder file', '.', '', 1048 '(*.*)|*.*',wx.OPEN) 1049 if self.dirname: 1050 dlg.SetDirectory(self.dirname) 1051 try: 1052 if dlg.ShowModal() == wx.ID_OK: 1053 self.powderfile = dlg.GetPath() 1054 self.dirname = dlg.GetDirectory() 1055 finally: 1056 dlg.Destroy() 1057 1058 def OnImportHKL(self,event): 1059 dlg = wx.FileDialog(self, 'Choose structure factor file', '.', '', 1060 '(*.*)|*.*',wx.OPEN) 1061 if self.dirname: 1062 dlg.SetDirectory(self.dirname) 1063 try: 1064 if dlg.ShowModal() == wx.ID_OK: 1065 self.HKLfile = dlg.GetPath() 1066 self.dirname = dlg.GetDirectory() 1067 finally: 1068 dlg.Destroy() 1069 1070 def OnImportPhase(self,event): 1071 dlg = wx.FileDialog(self, 'Choose GSAS EXP file', '.', '', 1072 'EXP file (*.EXP)|*.EXP',wx.OPEN) 1073 if self.dirname: 1074 dlg.SetDirectory(self.dirname) 1075 try: 1076 Phase = {} 1077 if dlg.ShowModal() == wx.ID_OK: 1078 EXPfile = dlg.GetPath() 1079 self.dirname = dlg.GetDirectory() 1080 Phase = G2IO.ReadEXPPhase(self,EXPfile) 1081 finally: 1082 dlg.Destroy() 1083 if Phase: 1084 PhaseName = Phase['General']['Name'] 1085 if not G2gd.GetPatternTreeItemId(self,self.root,'Phases'): 1086 sub = self.PatternTree.AppendItem(parent=self.root,text='Phases') 1087 else: 1088 sub = G2gd.GetPatternTreeItemId(self,self.root,'Phases') 1089 sub = self.PatternTree.AppendItem(parent=sub,text=PhaseName) 1090 self.PatternTree.SetItemPyData(sub,Phase) 1091 1092 def OnImportPDB(self,event): 1093 dlg = wx.FileDialog(self, 'Choose PDB file', '.', '', 1094 'PDB file (*.pdb,*.ent)|*.pdb;*.ent|All files (*.*)|*.*',wx.OPEN) 1095 if self.dirname: 1096 dlg.SetDirectory(self.dirname) 1097 try: 1098 if dlg.ShowModal() == wx.ID_OK: 1099 PDBfile = dlg.GetPath() 1100 self.dirname = dlg.GetDirectory() 1101 Phase = G2IO.ReadPDBPhase(PDBfile) 1102 finally: 1103 dlg.Destroy() 1104 if Phase: 1105 PhaseName = Phase['General']['Name'] 1106 if not G2gd.GetPatternTreeItemId(self,self.root,'Phases'): 1107 sub = self.PatternTree.AppendItem(parent=self.root,text='Phases') 1108 else: 1109 sub = G2gd.GetPatternTreeItemId(self,self.root,'Phases') 1110 sub = self.PatternTree.AppendItem(parent=sub,text=PhaseName) 1111 self.PatternTree.SetItemPyData(sub,Phase) 1112 1113 def OnImportCIF(self,event): 1114 dlg = wx.FileDialog(self, 'Choose CIF file', '.', '', 1115 'CIF file (*.cif)|*.cif',wx.OPEN) 1116 if self.dirname: 1117 dlg.SetDirectory(self.dirname) 1118 try: 1119 if dlg.ShowModal() == wx.ID_OK: 1120 CIFfile = dlg.GetPath() 1121 self.dirname = dlg.GetDirectory() 1122 Phase = G2IO.ReadCIFPhase(CIFfile) 1123 finally: 1124 dlg.Destroy() 1125 if Phase: 1126 PhaseName = Phase['General']['Name'] 1127 if not G2gd.GetPatternTreeItemId(self,self.root,'Phases'): 1128 sub = self.PatternTree.AppendItem(parent=self.root,text='Phases') 1129 else: 1130 sub = G2gd.GetPatternTreeItemId(self,self.root,'Phases') 1131 sub = self.PatternTree.AppendItem(parent=sub,text=PhaseName) 1132 self.PatternTree.SetItemPyData(sub,Phase) 1133 1134 def OnExportPatterns(self,event): 1135 names = ['All'] 1136 exports = [] 1137 item, cookie = self.PatternTree.GetFirstChild(self.root) 1138 while item: 1139 name = self.PatternTree.GetItemText(item) 1140 if 'PWDR' in name: 1141 names.append(name) 1142 item, cookie = self.PatternTree.GetNextChild(self.root, cookie) 1143 if names: 1144 dlg = wx.MultiChoiceDialog(self,'Select','Powder patterns to export',names) 1145 if dlg.ShowModal() == wx.ID_OK: 1146 sel = dlg.GetSelections() 1147 if sel[0] == 0: 1148 exports = names[1:] 1149 else: 1150 for x in sel: 1151 exports.append(names[x]) 1152 dlg.Destroy() 1153 if exports: 1154 dlg = wx.FileDialog(self, 'Choose output powder file name', '.', '', 1155 'GSAS fxye file (*.fxye)|*.fxye|xye file (*.xye)|*.xye', 1156 wx.FD_SAVE|wx.FD_OVERWRITE_PROMPT) 1028 1157 if self.dirname: 1029 1158 dlg.SetDirectory(self.dirname) 1030 1159 try: 1031 1160 if dlg.ShowModal() == wx.ID_OK: 1032 self.powderfile = dlg.GetPath() 1161 powderfile = dlg.GetPath() 1162 if 'fxye' in powderfile: 1163 G2IO.powderFxyeSave(self,exports,powderfile) 1164 else: #just xye 1165 G2IO.powderXyeSave(self,exports,powderfile) 1033 1166 self.dirname = dlg.GetDirectory() 1034 1167 finally: 1035 1168 dlg.Destroy() 1036 1037 def OnImportHKL(self,event):1038 dlg = wx.FileDialog(self, 'Choose structure factor file', '.', '',1039 '(*.*)|*.*',wx.OPEN)1040 if self.dirname:1041 dlg.SetDirectory(self.dirname)1042 try:1043 if dlg.ShowModal() == wx.ID_OK:1044 self.HKLfile = dlg.GetPath()1045 self.dirname = dlg.GetDirectory()1046 finally:1047 dlg.Destroy()1048 1049 def OnImportPhase(self,event):1050 dlg = wx.FileDialog(self, 'Choose GSAS EXP file', '.', '',1051 'EXP file (*.EXP)|*.EXP',wx.OPEN)1052 if self.dirname:1053 dlg.SetDirectory(self.dirname)1054 try:1055 Phase = {}1056 if dlg.ShowModal() == wx.ID_OK:1057 EXPfile = dlg.GetPath()1058 self.dirname = dlg.GetDirectory()1059 Phase = G2IO.ReadEXPPhase(self,EXPfile)1060 finally:1061 dlg.Destroy()1062 if Phase:1063 PhaseName = Phase['General']['Name']1064 if not G2gd.GetPatternTreeItemId(self,self.root,'Phases'):1065 sub = self.PatternTree.AppendItem(parent=self.root,text='Phases')1066 else:1067 sub = G2gd.GetPatternTreeItemId(self,self.root,'Phases')1068 sub = self.PatternTree.AppendItem(parent=sub,text=PhaseName)1069 self.PatternTree.SetItemPyData(sub,Phase)1070 1071 def OnImportPDB(self,event):1072 dlg = wx.FileDialog(self, 'Choose PDB file', '.', '',1073 'PDB file (*.pdb,*.ent)|*.pdb;*.ent|All files (*.*)|*.*',wx.OPEN)1074 if self.dirname:1075 dlg.SetDirectory(self.dirname)1076 try:1077 if dlg.ShowModal() == wx.ID_OK:1078 PDBfile = dlg.GetPath()1079 self.dirname = dlg.GetDirectory()1080 Phase = G2IO.ReadPDBPhase(PDBfile)1081 finally:1082 dlg.Destroy()1083 if Phase:1084 PhaseName = Phase['General']['Name']1085 if not G2gd.GetPatternTreeItemId(self,self.root,'Phases'):1086 sub = self.PatternTree.AppendItem(parent=self.root,text='Phases')1087 else:1088 sub = G2gd.GetPatternTreeItemId(self,self.root,'Phases')1089 sub = self.PatternTree.AppendItem(parent=sub,text=PhaseName)1090 self.PatternTree.SetItemPyData(sub,Phase)1091 1092 def OnImportCIF(self,event):1093 dlg = wx.FileDialog(self, 'Choose CIF file', '.', '',1094 'CIF file (*.cif)|*.cif',wx.OPEN)1095 if self.dirname:1096 dlg.SetDirectory(self.dirname)1097 try:1098 if dlg.ShowModal() == wx.ID_OK:1099 CIFfile = dlg.GetPath()1100 self.dirname = dlg.GetDirectory()1101 Phase = G2IO.ReadCIFPhase(CIFfile)1102 finally:1103 dlg.Destroy()1104 if Phase:1105 PhaseName = Phase['General']['Name']1106 if not G2gd.GetPatternTreeItemId(self,self.root,'Phases'):1107 sub = self.PatternTree.AppendItem(parent=self.root,text='Phases')1108 else:1109 sub = G2gd.GetPatternTreeItemId(self,self.root,'Phases')1110 sub = self.PatternTree.AppendItem(parent=sub,text=PhaseName)1111 self.PatternTree.SetItemPyData(sub,Phase)1112 1113 def OnExportPattern(self,event):1114 dlg = wx.FileDialog(self, 'Choose output powder file name', '.', '',1115 'GSAS fxye file (*.fxye)|*.fxye|xye file (*.xye)|*.xye',1116 wx.FD_SAVE|wx.FD_OVERWRITE_PROMPT)1117 if self.dirname:1118 dlg.SetDirectory(self.dirname)1119 try:1120 if dlg.ShowModal() == wx.ID_OK:1121 powderfile = dlg.GetPath()1122 if 'fxye' in powderfile:1123 G2IO.powderFxyeSave(self,powderfile)1124 else: #just xye1125 G2IO.powderXyeSave(self,powderfile)1126 self.dirname = dlg.GetDirectory()1127 finally:1128 dlg.Destroy()1129 1169 1130 1170 def OnExportPeakList(self,event):
Note: See TracChangeset
for help on using the changeset viewer.