Changeset 4801 for trunk/GSASIIphsGUI.py
- Timestamp:
- Feb 5, 2021 10:14:23 PM (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIphsGUI.py
r4789 r4801 4571 4571 wx.CallAfter(UpdateRMC) 4572 4572 4573 def GetAtmChoice( RMCPdict):4573 def GetAtmChoice(pnl,RMCPdict): 4574 4574 4575 4575 Indx = {} … … 4604 4604 nTypes = len(RMCPdict['aTypes']) 4605 4605 atmChoice = wx.FlexGridSizer(nTypes+1,5,5) 4606 atmChoice.Add(wx.StaticText( G2frame.FRMC,label=' Setatom ordering: '),0,WACV)4606 atmChoice.Add(wx.StaticText(pnl,label='atom ordering: '),0,WACV) 4607 4607 for iType in range(nTypes): 4608 4608 atChoice = RMCPdict['atSeq'][iType:] 4609 atmSel = wx.ComboBox( G2frame.FRMC,choices=atChoice,style=wx.CB_DROPDOWN|wx.TE_READONLY)4609 atmSel = wx.ComboBox(pnl,choices=atChoice,style=wx.CB_DROPDOWN|wx.TE_READONLY) 4610 4610 atmSel.SetStringSelection(RMCPdict['atSeq'][iType]) 4611 4611 atmSel.Bind(wx.EVT_COMBOBOX,OnAtSel) … … 4613 4613 atmChoice.Add(atmSel,0,WACV) 4614 4614 if RMCPdict['useBVS']: 4615 atmChoice.Add(wx.StaticText( G2frame.FRMC,label=' Select valence: '),0,WACV)4615 atmChoice.Add(wx.StaticText(pnl,label='Valence: '),0,WACV) 4616 4616 for itype in range(nTypes): 4617 4617 valChoice = atmdata.BVSoxid[RMCPdict['atSeq'][itype]] 4618 valSel = wx.ComboBox( G2frame.FRMC,choices=valChoice,style=wx.CB_DROPDOWN|wx.TE_READONLY)4618 valSel = wx.ComboBox(pnl,choices=valChoice,style=wx.CB_DROPDOWN|wx.TE_READONLY) 4619 4619 try: 4620 4620 valSel.SetStringSelection(RMCPdict['Oxid'][itype][0]) … … 4624 4624 Indx[valSel.GetId()] = itype 4625 4625 atmChoice.Add(valSel,0,WACV) 4626 atmChoice.Add(wx.StaticText( G2frame.FRMC,label='BVS weight: '),0,WACV)4626 atmChoice.Add(wx.StaticText(pnl,label='BVS weight: '),0,WACV) 4627 4627 for itype in range(nTypes): 4628 atmChoice.Add(G2G.ValidatedTxtCtrl( G2frame.FRMC,RMCPdict['Oxid'][itype],1,xmin=0.),0,WACV)4628 atmChoice.Add(G2G.ValidatedTxtCtrl(pnl,RMCPdict['Oxid'][itype],1,xmin=0.),0,WACV) 4629 4629 if G2frame.RMCchoice == 'RMCProfile': 4630 atmChoice.Add(wx.StaticText( G2frame.FRMC,label=' Setmax shift: '),0,WACV)4630 atmChoice.Add(wx.StaticText(pnl,label='max shift: '),0,WACV) 4631 4631 for iType in range(nTypes): 4632 4632 atId = RMCPdict['atSeq'][iType] 4633 atmChoice.Add(G2G.ValidatedTxtCtrl( G2frame.FRMC,RMCPdict['aTypes'],atId,xmin=0.,xmax=1.),0,WACV)4633 atmChoice.Add(G2G.ValidatedTxtCtrl(pnl,RMCPdict['aTypes'],atId,xmin=0.,xmax=1.),0,WACV) 4634 4634 return atmChoice 4635 4635 … … 4664 4664 return swapSizer 4665 4665 4666 def GetPairSizer( RMCdict):4666 def GetPairSizer(pnl,RMCdict): 4667 4667 pairSizer = wx.FlexGridSizer(len(RMCPdict['Pairs'])+1,5,5) 4668 4668 pairSizer.Add((5,5),0) 4669 4669 for pair in RMCPdict['Pairs']: 4670 pairSizer.Add(wx.StaticText( G2frame.FRMC,label=pair),0,WACV)4670 pairSizer.Add(wx.StaticText(pnl,label=pair),0,WACV) 4671 4671 if G2frame.RMCchoice == 'RMCProfile': 4672 pairSizer.Add(wx.StaticText( G2frame.FRMC,label='%14s'%' Hard min: '),0,WACV)4672 pairSizer.Add(wx.StaticText(pnl,label='%14s'%' Hard min: '),0,WACV) 4673 4673 for pair in RMCPdict['Pairs']: 4674 pairSizer.Add(G2G.ValidatedTxtCtrl( G2frame.FRMC,RMCPdict['Pairs'][pair],0,xmin=0.,xmax=10.,size=(50,25)),0,WACV)4675 pairSizer.Add(wx.StaticText( G2frame.FRMC,label='%14s'%' Search from: '),0,WACV)4674 pairSizer.Add(G2G.ValidatedTxtCtrl(pnl,RMCPdict['Pairs'][pair],0,xmin=0.,xmax=10.,size=(50,25)),0,WACV) 4675 pairSizer.Add(wx.StaticText(pnl,label='%14s'%' Search from: '),0,WACV) 4676 4676 for pair in RMCPdict['Pairs']: 4677 pairSizer.Add(G2G.ValidatedTxtCtrl( G2frame.FRMC,RMCPdict['Pairs'][pair],4677 pairSizer.Add(G2G.ValidatedTxtCtrl(pnl,RMCPdict['Pairs'][pair], 4678 4678 1,xmin=0.,xmax=10.,size=(50,25)),0,WACV) 4679 pairSizer.Add(wx.StaticText( G2frame.FRMC,label='%14s'%'to: '),0,WACV)4679 pairSizer.Add(wx.StaticText(pnl,label='%14s'%'to: '),0,WACV) 4680 4680 for pair in RMCPdict['Pairs']: 4681 pairSizer.Add(G2G.ValidatedTxtCtrl( G2frame.FRMC,RMCPdict['Pairs'][pair],2,xmin=0.,xmax=10.,size=(50,25)),0,WACV)4681 pairSizer.Add(G2G.ValidatedTxtCtrl(pnl,RMCPdict['Pairs'][pair],2,xmin=0.,xmax=10.,size=(50,25)),0,WACV) 4682 4682 return pairSizer 4683 4683 … … 4864 4864 if G2frame.FRMC.GetSizer(): 4865 4865 G2frame.FRMC.GetSizer().Clear(True) 4866 bigSizer = wx.BoxSizer(wx.HORIZONTAL) 4866 4867 mainSizer = wx.BoxSizer(wx.VERTICAL) 4867 4868 runFile = ' ' … … 5168 5169 5169 5170 elif G2frame.RMCchoice == 'RMCProfile': 5170 mainSizer.Add(wx.StaticText(G2frame.FRMC,label=''' "RMCProfile: Reverse Monte Carlo for polycrystalline materials", M.G. Tucker, D.A. Keen, M.T. Dove, A.L. Goodwin and Q. Hui, 5171 Jour. Phys.: Cond. Matter 2007, 19, 335218. doi: https://doi.org/10.1088/0953-8984/19/33/335218 5172 ''')) 5173 topSizer = wx.BoxSizer(wx.HORIZONTAL) 5174 topSizer.Add(wx.StaticText(G2frame.FRMC,label=' RMCProfile setup:'),0,WACV) 5175 # add help button to bring up help web page - at right sede of window 5176 topSizer.Add((-1,-1),1,wx.EXPAND) 5177 topSizer.Add(G2G.HelpButton(G2frame.FRMC,helpIndex=G2frame.dataWindow.helpKey)) 5178 mainSizer.Add(topSizer,0,wx.EXPAND) 5179 # mainSizer.Add(wx.StaticText(G2frame.FRMC,label=' RMCProfile setup:')) 5171 subSizer = wx.BoxSizer(wx.HORIZONTAL) 5172 subSizer.Add((-1,-1),1,wx.EXPAND) 5173 subSizer.Add(wx.StaticText(G2frame.FRMC,label='RMCProfile setup'),0,WACV) 5174 subSizer.Add((-1,-1),1,wx.EXPAND) 5175 mainSizer.Add(subSizer,0,wx.EXPAND) 5176 mainSizer.Add((5,5)) 5177 mainSizer.Add(wx.StaticText(G2frame.FRMC,label= 5178 '''"RMCProfile: Reverse Monte Carlo for polycrystalline materials", M.G. Tucker, 5179 D.A. Keen, M.T. Dove, A.L. Goodwin and Q. Hui, Jour. Phys.: Cond. Matter (2007), 5180 19, 335218. doi: https://doi.org/10.1088/0953-8984/19/33/335218''')) 5181 mainSizer.Add((5,5)) 5180 5182 if not data['RMC']['RMCProfile']: 5181 5183 Atypes = [atype.split('+')[0].split('-')[0] for atype in data['General']['AtomTypes']] … … 5276 5278 return superSizer 5277 5279 5278 def GetBvsSizer( ):5280 def GetBvsSizer(pnl): 5279 5281 5280 5282 def OnResetBVS(event): … … 5295 5297 bvsSizer.Add((5,5),0) 5296 5298 for pair in RMCPdict['BVS']: 5297 bvsSizer.Add(wx.StaticText( G2frame.FRMC,label=pair),0,WACV)5298 bvsSizer.Add(wx.StaticText( G2frame.FRMC,label=' Reset:'),0,WACV)5299 bvsSizer.Add(wx.StaticText(pnl,label=pair),0,WACV) 5300 bvsSizer.Add(wx.StaticText(pnl,label=' Reset:'),0,WACV) 5299 5301 for pair in RMCPdict['BVS']: 5300 reset = wx.Button( G2frame.FRMC,label='Yes')5302 reset = wx.Button(pnl,label='Yes') 5301 5303 bvsSizer.Add(reset,0,WACV) 5302 5304 reset.Bind(wx.EVT_BUTTON,OnResetBVS) 5303 5305 Indx[reset.GetId()] = pair 5304 bvsSizer.Add(wx.StaticText( G2frame.FRMC,label=' Bond length:'),0,WACV)5306 bvsSizer.Add(wx.StaticText(pnl,label=' Bond length:'),0,WACV) 5305 5307 for pair in RMCPdict['BVS']: 5306 bvsSizer.Add(G2G.ValidatedTxtCtrl( G2frame.FRMC,RMCPdict['BVS'][pair],0,xmin=0.,xmax=10.,size=(50,25)),0,WACV)5307 bvsSizer.Add(wx.StaticText( G2frame.FRMC,label=' B constant (0.37): '),0,WACV)5308 bvsSizer.Add(G2G.ValidatedTxtCtrl(pnl,RMCPdict['BVS'][pair],0,xmin=0.,xmax=10.,size=(50,25)),0,WACV) 5309 bvsSizer.Add(wx.StaticText(pnl,label=' B constant (0.37): '),0,WACV) 5308 5310 for pair in RMCPdict['BVS']: 5309 bvsSizer.Add(G2G.ValidatedTxtCtrl( G2frame.FRMC,RMCPdict['BVS'][pair],1,xmin=0.,xmax=10.,size=(50,25)),0,WACV)5310 bvsSizer.Add(wx.StaticText( G2frame.FRMC,label=' Cut off: '),0,WACV)5311 bvsSizer.Add(G2G.ValidatedTxtCtrl(pnl,RMCPdict['BVS'][pair],1,xmin=0.,xmax=10.,size=(50,25)),0,WACV) 5312 bvsSizer.Add(wx.StaticText(pnl,label=' Cut off: '),0,WACV) 5311 5313 for pair in RMCPdict['BVS']: 5312 bvsSizer.Add(G2G.ValidatedTxtCtrl( G2frame.FRMC,RMCPdict['BVS'][pair],2,xmin=0.,xmax=10.,size=(50,25)),0,WACV)5314 bvsSizer.Add(G2G.ValidatedTxtCtrl(pnl,RMCPdict['BVS'][pair],2,xmin=0.,xmax=10.,size=(50,25)),0,WACV) 5313 5315 return bvsSizer 5314 5316 … … 5470 5472 mainSizer.Add(GetSuperSizer(),0) 5471 5473 5472 mainSizer.Add(wx.StaticText(G2frame.FRMC,label=' NB: be sure to set cations first && anions last in atom ordering'),0) 5473 mainSizer.Add(GetAtmChoice(RMCPdict),0) 5474 aPanel = wxscroll.ScrolledPanel(G2frame.FRMC, wx.ID_ANY, 5475 style=wx.TAB_TRAVERSAL|wx.SUNKEN_BORDER) 5476 mSizer = wx.BoxSizer(wx.VERTICAL) 5477 mSizer.Add(wx.StaticText(aPanel,label='Enter atom settings'),0) 5478 mSizer.Add(GetAtmChoice(aPanel,RMCPdict),0) 5479 mSizer.Add(wx.StaticText(aPanel,label=' N.B.: be sure to set cations first && anions last in atom ordering')) 5480 mSizer.Layout() 5481 aPanel.SetSizer(mSizer) 5482 aPanel.SetMinSize((300,mSizer.GetMinSize()[1])) 5483 aPanel.SetAutoLayout(1) 5484 aPanel.SetupScrolling() 5485 mainSizer.Add(aPanel,1,wx.EXPAND) 5474 5486 5475 5487 G2G.HorizontalLine(mainSizer,G2frame.FRMC) … … 5484 5496 5485 5497 G2G.HorizontalLine(mainSizer,G2frame.FRMC) 5486 mainSizer.Add(wx.StaticText(G2frame.FRMC,label=' Enter constraints && restraints:'),0) 5487 mainSizer.Add(wx.StaticText(G2frame.FRMC,label=' Set minimum && maximum distances for:'),0) 5488 mainSizer.Add(GetPairSizer(RMCPdict),0) 5498 5499 sPanel = wxscroll.ScrolledPanel(G2frame.FRMC, wx.ID_ANY, 5500 style = wx.TAB_TRAVERSAL|wx.SUNKEN_BORDER) 5501 mSizer = wx.BoxSizer(wx.VERTICAL) 5502 mSizer.Add(wx.StaticText(sPanel,label='Enter constraints && restraints via minimum && maximum distances for atom pairs:'),0) 5503 mSizer.Add(GetPairSizer(sPanel,RMCPdict),0) 5504 sPanel.SetSizer(mSizer) 5505 mSizer.Layout() 5506 sPanel.SetMinSize((300,25+mSizer.GetMinSize()[1])) 5507 sPanel.SetAutoLayout(1) 5508 sPanel.SetupScrolling() 5509 mainSizer.Add(sPanel,1,wx.EXPAND) 5489 5510 5490 5511 G2G.HorizontalLine(mainSizer,G2frame.FRMC) … … 5494 5515 mainSizer.Add(useBVS,0) 5495 5516 if RMCPdict.get('useBVS',False): 5496 mainSizer.Add(GetBvsSizer(),0) 5497 5517 sPanel = wxscroll.ScrolledPanel(G2frame.FRMC, wx.ID_ANY, 5518 style = wx.TAB_TRAVERSAL|wx.SUNKEN_BORDER) 5519 mSizer = wx.BoxSizer(wx.VERTICAL) 5520 mSizer.Add(GetBvsSizer(sPanel),0) 5521 sPanel.SetSizer(mSizer) 5522 mSizer.Layout() 5523 sPanel.SetMinSize((300,25+mSizer.GetMinSize()[1])) 5524 sPanel.SetAutoLayout(1) 5525 sPanel.SetupScrolling() 5526 mainSizer.Add(sPanel,1,wx.EXPAND) 5527 5498 5528 G2G.HorizontalLine(mainSizer,G2frame.FRMC) 5499 5529 fxcnBox = wx.BoxSizer(wx.HORIZONTAL) … … 5568 5598 FileSizer(RMCPdict,mainSizer) 5569 5599 5570 SetPhaseWindow(G2frame.FRMC,mainSizer) 5600 bigSizer.Add(mainSizer,1,wx.EXPAND) 5601 # add help button to bring up help web page - at right sede of window 5602 bigSizer.Add(G2G.HelpButton(G2frame.FRMC,helpIndex=G2frame.dataWindow.helpKey)) 5603 SetPhaseWindow(G2frame.FRMC,bigSizer) 5571 5604 5572 5605 def OnSetupRMC(event):
Note: See TracChangeset
for help on using the changeset viewer.