Changeset 4965
- Timestamp:
- Jun 21, 2021 11:32:01 AM (2 years ago)
- Location:
- trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIIO.py
r4956 r4965 698 698 # GSASIIpath.IPyBreak() 699 699 Id = G2frame.GPXtree.AppendItem(parent=G2frame.root,text=datum[0]) 700 if datum[0] == 'Phases' and GSASIIpath.GetConfigValue('SeparateHistPhaseTreeItem',False): 701 G2frame.GPXtree.AppendItem(parent=G2frame.root,text='Hist/Phase Params') 700 702 if updateFromSeq and datum[0] == 'Phases': 701 703 for pdata in data[1:]: … … 828 830 data = [] 829 831 name = G2frame.GPXtree.GetItemText(item) 832 if name.startswith('Hist/Phase '): # skip over this 833 item, cookie = G2frame.GPXtree.GetNextChild(G2frame.root, cookie) 834 continue 830 835 data.append([name,G2frame.GPXtree.GetItemPyData(item)]) 831 836 item2, cookie2 = G2frame.GPXtree.GetFirstChild(item) -
trunk/GSASIIdataGUI.py
r4951 r4965 86 86 import GSASIIfpaGUI as G2fpa 87 87 import GSASIIseqGUI as G2seq 88 import GSASIIddataGUI as G2ddG 88 89 89 90 try: … … 1148 1149 newPhaseList.append(PhaseName) 1149 1150 print(u'Read phase {} from file {}'.format(PhaseName,self.lastimport)) 1150 if not GetGPXtreeItemId(self,self.root,'Phases'): 1151 sub = self.GPXtree.AppendItem(parent=self.root,text='Phases') 1152 else: 1153 sub = GetGPXtreeItemId(self,self.root,'Phases') 1151 sub = FindPhaseItem(self) 1154 1152 psub = self.GPXtree.AppendItem(parent=sub,text=PhaseName) 1155 1153 self.GPXtree.SetItemPyData(psub,rd.Phase) … … 3940 3938 def OnAddPhase(self,event): 3941 3939 'Add a new, empty phase to the tree. Called by Data/Add Phase menu' 3942 self.CheckNotebook()3943 if not GetGPXtreeItemId(self,self.root,'Phases'):3944 sub = self.GPXtree.AppendItem(parent=self.root,text='Phases')3945 else:3946 sub = GetGPXtreeItemId(self,self.root,'Phases')3947 3940 PhaseName = '' 3948 3941 dlg = wx.TextEntryDialog(None,'Enter a name for this phase','Phase Name Entry','New phase', … … 3950 3943 if dlg.ShowModal() == wx.ID_OK: 3951 3944 PhaseName = dlg.GetValue() 3952 dlg.Destroy() 3945 self.CheckNotebook() 3946 sub = FindPhaseItem(self) 3947 dlg.Destroy() 3948 else: 3949 dlg.Destroy() 3950 return 3953 3951 if not GetGPXtreeItemId(self,self.root,'Restraints'): 3954 3952 subr = self.GPXtree.AppendItem(parent=self.root,text='Restraints') … … 7575 7573 G2frame.dataWindow.GetSizer().Add( 7576 7574 wx.StaticText(G2frame.dataWindow,wx.ID_ANY,'Select one phase to see its restraints')) 7575 elif G2frame.GPXtree.GetItemText(item).startswith('Hist/Phase '): 7576 #import imp 7577 #imp.reload(G2ddG) 7578 G2ddG.MakeHistPhaseWin(G2frame) 7579 elif GSASIIpath.GetConfigValue('debug'): 7580 print('Unknown tree item',G2frame.GPXtree.GetItemText(item)) 7577 7581 ############################################################################ 7578 7582 # process second-level entries in tree … … 7786 7790 else: 7787 7791 G2frame.SetMenuBar(menu) 7788 7792 7793 def FindPhaseItem(G2frame): 7794 '''Finds the Phase item in the tree. If not present it adds one 7795 also adding 'Hist/Phase Params' if config var SeparateHistPhaseTreeItem 7796 is set as True. 7797 ''' 7798 if not GetGPXtreeItemId(G2frame,G2frame.root,'Phases'): 7799 sub = G2frame.GPXtree.AppendItem(parent=G2frame.root,text='Phases') 7800 if GSASIIpath.GetConfigValue('SeparateHistPhaseTreeItem',False): 7801 G2frame.GPXtree.AppendItem(parent=G2frame.root,text='Hist/Phase Params') 7802 else: 7803 sub = GetGPXtreeItemId(G2frame,G2frame.root,'Phases') 7804 return sub 7805 7789 7806 if __name__ == '__main__': 7790 7807 ShowVersions() -
trunk/GSASIIddataGUI.py
r4846 r4965 1035 1035 1036 1036 ###################################################################### 1037 ### Beginning of UpdateDData execution here1037 #### Beginning of UpdateDData execution here 1038 1038 ###################################################################### 1039 1039 G2frame.SetStatusText('',1) … … 1079 1079 mainSizer = wx.BoxSizer(wx.VERTICAL) 1080 1080 topSizer = wx.BoxSizer(wx.HORIZONTAL) 1081 topSizer.Add(wx.StaticText(DData,wx.ID_ANY,' Histogram data for '+PhaseName+':'),0,wx.LEFT,5)1081 topSizer.Add(wx.StaticText(DData,wx.ID_ANY,' Histogram data for Phase '+PhaseName+':'),0,wx.LEFT,5) 1082 1082 # add help button to bring up help web page - at right sede of window 1083 1083 topSizer.Add((-1,-1),1,wx.EXPAND) … … 1107 1107 1108 1108 G2phG.SetPhaseWindow(DData,mainSizer,Scroll=Scroll) 1109 1110 def MakeHistPhaseWin(G2frame): 1111 '''Display Phase/Data info from Hist/Phase tree item 1112 ''' 1113 TabSelectionIdDict = {} 1114 def OnSelectPage(event): 1115 'Called when an item is selected from the Select page menu' 1116 tabname = TabSelectionIdDict.get(event.GetId()) # lookup phase 1117 if not tabname: 1118 print ('Warning: menu item not in dict! id= %d'%event.GetId()) 1119 return 1120 # find the tab matching the phase 1121 for i,page in enumerate(phaseList): 1122 if tabname == phaseList[i]: 1123 HAPBook.SetSelection(i) 1124 FillDDataWindow(i) # may result in a double paint on some OSs 1125 return 1126 else: 1127 print ("Warning: tab "+tabname+" was not found") 1128 1129 def OnPageChanged(event): 1130 'respond to a notebook tab' 1131 page = event.GetSelection() 1132 FillDDataWindow(page) 1133 1134 def FillDDataWindow(page): 1135 'display the DData info' 1136 G2frame.HistPhaseLastSel = phaseList[page] 1137 data = G2frame.GPXtree.GetItemPyData(phaseIds[page]) 1138 G2plt.PlotSizeStrainPO(G2frame,data,hist='',Start=True) 1139 UpdateDData(G2frame,DData[page],data) 1140 1141 #### start of MakeHistPhaseWin 1142 G2frame.dataWindow.ClearData() 1143 HAPBook = G2G.GSNoteBook(parent=G2frame.dataWindow) 1144 G2frame.dataWindow.GetSizer().Add(HAPBook,1,wx.ALL|wx.EXPAND,1) 1145 phaseList = [] 1146 phaseIds = [] 1147 DData = [] 1148 sub = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Phases') 1149 item, cookie = G2frame.GPXtree.GetFirstChild(sub) 1150 while item: # loop over phases 1151 phaseName = G2frame.GPXtree.GetItemText(item) 1152 phaseIds.append(item) 1153 phaseList.append(phaseName) 1154 item, cookie = G2frame.GPXtree.GetNextChild(sub, cookie) 1155 HAPtab = wx.ScrolledWindow(HAPBook) 1156 HAPBook.AddPage(HAPtab,phaseName) 1157 DData.append(HAPtab) 1158 HAPBook.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CHANGED, OnPageChanged) 1159 # set up "Select tab" menu contents 1160 G2gd.SetDataMenuBar(G2frame,G2frame.dataWindow.DataMenu) 1161 mid = G2frame.dataWindow.DataMenu.FindMenu('Select tab') 1162 menu = G2frame.dataWindow.DataMenu.GetMenu(mid) 1163 items = menu.GetMenuItems() 1164 for item in items: 1165 menu.Remove(item) 1166 if len(phaseList) == 0: return 1167 for i,page in enumerate(phaseList): 1168 Id = wx.NewId() 1169 if menu.FindItem(page) >= 0: continue # is tab already in menu? 1170 menu.Append(Id,page,'') 1171 TabSelectionIdDict[Id] = page 1172 G2frame.Bind(wx.EVT_MENU, OnSelectPage, id=Id) 1173 # display the last-selected phase or the 1st 1174 try: 1175 G2frame.HistPhaseLastSel 1176 except: 1177 G2frame.HistPhaseLastSel = phaseList[0] 1178 if G2frame.HistPhaseLastSel in phaseList: 1179 page = phaseList.index(G2frame.HistPhaseLastSel) 1180 else: 1181 page = 0 1182 # TODO: commands in G2frame.dataWindow.DataMenu/"Edit Phase" need to be reimplemented 1183 HAPBook.SetSelection(page) 1184 FillDDataWindow(page) 1185 -
trunk/GSASIIphsGUI.py
r4964 r4965 12770 12770 G2gd.SetDataMenuBar(G2frame,G2frame.dataWindow.DataGeneral) 12771 12771 UpdateGeneral() 12772 elif text == 'Data': 12772 elif text == 'Data': # only when conf 'SeparateHistPhaseTreeItem' is False 12773 12773 G2gd.SetDataMenuBar(G2frame,G2frame.dataWindow.DataMenu) 12774 12774 G2plt.PlotSizeStrainPO(G2frame,data,hist='',Start=True) … … 13056 13056 G2frame.phaseDisplay.AddPage(General,'General') 13057 13057 Pages.append('General') 13058 DData = wx.ScrolledWindow(G2frame.phaseDisplay) 13059 G2frame.phaseDisplay.AddPage(DData,'Data') 13060 Pages.append('Data') 13058 if not GSASIIpath.GetConfigValue('SeparateHistPhaseTreeItem',False): 13059 DData = wx.ScrolledWindow(G2frame.phaseDisplay) 13060 G2frame.phaseDisplay.AddPage(DData,'Data') 13061 Pages.append('Data') 13061 13062 Atoms = G2G.GSGrid(G2frame.phaseDisplay) 13062 13063 # Atoms.SetScrollRate(0,0) -
trunk/GSASIIpwdGUI.py
r4910 r4965 3990 3990 3991 3991 def MakeNewPhase(event): 3992 if not G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Phases'):3993 sub = G2frame.GPXtree.AppendItem(parent=G2frame.root,text='Phases')3994 else:3995 sub = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,'Phases')3996 3992 PhaseName = '' 3997 3993 dlg = wx.TextEntryDialog(None,'Enter a name for this phase','Phase Name Entry','New phase', … … 4005 4001 break 4006 4002 cell = Cell[2:10] 4003 sub = G2gd.FindPhaseItem(G2frame) 4007 4004 sub = G2frame.GPXtree.AppendItem(parent=sub,text=PhaseName) 4008 4005 E,SGData = G2spc.SpcGroup(controls[13]) -
trunk/GSASIIrestrGUI.py
r4914 r4965 2158 2158 print ("Warning: tab "+tabname+" was not found") 2159 2159 2160 # UpdateRestraints execution starts here2160 #### UpdateRestraints execution starts here 2161 2161 try: 2162 2162 phasedata = G2frame.GetPhaseData()[phaseName] -
trunk/config_example.py
r4918 r4965 254 254 shown. This should not need to be changed manually. 255 255 ''' 256 257 SeparateHistPhaseTreeItem = False 258 '''When this is set to True, the parameters for each histogram in each phase 259 are placed in a separate 1st-level tree item rather than in the Data tab 260 for each phase. Requires GSAS-II be restarted to take effect. Default is False. 261 262 This option is under development and is not fully tested. 263 '''
Note: See TracChangeset
for help on using the changeset viewer.