Changeset 3600 for trunk/GSASIIpwdGUI.py
- Timestamp:
- Sep 13, 2018 4:04:15 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIpwdGUI.py
r3593 r3600 1019 1019 G2frame.GPXtree.SetItemPyData( 1020 1020 G2gd.GetGPXtreeItemId(G2frame,Id,'Background'),copy.deepcopy(data)) 1021 1022 def OnBackSave(event): 1023 pth = G2G.GetExportPath(G2frame) 1024 dlg = wx.FileDialog(G2frame, 'Set name to save GSAS-II background parameters file', pth, '', 1025 'background parameter files (*.pwdrbck)|*.pwdrbck',wx.FD_SAVE|wx.FD_OVERWRITE_PROMPT) 1026 try: 1027 if dlg.ShowModal() == wx.ID_OK: 1028 filename = dlg.GetPath() 1029 # make sure extension is .pwdrbck 1030 filename = os.path.splitext(filename)[0]+'.pwdrbck' 1031 File = open(filename,'w') 1032 File.write("#GSAS-II background parameter file; do not add/delete items!\n") 1033 File.write(str(data[0])+'\n') 1034 for item in data[1]: 1035 if item in ['nPeaks','background PWDR','nDebye'] or not len(data[1][item]): 1036 File.write(item+':'+str(data[1][item])+'\n') 1037 else: 1038 File.write(item+':\n') 1039 for term in data[1][item]: 1040 File.write(str(term)+'\n') 1041 File.close() 1042 print ('Background parameters saved to: '+filename) 1043 finally: 1044 dlg.Destroy() 1045 1046 def OnBackLoad(event): 1047 pth = G2G.GetImportPath(G2frame) 1048 if not pth: pth = '.' 1049 dlg = wx.FileDialog(G2frame, 'Choose GSAS-II background parameters file', pth, '', 1050 'background parameter files (*.pwdrbck)|*.pwdrbck',wx.FD_OPEN) 1051 try: 1052 if dlg.ShowModal() == wx.ID_OK: 1053 newback = [[],{}] 1054 filename = dlg.GetPath() 1055 File = open(filename,'r') 1056 S = File.readline() 1057 if S[0] == '#': #skip the heading 1058 S = File.readline() #should contain the std. bck fxn 1059 newback[0] = eval(S[:-1]) 1060 S = File.readline() 1061 while S: 1062 [item,vals] = S[:-1].split(':') 1063 if item in ['nPeaks','nDebye']: 1064 newback[1][item] = int(vals) 1065 elif 'PWDR' in item: 1066 newback[1][item] = eval(vals) 1067 elif item in ['FixedPoints','debyeTerms','peakList']: 1068 newback[1][item] = [] 1069 S = File.readline() 1070 while ':' not in S: 1071 newback[1][item].append(eval(S[:-1])) 1072 S = File.readline() 1073 else: 1074 continue 1075 S = File.readline() 1076 File.close() 1077 G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId,'Background'),newback) 1078 finally: 1079 dlg.Destroy() 1080 G2plt.PlotPatterns(G2frame,plotType='PWDR') 1081 wx.CallLater(100,UpdateBackground,G2frame,newback) 1021 1082 1022 1083 def OnBkgFit(event): … … 1110 1171 return 1111 1172 else: 1112 d el data[1]['FixedPoints']1173 data[1]['FixedPoints'] = [] 1113 1174 G2plt.PlotPatterns(G2frame,plotType='PWDR') 1114 1175 … … 1356 1417 G2frame.Bind(wx.EVT_MENU,OnBackCopy,id=G2G.wxID_BACKCOPY) 1357 1418 G2frame.Bind(wx.EVT_MENU,OnBackFlagCopy,id=G2G.wxID_BACKFLAGCOPY) 1419 G2frame.Bind(wx.EVT_MENU,OnBackSave,id=G2G.wxID_BACKSAVE) 1420 G2frame.Bind(wx.EVT_MENU,OnBackLoad,id=G2G.wxID_BACKLOAD) 1358 1421 G2frame.Bind(wx.EVT_MENU,OnPeaksMove,id=G2G.wxID_BACKPEAKSMOVE) 1359 1422 G2frame.Bind(wx.EVT_MENU,OnMakeRDF,id=G2G.wxID_MAKEBACKRDF)
Note: See TracChangeset
for help on using the changeset viewer.