Changeset 447 for trunk/GSASIIpwdGUI.py
- Timestamp:
- Dec 20, 2011 11:46:45 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIpwdGUI.py
r443 r447 257 257 258 258 def UpdateBackground(self,data): 259 if len(data) < 2: #add Debye diffuse scattering here 260 data.append({'nDebye':0,'debyeTerms':[]}) 259 if len(data) < 2: #add Debye diffuse & peaks scattering here 260 data.append({'nDebye':0,'debyeTerms':[],'nPeaks':0,'peaksList':[]}) 261 if 'nPeaks' not in data[1]: 262 data[1].update({'nPeaks':0,'peaksList':[]}) 261 263 ValObj = {} 262 264 … … 374 376 elif key == 78: #'N' 375 377 for row in range(debyeGrid.GetNumberRows()): data[1]['debyeTerms'][row][col]=False 378 376 379 377 380 debSizer = wx.BoxSizer(wx.VERTICAL) … … 399 402 debyeGrid.AutoSizeColumns(False) 400 403 debSizer.Add(debyeGrid) 401 return debSizer 404 return debSizer 405 406 def PeaksSizer(): 407 408 def OnPeaks(event): 409 data[1]['nPeaks'] = int(peaks.GetValue()) 410 M = len(data[1]['peaksList']) 411 N = data[1]['nPeaks'] 412 if N > M: #add terms 413 for i in range(M,N): 414 data[1]['peaksList'].append([1.0,False,1.0,False,0.10,False,0.10,False]) 415 elif N < M: #delete terms 416 for i in range(N,M): 417 del(data[1]['peaksList'][-1]) 418 UpdateBackground(self,data) 419 420 def KeyEditPeakGrid(event): 421 colList = peaksGrid.GetSelectedCols() 422 if event.GetKeyCode() == wx.WXK_RETURN: 423 event.Skip(True) 424 elif event.GetKeyCode() == wx.WXK_CONTROL: 425 event.Skip(True) 426 elif event.GetKeyCode() == wx.WXK_SHIFT: 427 event.Skip(True) 428 elif colList: 429 peaksGrid.ClearSelection() 430 key = event.GetKeyCode() 431 for col in colList: 432 if peaksTable.GetTypeName(0,col) == wg.GRID_VALUE_BOOL: 433 if key == 89: #'Y' 434 for row in range(peaksGrid.GetNumberRows()): data[1]['peaksList'][row][col]=True 435 elif key == 78: #'N' 436 for row in range(peaksGrid.GetNumberRows()): data[1]['peaksList'][row][col]=False 437 438 peaksSizer = wx.BoxSizer(wx.VERTICAL) 439 topSizer = wx.BoxSizer(wx.HORIZONTAL) 440 topSizer.Add(wx.StaticText(self.dataDisplay,-1,' Peaks in background: '),0,wx.ALIGN_CENTER_VERTICAL) 441 topSizer.Add(wx.StaticText(self.dataDisplay,-1,' No. peaks: '),0,wx.ALIGN_CENTER_VERTICAL) 442 peaks = wx.ComboBox(self.dataDisplay,-1,value=str(data[1]['nPeaks']),choices=[str(i) for i in range(12)], 443 style=wx.CB_READONLY|wx.CB_DROPDOWN) 444 peaks.Bind(wx.EVT_COMBOBOX,OnPeaks) 445 topSizer.Add(peaks,0,wx.ALIGN_CENTER_VERTICAL) 446 topSizer.Add((5,0),0) 447 peaksSizer.Add(topSizer) 448 if data[1]['nPeaks']: 449 peaksSizer.Add(wx.StaticText(self.dataDisplay,-1,' Peak list:'),0,wx.ALIGN_CENTER_VERTICAL) 450 rowLabels = [] 451 for i in range(len(data[1]['peaksList'])): rowLabels.append(str(i)) 452 colLabels = ['pos','refine','int','refine','sig','refine','gam','refine'] 453 Types = [wg.GRID_VALUE_FLOAT+':10,2',wg.GRID_VALUE_BOOL, 454 wg.GRID_VALUE_FLOAT+':10,3',wg.GRID_VALUE_BOOL, 455 wg.GRID_VALUE_FLOAT+':10,3',wg.GRID_VALUE_BOOL, 456 wg.GRID_VALUE_FLOAT+':10,5',wg.GRID_VALUE_BOOL] 457 peaksTable = G2gd.Table(data[1]['peaksList'],rowLabels=rowLabels,colLabels=colLabels,types=Types) 458 peaksGrid = G2gd.GSGrid(parent=self.dataDisplay) 459 peaksGrid.SetTable(peaksTable, True) 460 peaksGrid.Bind(wx.EVT_KEY_DOWN, KeyEditPeakGrid) 461 peaksGrid.AutoSizeColumns(False) 462 peaksSizer.Add(peaksGrid) 463 return peaksSizer 402 464 403 465 if self.dataDisplay: … … 415 477 mainSizer.Add((0,5),0) 416 478 mainSizer.Add(DebyeSizer()) 479 mainSizer.Add((0,5),0) 480 mainSizer.Add(PeaksSizer()) 417 481 mainSizer.Layout() 418 482 self.dataDisplay.SetSizer(mainSizer)
Note: See TracChangeset
for help on using the changeset viewer.