Changeset 4801 for trunk/GSASIIphsGUI.py


Ignore:
Timestamp:
Feb 5, 2021 10:14:23 PM (10 months ago)
Author:
toby
Message:

Cleanup deleted hists in Phase/data; improve help button location; mac: use default browser for help; G2compare filter projects by histogram

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIphsGUI.py

    r4789 r4801  
    45714571            wx.CallAfter(UpdateRMC)
    45724572           
    4573         def GetAtmChoice(RMCPdict):
     4573        def GetAtmChoice(pnl,RMCPdict):
    45744574           
    45754575            Indx = {}
     
    46044604            nTypes = len(RMCPdict['aTypes'])
    46054605            atmChoice = wx.FlexGridSizer(nTypes+1,5,5)
    4606             atmChoice.Add(wx.StaticText(G2frame.FRMC,label=' Set atom ordering: '),0,WACV)
     4606            atmChoice.Add(wx.StaticText(pnl,label='atom ordering: '),0,WACV)
    46074607            for iType in range(nTypes):
    46084608                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)
    46104610                atmSel.SetStringSelection(RMCPdict['atSeq'][iType])
    46114611                atmSel.Bind(wx.EVT_COMBOBOX,OnAtSel)
     
    46134613                atmChoice.Add(atmSel,0,WACV)
    46144614            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)
    46164616                for itype in range(nTypes):
    46174617                    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)
    46194619                    try:
    46204620                        valSel.SetStringSelection(RMCPdict['Oxid'][itype][0])
     
    46244624                    Indx[valSel.GetId()] = itype
    46254625                    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)
    46274627                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)
    46294629            if G2frame.RMCchoice == 'RMCProfile':
    4630                 atmChoice.Add(wx.StaticText(G2frame.FRMC,label=' Set max shift: '),0,WACV)
     4630                atmChoice.Add(wx.StaticText(pnl,label='max shift: '),0,WACV)
    46314631                for iType in range(nTypes):
    46324632                    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)
    46344634            return atmChoice
    46354635       
     
    46644664            return swapSizer
    46654665       
    4666         def GetPairSizer(RMCdict):
     4666        def GetPairSizer(pnl,RMCdict):
    46674667            pairSizer = wx.FlexGridSizer(len(RMCPdict['Pairs'])+1,5,5)
    46684668            pairSizer.Add((5,5),0)
    46694669            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)
    46714671            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)
    46734673                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)
    46764676            for pair in RMCPdict['Pairs']:
    4677                 pairSizer.Add(G2G.ValidatedTxtCtrl(G2frame.FRMC,RMCPdict['Pairs'][pair],
     4677                pairSizer.Add(G2G.ValidatedTxtCtrl(pnl,RMCPdict['Pairs'][pair],
    46784678                    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)
    46804680            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)
    46824682            return pairSizer
    46834683                   
     
    48644864        if G2frame.FRMC.GetSizer():
    48654865            G2frame.FRMC.GetSizer().Clear(True)
     4866        bigSizer = wx.BoxSizer(wx.HORIZONTAL)
    48664867        mainSizer = wx.BoxSizer(wx.VERTICAL)
    48674868        runFile = ' '
     
    51685169               
    51695170        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,
     5179D.A. Keen, M.T. Dove, A.L. Goodwin and Q. Hui, Jour. Phys.: Cond. Matter (2007),
     518019, 335218. doi: https://doi.org/10.1088/0953-8984/19/33/335218'''))
     5181            mainSizer.Add((5,5))
    51805182            if not data['RMC']['RMCProfile']:
    51815183                Atypes = [atype.split('+')[0].split('-')[0] for atype in data['General']['AtomTypes']]
     
    52765278                return superSizer
    52775279                     
    5278             def GetBvsSizer():
     5280            def GetBvsSizer(pnl):
    52795281               
    52805282                def OnResetBVS(event):
     
    52955297                bvsSizer.Add((5,5),0)
    52965298                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)
    52995301                for pair in RMCPdict['BVS']:
    5300                     reset = wx.Button(G2frame.FRMC,label='Yes')
     5302                    reset = wx.Button(pnl,label='Yes')
    53015303                    bvsSizer.Add(reset,0,WACV)
    53025304                    reset.Bind(wx.EVT_BUTTON,OnResetBVS)
    53035305                    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)
    53055307                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)
    53085310                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)
    53115313                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)
    53135315                return bvsSizer
    53145316           
     
    54705472            mainSizer.Add(GetSuperSizer(),0)
    54715473           
    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)
    54745486           
    54755487            G2G.HorizontalLine(mainSizer,G2frame.FRMC)
     
    54845496           
    54855497            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)
    54895510           
    54905511            G2G.HorizontalLine(mainSizer,G2frame.FRMC)
     
    54945515            mainSizer.Add(useBVS,0)
    54955516            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               
    54985528            G2G.HorizontalLine(mainSizer,G2frame.FRMC)
    54995529            fxcnBox = wx.BoxSizer(wx.HORIZONTAL)
     
    55685598            FileSizer(RMCPdict,mainSizer)
    55695599   
    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)
    55715604       
    55725605    def OnSetupRMC(event):
Note: See TracChangeset for help on using the changeset viewer.