Changeset 3521 for trunk/GSASIIphsGUI.py
- Timestamp:
- Jul 31, 2018 2:57:22 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIphsGUI.py
r3511 r3521 310 310 self.ifConstr = True 311 311 self.Mtrans = False 312 self.kvec = [0.,0.,0.] 313 self.Bilbao = '' 312 314 self.Draw() 313 315 … … 371 373 Nops *= 2 372 374 self.SGData['SpnFlp'] = Nops*[1,] 375 del self.oldSGdata['MAXMAGN'] 373 376 wx.CallAfter(self.Draw) 374 377 … … 401 404 Obj = event.GetEventObject() 402 405 self.Mtrans = Obj.GetValue() 403 404 # self.SGData = self.Phase['General']['SGData'] 406 407 def OnBilbao(event): 408 import MAXMAGN 409 oldkvec = self.kvec 410 SGNo = G2spc.SpaceGroupNumber(self.SGData['SpGrp']) 411 if not SGNo+1: 412 wx.MessageBox('Nonstandard space group '+self.SGData['SpGrp']+' is not known by MAXMAGN', 413 caption='Bilbao MAXMAGN error',style=wx.ICON_EXCLAMATION) 414 return 415 dlg = G2G.MultiFloatDialog(self,title='Propagation vector',prompts=['kx','ky','kz'], 416 values=self.kvec,limits=[[0.,1.],[0.,1.],[0.,1.]],formats=['%4.1f','%4.1f','%4.1f']) 417 if dlg.ShowModal() == wx.ID_OK: 418 self.kvec = dlg.GetValues() 419 if self.kvec != oldkvec or 'MAXMAGN' not in self.oldSGdata: 420 self.oldSGdata['MAXMAGN'] = MAXMAGN.MAXMAGN(SGNo,self.kvec) 421 wx.CallAfter(self.Draw) 422 423 def OnBilbaoSG(event): 424 Obj = event.GetEventObject() 425 result = self.oldSGdata['MAXMAGN'][Obj.GetSelection()] 426 self.Bilbao = result[0] 427 numbs = [eval(item+'.') for item in result[2].split()] 428 self.Uvec = np.array(numbs[3::4]) 429 self.Trans = np.array([numbs[:3],numbs[4:7],numbs[8:11]]) 430 SpGrp = G2spc.StandardizeSpcName(result[0]) 431 self.SGData = G2spc.SpcGroup(SpGrp)[1] 432 text,table = G2spc.SGPrint(self.SGData) 433 self.Phase['General']['SGData'] = self.SGData 434 self.newSpGrp = SpGrp 435 msg = 'Space Group Information' 436 G2G.SGMessageBox(self.panel,msg,text,table).Show() 437 self.BNSlatt = self.SGData['SGLatt']+'_'+result[1] 438 GenSym,GenFlg,BNSsym = G2spc.GetGenSym(self.SGData) 439 self.SGData['BNSlattsym'] = [self.BNSlatt,BNSsym[self.BNSlatt]] 440 self.SGData['SGSpin'] = [1,]*len(self.SGData['SGSpin']) 441 Nops = len(self.SGData['SGOps'])*len(self.SGData['SGCen']) 442 if self.SGData['SGInv']: 443 Nops *= 2 444 self.SGData['SpnFlp'] = Nops*[1,] 445 wx.CallAfter(self.Draw) 446 405 447 self.panel.Destroy() 406 448 self.panel = wx.Panel(self) … … 456 498 mainSizer.Add(MatSizer) 457 499 if self.ifMag: 500 MagSizer = wx.BoxSizer(wx.HORIZONTAL) 458 501 Mtrans = wx.CheckBox(self.panel,label=' Use matrix transform?') 459 502 Mtrans.SetValue(self.Mtrans) 460 503 Mtrans.Bind(wx.EVT_CHECKBOX,OnMtrans) 461 mainSizer.Add(Mtrans,0,WACV) 504 MagSizer.Add(Mtrans,0,WACV) 505 Bilbao = wx.Button(self.panel,label='Run Bilbao MAXMAGN') 506 Bilbao.Bind(wx.EVT_BUTTON,OnBilbao) 507 MagSizer.Add(Bilbao,0,WACV) 508 mainSizer.Add(MagSizer,0,WACV) 462 509 mainSizer.Add(wx.StaticText(self.panel,label=' Old lattice parameters:'),0,WACV) 463 510 mainSizer.Add(wx.StaticText(self.panel,label= … … 474 521 sgSizer = wx.BoxSizer(wx.HORIZONTAL) 475 522 sgSizer.Add(wx.StaticText(self.panel,label=' Target space group: '),0,WACV) 476 SGTxt = wx.Button(self.panel,wx.ID_ANY,self.newSpGrp,size=(100,-1)) 477 SGTxt.Bind(wx.EVT_BUTTON,OnSpaceGroup) 478 sgSizer.Add(SGTxt,0,WACV) 523 if self.oldSGdata.get('MAXMAGN',[]): 524 Bilbao = [] 525 for result in self.oldSGdata['MAXMAGN']: 526 Bilbao.append(result[0]) 527 SGTxtB = wx.ComboBox(self.panel,choices=Bilbao,value=self.Bilbao,style=wx.CB_READONLY|wx.CB_DROPDOWN) 528 SGTxtB.Bind(wx.EVT_COMBOBOX,OnBilbaoSG) 529 sgSizer.Add(SGTxtB,0,WACV) 530 else: 531 SGTxt = wx.Button(self.panel,wx.ID_ANY,self.newSpGrp,size=(100,-1)) 532 SGTxt.Bind(wx.EVT_BUTTON,OnSpaceGroup) 533 sgSizer.Add(SGTxt,0,WACV) 479 534 mainSizer.Add(sgSizer,0,WACV) 480 535 if 'magnetic' not in self.Phase['General']['Type']:
Note: See TracChangeset
for help on using the changeset viewer.