Changeset 1233


Ignore:
Timestamp:
Mar 3, 2014 9:16:53 AM (8 years ago)
Author:
vondreele
Message:

replace wx.Align_CENTER_VERTICAL with WACV in G2pwdGUI & G2phsGUI
start on SASD modelling

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIphsGUI.py

    r1229 r1233  
    5656WHITE = wx.Colour(255,255,255)
    5757BLACK = wx.Colour(0,0,0)
     58WACV = wx.ALIGN_CENTER_VERTICAL
    5859mapDefault = {'MapType':'','RefList':'','Resolution':0.5,'Show bonds':True,
    5960                'rho':[],'rhoMax':0.,'mapSize':10.0,'cutOff':50.,'Flip':False}
     
    257258               
    258259            nameSizer = wx.BoxSizer(wx.HORIZONTAL)
    259             nameSizer.Add(wx.StaticText(General,-1,' Phase name: '),0,wx.ALIGN_CENTER_VERTICAL)
     260            nameSizer.Add(wx.StaticText(General,-1,' Phase name: '),0,WACV)
    260261            NameTxt = wx.TextCtrl(General,-1,value=generalData['Name'],style=wx.TE_PROCESS_ENTER)
    261262            NameTxt.Bind(wx.EVT_TEXT_ENTER,OnPhaseName)
    262263            NameTxt.Bind(wx.EVT_KILL_FOCUS,OnPhaseName)
    263             nameSizer.Add(NameTxt,0,wx.ALIGN_CENTER_VERTICAL)
    264             nameSizer.Add(wx.StaticText(General,-1,'  Phase type: '),0,wx.ALIGN_CENTER_VERTICAL)
     264            nameSizer.Add(NameTxt,0,WACV)
     265            nameSizer.Add(wx.StaticText(General,-1,'  Phase type: '),0,WACV)
    265266            TypeTxt = wx.ComboBox(General,-1,value=generalData['Type'],choices=phaseTypes,
    266267                style=wx.CB_READONLY|wx.CB_DROPDOWN)
    267268            TypeTxt.Bind(wx.EVT_COMBOBOX, OnPhaseType)
    268             nameSizer.Add(TypeTxt,0,wx.ALIGN_CENTER_VERTICAL)
    269             nameSizer.Add(wx.StaticText(General,-1,'  Space group: '),0,wx.ALIGN_CENTER_VERTICAL)
     269            nameSizer.Add(TypeTxt,0,WACV)
     270            nameSizer.Add(wx.StaticText(General,-1,'  Space group: '),0,WACV)
    270271            SGTxt = wx.TextCtrl(General,-1,value=generalData['SGData']['SpGrp'],style=wx.TE_PROCESS_ENTER)
    271272            SGTxt.Bind(wx.EVT_TEXT_ENTER,OnSpaceGroup)
    272             nameSizer.Add(SGTxt,0,wx.ALIGN_CENTER_VERTICAL)
     273            nameSizer.Add(SGTxt,0,WACV)
    273274            return nameSizer
    274275           
     
    383384            if PWDR:
    384385                cellRef = wx.CheckBox(General,-1,label='Refine unit cell:')
    385                 cellSizer.Add(cellRef,0,wx.ALIGN_CENTER_VERTICAL)
     386                cellSizer.Add(cellRef,0,WACV)
    386387                cellRef.Bind(wx.EVT_CHECKBOX, OnCellRef)
    387388                cellRef.SetValue(cell[0])
    388389            cellList = []
    389390            for txt,fmt,ifEdit,Id in useGUI[2]:
    390                 cellSizer.Add(wx.StaticText(General,label=txt),0,wx.ALIGN_CENTER_VERTICAL)
     391                cellSizer.Add(wx.StaticText(General,label=txt),0,WACV)
    391392                if ifEdit:          #a,b,c,etc.
    392393                    cellVal = wx.TextCtrl(General,value=(fmt%(cell[Id+1])),
     
    394395                    cellVal.Bind(wx.EVT_TEXT_ENTER,OnCellChange)       
    395396                    cellVal.Bind(wx.EVT_KILL_FOCUS,OnCellChange)
    396                     cellSizer.Add(cellVal,0,wx.ALIGN_CENTER_VERTICAL)
     397                    cellSizer.Add(cellVal,0,WACV)
    397398                    cellList.append(cellVal.GetId())
    398399                else:               #volume
    399400                    volVal = wx.TextCtrl(General,value=(fmt%(cell[7])),style=wx.TE_READONLY)
    400401                    volVal.SetBackgroundColour(VERY_LIGHT_GREY)
    401                     cellSizer.Add(volVal,0,wx.ALIGN_CENTER_VERTICAL)
     402                    cellSizer.Add(volVal,0,WACV)
    402403            return cellSizer
    403404           
     
    417418               
    418419            elemSizer = wx.FlexGridSizer(8,len(generalData['AtomTypes'])+1,1,1)
    419             elemSizer.Add(wx.StaticText(General,label=' Elements'),0,wx.ALIGN_CENTER_VERTICAL)
     420            elemSizer.Add(wx.StaticText(General,label=' Elements'),0,WACV)
    420421            for elem in generalData['AtomTypes']:
    421422                typTxt = wx.TextCtrl(General,value=elem,style=wx.TE_READONLY)
    422423                typTxt.SetBackgroundColour(VERY_LIGHT_GREY)
    423                 elemSizer.Add(typTxt,0,wx.ALIGN_CENTER_VERTICAL)
    424             elemSizer.Add(wx.StaticText(General,label=' Isotope'),0,wx.ALIGN_CENTER_VERTICAL)
     424                elemSizer.Add(typTxt,0,WACV)
     425            elemSizer.Add(wx.StaticText(General,label=' Isotope'),0,WACV)
    425426            for elem in generalData['AtomTypes']:
    426427                choices = generalData['Isotopes'][elem].keys()
     
    429430                isoSel.Bind(wx.EVT_COMBOBOX,OnIsotope)
    430431                Indx[isoSel.GetId()] = elem
    431                 elemSizer.Add(isoSel,1,wx.ALIGN_CENTER_VERTICAL|wx.EXPAND)
    432             elemSizer.Add(wx.StaticText(General,label=' No. per cell'),0,wx.ALIGN_CENTER_VERTICAL)
     432                elemSizer.Add(isoSel,1,WACV|wx.EXPAND)
     433            elemSizer.Add(wx.StaticText(General,label=' No. per cell'),0,WACV)
    433434            for elem in generalData['AtomTypes']:
    434435                numbTxt = wx.TextCtrl(General,value='%.1f'%(generalData['NoAtoms'][elem]),
    435436                    style=wx.TE_READONLY)
    436437                numbTxt.SetBackgroundColour(VERY_LIGHT_GREY)
    437                 elemSizer.Add(numbTxt,0,wx.ALIGN_CENTER_VERTICAL)
    438             elemSizer.Add(wx.StaticText(General,label=' Atom weight'),0,wx.ALIGN_CENTER_VERTICAL)
     438                elemSizer.Add(numbTxt,0,WACV)
     439            elemSizer.Add(wx.StaticText(General,label=' Atom weight'),0,WACV)
    439440            for wt in generalData['AtomMass']:
    440441                wtTxt = wx.TextCtrl(General,value='%.3f'%(wt),style=wx.TE_READONLY)
    441442                wtTxt.SetBackgroundColour(VERY_LIGHT_GREY)
    442                 elemSizer.Add(wtTxt,0,wx.ALIGN_CENTER_VERTICAL)
    443             elemSizer.Add(wx.StaticText(General,label=' Bond radii'),0,wx.ALIGN_CENTER_VERTICAL)
     443                elemSizer.Add(wtTxt,0,WACV)
     444            elemSizer.Add(wx.StaticText(General,label=' Bond radii'),0,WACV)
    444445            for rad in generalData['BondRadii']:
    445446                bondRadii = wx.TextCtrl(General,value='%.2f'%(rad),style=wx.TE_READONLY)
    446447                bondRadii.SetBackgroundColour(VERY_LIGHT_GREY)
    447                 elemSizer.Add(bondRadii,0,wx.ALIGN_CENTER_VERTICAL)
    448             elemSizer.Add(wx.StaticText(General,label=' Angle radii'),0,wx.ALIGN_CENTER_VERTICAL)
     448                elemSizer.Add(bondRadii,0,WACV)
     449            elemSizer.Add(wx.StaticText(General,label=' Angle radii'),0,WACV)
    449450            for rad in generalData['AngleRadii']:
    450451                elemTxt = wx.TextCtrl(General,value='%.2f'%(rad),style=wx.TE_READONLY)
    451452                elemTxt.SetBackgroundColour(VERY_LIGHT_GREY)
    452                 elemSizer.Add(elemTxt,0,wx.ALIGN_CENTER_VERTICAL)
    453             elemSizer.Add(wx.StaticText(General,label=' van der Waals radii'),0,wx.ALIGN_CENTER_VERTICAL)
     453                elemSizer.Add(elemTxt,0,WACV)
     454            elemSizer.Add(wx.StaticText(General,label=' van der Waals radii'),0,WACV)
    454455            for rad in generalData['vdWRadii']:
    455456                elemTxt = wx.TextCtrl(General,value='%.2f'%(rad),style=wx.TE_READONLY)
    456457                elemTxt.SetBackgroundColour(VERY_LIGHT_GREY)
    457                 elemSizer.Add(elemTxt,0,wx.ALIGN_CENTER_VERTICAL)
    458             elemSizer.Add(wx.StaticText(General,label=' Default color'),0,wx.ALIGN_CENTER_VERTICAL)
     458                elemSizer.Add(elemTxt,0,WACV)
     459            elemSizer.Add(wx.StaticText(General,label=' Default color'),0,WACV)
    459460            for R,G,B in generalData['Color']:
    460461                colorTxt = wx.TextCtrl(General,value='',style=wx.TE_READONLY)
    461462                colorTxt.SetBackgroundColour(wx.Colour(R,G,B))
    462                 elemSizer.Add(colorTxt,0,wx.ALIGN_CENTER_VERTICAL)
     463                elemSizer.Add(colorTxt,0,WACV)
    463464            return elemSizer
    464465       
     
    468469            density,mattCoeff = G2mth.getDensity(generalData)
    469470            denSizer = wx.BoxSizer(wx.HORIZONTAL)
    470             denSizer.Add(wx.StaticText(General,-1,' Density: '),0,wx.ALIGN_CENTER_VERTICAL)
     471            denSizer.Add(wx.StaticText(General,-1,' Density: '),0,WACV)
    471472            denTxt = wx.TextCtrl(General,-1,'%.3f'%(density),style=wx.TE_READONLY)
    472473            denTxt.SetBackgroundColour(VERY_LIGHT_GREY)
    473             denSizer.Add(denTxt,0,wx.ALIGN_CENTER_VERTICAL)
     474            denSizer.Add(denTxt,0,WACV)
    474475            mattTxt = None       
    475476            if generalData['Type'] == 'macromolecular' and mass > 0.0:
    476477                denSizer.Add(wx.StaticText(General,-1,' Matthews coeff.: '),
    477                     0,wx.ALIGN_CENTER_VERTICAL)
     478                    0,WACV)
    478479                mattTxt = wx.TextCtrl(General,-1,'%.3f'%(mattCoeff),style=wx.TE_READONLY)
    479480                mattTxt.SetBackgroundColour(VERY_LIGHT_GREY)
    480                 denSizer.Add(mattTxt,0,wx.ALIGN_CENTER_VERTICAL)
     481                denSizer.Add(mattTxt,0,WACV)
    481482            return denSizer,denTxt,mattTxt
    482483           
     
    505506
    506507            pawleySizer = wx.BoxSizer(wx.HORIZONTAL)
    507             pawleySizer.Add(wx.StaticText(General,label=' Pawley controls: '),0,wx.ALIGN_CENTER_VERTICAL)
     508            pawleySizer.Add(wx.StaticText(General,label=' Pawley controls: '),0,WACV)
    508509            pawlRef = wx.CheckBox(General,-1,label=' Do Pawley refinement?')
    509510            pawlRef.SetValue(generalData['doPawley'])
    510511            pawlRef.Bind(wx.EVT_CHECKBOX,OnPawleyRef)
    511             pawleySizer.Add(pawlRef,0,wx.ALIGN_CENTER_VERTICAL)
    512             pawleySizer.Add(wx.StaticText(General,label=' Pawley dmin: '),0,wx.ALIGN_CENTER_VERTICAL)
     512            pawleySizer.Add(pawlRef,0,WACV)
     513            pawleySizer.Add(wx.StaticText(General,label=' Pawley dmin: '),0,WACV)
    513514            pawlVal = wx.TextCtrl(General,value='%.3f'%(generalData['Pawley dmin']),style=wx.TE_PROCESS_ENTER)
    514515            pawlVal.Bind(wx.EVT_TEXT_ENTER,OnPawleyVal)       
    515516            pawlVal.Bind(wx.EVT_KILL_FOCUS,OnPawleyVal)
    516             pawleySizer.Add(pawlVal,0,wx.ALIGN_CENTER_VERTICAL)
    517             pawleySizer.Add(wx.StaticText(General,label=' Pawley neg. wt.: '),0,wx.ALIGN_CENTER_VERTICAL)
     517            pawleySizer.Add(pawlVal,0,WACV)
     518            pawleySizer.Add(wx.StaticText(General,label=' Pawley neg. wt.: '),0,WACV)
    518519            pawlNegWt = wx.TextCtrl(General,value='%.4f'%(generalData['Pawley neg wt']),style=wx.TE_PROCESS_ENTER)
    519520            pawlNegWt.Bind(wx.EVT_TEXT_ENTER,OnPawleyNegWt)       
    520521            pawlNegWt.Bind(wx.EVT_KILL_FOCUS,OnPawleyNegWt)
    521             pawleySizer.Add(pawlNegWt,0,wx.ALIGN_CENTER_VERTICAL)
     522            pawleySizer.Add(pawlNegWt,0,WACV)
    522523            return pawleySizer
    523524           
     
    558559            mapSizer = wx.BoxSizer(wx.VERTICAL)
    559560            lineSizer = wx.BoxSizer(wx.HORIZONTAL)
    560             lineSizer.Add(wx.StaticText(General,label=' Fourier map controls: Map type: '),0,wx.ALIGN_CENTER_VERTICAL)
     561            lineSizer.Add(wx.StaticText(General,label=' Fourier map controls: Map type: '),0,WACV)
    561562            mapType = wx.ComboBox(General,-1,value=Map['MapType'],choices=mapTypes,
    562563                style=wx.CB_READONLY|wx.CB_DROPDOWN)
    563564            mapType.Bind(wx.EVT_COMBOBOX,OnMapType)
    564             lineSizer.Add(mapType,0,wx.ALIGN_CENTER_VERTICAL)
    565             lineSizer.Add(wx.StaticText(General,label=' Reflection set from: '),0,wx.ALIGN_CENTER_VERTICAL)
     565            lineSizer.Add(mapType,0,WACV)
     566            lineSizer.Add(wx.StaticText(General,label=' Reflection set from: '),0,WACV)
    566567            refList = wx.ComboBox(General,-1,value=Map['RefList'],choices=refList,
    567568                style=wx.CB_READONLY|wx.CB_DROPDOWN)
    568569            refList.Bind(wx.EVT_COMBOBOX,OnRefList)
    569             lineSizer.Add(refList,0,wx.ALIGN_CENTER_VERTICAL)
    570             mapSizer.Add(lineSizer,0,wx.ALIGN_CENTER_VERTICAL)
     570            lineSizer.Add(refList,0,WACV)
     571            mapSizer.Add(lineSizer,0,WACV)
    571572            line2Sizer = wx.BoxSizer(wx.HORIZONTAL)
    572             line2Sizer.Add(wx.StaticText(General,label=' Resolution: '),0,wx.ALIGN_CENTER_VERTICAL)
     573            line2Sizer.Add(wx.StaticText(General,label=' Resolution: '),0,WACV)
    573574            mapRes =  wx.TextCtrl(General,value='%.2f'%(Map['Resolution']),style=wx.TE_PROCESS_ENTER)
    574575            mapRes.Bind(wx.EVT_TEXT_ENTER,OnResVal)       
    575576            mapRes.Bind(wx.EVT_KILL_FOCUS,OnResVal)
    576             line2Sizer.Add(mapRes,0,wx.ALIGN_CENTER_VERTICAL)
    577             line2Sizer.Add(wx.StaticText(General,label=' Peak cutoff %: '),0,wx.ALIGN_CENTER_VERTICAL)
     577            line2Sizer.Add(mapRes,0,WACV)
     578            line2Sizer.Add(wx.StaticText(General,label=' Peak cutoff %: '),0,WACV)
    578579            cutOff =  wx.TextCtrl(General,value='%.1f'%(Map['cutOff']),style=wx.TE_PROCESS_ENTER)
    579580            cutOff.Bind(wx.EVT_TEXT_ENTER,OnCutOff)       
    580581            cutOff.Bind(wx.EVT_KILL_FOCUS,OnCutOff)
    581             line2Sizer.Add(cutOff,0,wx.ALIGN_CENTER_VERTICAL)
    582             mapSizer.Add(line2Sizer,0,wx.ALIGN_CENTER_VERTICAL)
     582            line2Sizer.Add(cutOff,0,WACV)
     583            mapSizer.Add(line2Sizer,0,WACV)
    583584            return mapSizer
    584585               
     
    626627            flipSizer = wx.BoxSizer(wx.VERTICAL)
    627628            lineSizer = wx.BoxSizer(wx.HORIZONTAL)
    628             lineSizer.Add(wx.StaticText(General,label=' Charge flip controls: Reflection set from: '),0,wx.ALIGN_CENTER_VERTICAL)
     629            lineSizer.Add(wx.StaticText(General,label=' Charge flip controls: Reflection set from: '),0,WACV)
    629630            refList = wx.ComboBox(General,-1,value=Flip['RefList'],choices=refList,
    630631                style=wx.CB_READONLY|wx.CB_DROPDOWN)
    631632            refList.Bind(wx.EVT_COMBOBOX,OnRefList)
    632             lineSizer.Add(refList,0,wx.ALIGN_CENTER_VERTICAL)
    633             lineSizer.Add(wx.StaticText(General,label=' Normalizing element: '),0,wx.ALIGN_CENTER_VERTICAL)
     633            lineSizer.Add(refList,0,WACV)
     634            lineSizer.Add(wx.StaticText(General,label=' Normalizing element: '),0,WACV)
    634635            normElem = wx.Button(General,label=Flip['Norm element'],style=wx.TE_READONLY)
    635636            normElem.Bind(wx.EVT_BUTTON,OnNormElem)
    636             lineSizer.Add(normElem,0,wx.ALIGN_CENTER_VERTICAL)
    637             flipSizer.Add(lineSizer,0,wx.ALIGN_CENTER_VERTICAL)
     637            lineSizer.Add(normElem,0,WACV)
     638            flipSizer.Add(lineSizer,0,WACV)
    638639            line2Sizer = wx.BoxSizer(wx.HORIZONTAL)
    639             line2Sizer.Add(wx.StaticText(General,label=' Resolution: '),0,wx.ALIGN_CENTER_VERTICAL)
     640            line2Sizer.Add(wx.StaticText(General,label=' Resolution: '),0,WACV)
    640641            flipRes =  wx.TextCtrl(General,value='%.2f'%(Flip['Resolution']),style=wx.TE_PROCESS_ENTER)
    641642            flipRes.Bind(wx.EVT_TEXT_ENTER,OnResVal)       
    642643            flipRes.Bind(wx.EVT_KILL_FOCUS,OnResVal)
    643             line2Sizer.Add(flipRes,0,wx.ALIGN_CENTER_VERTICAL)
    644             line2Sizer.Add(wx.StaticText(General,label=' k-Factor (0.1-1.2): '),0,wx.ALIGN_CENTER_VERTICAL)
     644            line2Sizer.Add(flipRes,0,WACV)
     645            line2Sizer.Add(wx.StaticText(General,label=' k-Factor (0.1-1.2): '),0,WACV)
    645646            kFactor =  wx.TextCtrl(General,value='%.3f'%(Flip['k-factor']),style=wx.TE_PROCESS_ENTER)
    646647            kFactor.Bind(wx.EVT_TEXT_ENTER,OnkFactor)       
    647648            kFactor.Bind(wx.EVT_KILL_FOCUS,OnkFactor)
    648             line2Sizer.Add(kFactor,0,wx.ALIGN_CENTER_VERTICAL)
    649             line2Sizer.Add(wx.StaticText(General,label=' k-Max (>=10.0): '),0,wx.ALIGN_CENTER_VERTICAL)
     649            line2Sizer.Add(kFactor,0,WACV)
     650            line2Sizer.Add(wx.StaticText(General,label=' k-Max (>=10.0): '),0,WACV)
    650651            kMax = wx.TextCtrl(General,value='%.1f'%(Flip['k-Max']),style=wx.TE_PROCESS_ENTER)
    651652            kMax.Bind(wx.EVT_TEXT_ENTER,OnkMax)       
    652653            kMax.Bind(wx.EVT_KILL_FOCUS,OnkMax)
    653             line2Sizer.Add(kMax,0,wx.ALIGN_CENTER_VERTICAL)
    654             flipSizer.Add(line2Sizer,0,wx.ALIGN_CENTER_VERTICAL)
     654            line2Sizer.Add(kMax,0,WACV)
     655            flipSizer.Add(line2Sizer,0,WACV)
    655656            return flipSizer
    656657           
     
    741742            mcsaSizer = wx.BoxSizer(wx.VERTICAL)
    742743            lineSizer = wx.BoxSizer(wx.HORIZONTAL)
    743             lineSizer.Add(wx.StaticText(General,label=' Monte Carlo/Simulated Annealing controls: Reflection set from: '),0,wx.ALIGN_CENTER_VERTICAL)
     744            lineSizer.Add(wx.StaticText(General,label=' Monte Carlo/Simulated Annealing controls: Reflection set from: '),0,WACV)
    744745            refList = wx.ComboBox(General,-1,value=MCSAdata['Data source'],choices=refList,
    745746                style=wx.CB_READONLY|wx.CB_DROPDOWN)
    746747            refList.Bind(wx.EVT_COMBOBOX,OnRefList)
    747             lineSizer.Add(refList,0,wx.ALIGN_CENTER_VERTICAL)
    748             lineSizer.Add(wx.StaticText(General,label=' d-min: '),0,wx.ALIGN_CENTER_VERTICAL)
     748            lineSizer.Add(refList,0,WACV)
     749            lineSizer.Add(wx.StaticText(General,label=' d-min: '),0,WACV)
    749750            dmin = wx.TextCtrl(General,-1,value='%.3f'%(MCSAdata['dmin']),style=wx.TE_PROCESS_ENTER)
    750751            dmin.Bind(wx.EVT_TEXT_ENTER,OnDmin)       
    751752            dmin.Bind(wx.EVT_KILL_FOCUS,OnDmin)
    752             lineSizer.Add(dmin,0,wx.ALIGN_CENTER_VERTICAL)
     753            lineSizer.Add(dmin,0,WACV)
    753754            mcsaSizer.Add(lineSizer)
    754755            mcsaSizer.Add((5,5),)
    755756            line2Sizer = wx.BoxSizer(wx.HORIZONTAL)
    756             line2Sizer.Add(wx.StaticText(General,label=' MC/SA runs: '),0,wx.ALIGN_CENTER_VERTICAL)
     757            line2Sizer.Add(wx.StaticText(General,label=' MC/SA runs: '),0,WACV)
    757758            Cchoice = ['1','2','4','8','16','32','64','128','256']
    758759            cycles = wx.ComboBox(General,-1,value=str(MCSAdata.get('Cycles',1)),choices=Cchoice,
    759760                style=wx.CB_READONLY|wx.CB_DROPDOWN)
    760761            cycles.Bind(wx.EVT_COMBOBOX,OnCycles)       
    761             line2Sizer.Add(cycles,0,wx.ALIGN_CENTER_VERTICAL)
     762            line2Sizer.Add(cycles,0,WACV)
    762763            line2Sizer.Add((5,0),)
    763764            ranStart = wx.CheckBox(General,-1,label=' MC/SA Refine at ')
    764765            ranStart.Bind(wx.EVT_CHECKBOX, OnRanStart)
    765766            ranStart.SetValue(MCSAdata.get('ranStart',False))
    766             line2Sizer.Add(ranStart,0,wx.ALIGN_CENTER_VERTICAL)
     767            line2Sizer.Add(ranStart,0,WACV)
    767768            ranRange = wx.TextCtrl(General,-1,value='%.1f'%(MCSAdata.get('ranRange',0.10)*100),style=wx.TE_PROCESS_ENTER)
    768769            ranRange.Bind(wx.EVT_TEXT_ENTER,OnRanRange)       
    769770            ranRange.Bind(wx.EVT_KILL_FOCUS,OnRanRange)
    770             line2Sizer.Add(ranRange,0,wx.ALIGN_CENTER_VERTICAL)
    771             line2Sizer.Add(wx.StaticText(General,label='% of ranges. '),0,wx.ALIGN_CENTER_VERTICAL)
     771            line2Sizer.Add(ranRange,0,WACV)
     772            line2Sizer.Add(wx.StaticText(General,label='% of ranges. '),0,WACV)
    772773#            autoRan = wx.CheckBox(General,-1,label=' Do auto range reduction? ')
    773774#            autoRan.Bind(wx.EVT_CHECKBOX, OnAutoRan)
    774775#            autoRan.SetValue(MCSAdata.get('autoRan',False))
    775 #            line2Sizer.Add(autoRan,0,wx.ALIGN_CENTER_VERTICAL)
     776#            line2Sizer.Add(autoRan,0,WACV)
    776777            mcsaSizer.Add(line2Sizer)
    777778            mcsaSizer.Add((5,5),)
     
    779780            Achoice = ['log','fast']                #these work
    780781#            Achoice = ['log','fast','cauchy','boltzmann']
    781             line3Sizer.Add(wx.StaticText(General,label=' MC/SA schedule: '),0,wx.ALIGN_CENTER_VERTICAL)
     782            line3Sizer.Add(wx.StaticText(General,label=' MC/SA schedule: '),0,WACV)
    782783            Alist = wx.ComboBox(General,-1,value=MCSAdata['Algorithm'],choices=Achoice,
    783784                style=wx.CB_READONLY|wx.CB_DROPDOWN)
    784785            Alist.Bind(wx.EVT_COMBOBOX,OnAlist)
    785             line3Sizer.Add(Alist,0,wx.ALIGN_CENTER_VERTICAL)
     786            line3Sizer.Add(Alist,0,WACV)
    786787            if MCSAdata['Algorithm'] in ['fast','boltzmann','cauchy']:
    787788                Names = [' A-jump: ',' B-jump: ']
     
    793794                    parms = 'fast parms'
    794795                for i,name in enumerate(Names):
    795                     line3Sizer.Add(wx.StaticText(General,label=name),0,wx.ALIGN_CENTER_VERTICAL)
     796                    line3Sizer.Add(wx.StaticText(General,label=name),0,WACV)
    796797                    Ajump =  wx.TextCtrl(General,-1,value='%.3f'%(MCSAdata[parms][i]),style=wx.TE_PROCESS_ENTER)
    797798                    Ajump.Bind(wx.EVT_TEXT_ENTER,OnAjump)       
    798799                    Ajump.Bind(wx.EVT_KILL_FOCUS,OnAjump)
    799800                    Indx[Ajump.GetId()] = [parms,i]
    800                     line3Sizer.Add(Ajump,0,wx.ALIGN_CENTER_VERTICAL)
     801                    line3Sizer.Add(Ajump,0,WACV)
    801802            elif 'log' in MCSAdata['Algorithm']:
    802                 line3Sizer.Add(wx.StaticText(General,label=' slope: '),0,wx.ALIGN_CENTER_VERTICAL)
     803                line3Sizer.Add(wx.StaticText(General,label=' slope: '),0,WACV)
    803804                slope =  wx.TextCtrl(General,-1,value='%.3f'%(MCSAdata['log slope']),style=wx.TE_PROCESS_ENTER)
    804805                slope.Bind(wx.EVT_TEXT_ENTER,OnSlope)       
    805806                slope.Bind(wx.EVT_KILL_FOCUS,OnSlope)
    806                 line3Sizer.Add(slope,0,wx.ALIGN_CENTER_VERTICAL)
     807                line3Sizer.Add(slope,0,WACV)
    807808            mcsaSizer.Add(line3Sizer)
    808809            mcsaSizer.Add((5,5),)
    809810            line3Sizer = wx.BoxSizer(wx.HORIZONTAL)
    810             line3Sizer.Add(wx.StaticText(General,label=' Annealing schedule: '),0,wx.ALIGN_CENTER_VERTICAL)
     811            line3Sizer.Add(wx.StaticText(General,label=' Annealing schedule: '),0,WACV)
    811812            names = [' Start temp: ',' Final temp: ',' No. trials: ']
    812813            fmts = ['%.1f','%.5f','%d']
     
    816817                else:
    817818                    text = 'None'
    818                 line3Sizer.Add(wx.StaticText(General,label=name),0,wx.ALIGN_CENTER_VERTICAL)
     819                line3Sizer.Add(wx.StaticText(General,label=name),0,WACV)
    819820                anneal =  wx.TextCtrl(General,-1,value=text,style=wx.TE_PROCESS_ENTER)
    820821                anneal.Bind(wx.EVT_TEXT_ENTER,OnAnneal)       
    821822                anneal.Bind(wx.EVT_KILL_FOCUS,OnAnneal)
    822823                Indx[anneal.GetId()] = [i,fmt]
    823                 line3Sizer.Add(anneal,0,wx.ALIGN_CENTER_VERTICAL)
     824                line3Sizer.Add(anneal,0,WACV)
    824825            mcsaSizer.Add(line3Sizer)           
    825826            return mcsaSizer
     
    17281729                if G2var in constDict:
    17291730                    ch = G2gd.HelpButton(panel2,fmtHelp(constDict[G2var],var))
    1730                     subSizer2.Add(ch,0,wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_CENTER,1)
     1731                    subSizer2.Add(ch,0,wx.LEFT|wx.RIGHT|WACV|wx.ALIGN_CENTER,1)
    17311732                else:
    17321733                    subSizer2.Add((-1,-1))
     
    17621763                if G2var in constDict:
    17631764                    ch = G2gd.HelpButton(panel2,fmtHelp(constDict[G2var],var))
    1764                     subSizer2.Add(ch,0,wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_CENTER,1)
     1765                    subSizer2.Add(ch,0,wx.LEFT|wx.RIGHT|WACV|wx.ALIGN_CENTER,1)
    17651766                else:
    17661767                    subSizer2.Add((-1,-1))
     
    27882789                ' Camera Distance: '+'%.2f'%(drawingData['cameraPos']),name='cameraPos')
    27892790            G2frame.dataDisplay.cameraPosTxt = cameraPosTxt
    2790             slideSizer.Add(cameraPosTxt,0,wx.ALIGN_CENTER_VERTICAL)
     2791            slideSizer.Add(cameraPosTxt,0,WACV)
    27912792            cameraPos = wx.Slider(drawOptions,style=wx.SL_HORIZONTAL,value=drawingData['cameraPos'],name='cameraSlider')
    27922793            cameraPos.SetRange(10,500)
     
    27962797           
    27972798            ZclipTxt = wx.StaticText(drawOptions,-1,' Z clipping: '+'%.2fA'%(drawingData['Zclip']*drawingData['cameraPos']/100.))
    2798             slideSizer.Add(ZclipTxt,0,wx.ALIGN_CENTER_VERTICAL)
     2799            slideSizer.Add(ZclipTxt,0,WACV)
    27992800            Zclip = wx.Slider(drawOptions,style=wx.SL_HORIZONTAL,value=drawingData['Zclip'])
    28002801            Zclip.SetRange(1,99)
     
    28032804           
    28042805            ZstepSizer = wx.BoxSizer(wx.HORIZONTAL)
    2805             ZstepSizer.Add(wx.StaticText(drawOptions,-1,' Z step:'),0,wx.ALIGN_CENTER_VERTICAL)
     2806            ZstepSizer.Add(wx.StaticText(drawOptions,-1,' Z step:'),0,WACV)
    28062807            Zstep = wx.TextCtrl(drawOptions,value='%.2f'%(drawingData['Zstep']),
    28072808                style=wx.TE_PROCESS_ENTER)
    28082809            Zstep.Bind(wx.EVT_TEXT_ENTER,OnZstep)
    28092810            Zstep.Bind(wx.EVT_KILL_FOCUS,OnZstep)
    2810             ZstepSizer.Add(Zstep,0,wx.ALIGN_CENTER_VERTICAL)
     2811            ZstepSizer.Add(Zstep,0,WACV)
    28112812            slideSizer.Add(ZstepSizer)
    28122813            MoveSizer = wx.BoxSizer(wx.HORIZONTAL)
    2813             MoveSizer.Add(wx.StaticText(drawOptions,-1,'   Press to step:'),0,wx.ALIGN_CENTER_VERTICAL)
     2814            MoveSizer.Add(wx.StaticText(drawOptions,-1,'   Press to step:'),0,WACV)
    28142815            MoveZ = wx.SpinButton(drawOptions,style=wx.SP_HORIZONTAL,size=wx.Size(100,20))
    28152816            MoveZ.SetValue(0)
     
    28202821           
    28212822            vdwScaleTxt = wx.StaticText(drawOptions,-1,' van der Waals scale: '+'%.2f'%(drawingData['vdwScale']))
    2822             slideSizer.Add(vdwScaleTxt,0,wx.ALIGN_CENTER_VERTICAL)
     2823            slideSizer.Add(vdwScaleTxt,0,WACV)
    28232824            vdwScale = wx.Slider(drawOptions,style=wx.SL_HORIZONTAL,value=int(100*drawingData['vdwScale']))
    28242825            vdwScale.Bind(wx.EVT_SLIDER, OnVdWScale)
     
    28262827   
    28272828            ellipseProbTxt = wx.StaticText(drawOptions,-1,' Ellipsoid probability: '+'%d%%'%(drawingData['ellipseProb']))
    2828             slideSizer.Add(ellipseProbTxt,0,wx.ALIGN_CENTER_VERTICAL)
     2829            slideSizer.Add(ellipseProbTxt,0,WACV)
    28292830            ellipseProb = wx.Slider(drawOptions,style=wx.SL_HORIZONTAL,value=drawingData['ellipseProb'])
    28302831            ellipseProb.SetRange(1,99)
     
    28332834   
    28342835            ballScaleTxt = wx.StaticText(drawOptions,-1,' Ball scale: '+'%.2f'%(drawingData['ballScale']))
    2835             slideSizer.Add(ballScaleTxt,0,wx.ALIGN_CENTER_VERTICAL)
     2836            slideSizer.Add(ballScaleTxt,0,WACV)
    28362837            ballScale = wx.Slider(drawOptions,style=wx.SL_HORIZONTAL,value=int(100*drawingData['ballScale']))
    28372838            ballScale.Bind(wx.EVT_SLIDER, OnBallScale)
     
    28392840   
    28402841            bondRadiusTxt = wx.StaticText(drawOptions,-1,' Bond radius, A: '+'%.2f'%(drawingData['bondRadius']))
    2841             slideSizer.Add(bondRadiusTxt,0,wx.ALIGN_CENTER_VERTICAL)
     2842            slideSizer.Add(bondRadiusTxt,0,WACV)
    28422843            bondRadius = wx.Slider(drawOptions,style=wx.SL_HORIZONTAL,value=int(100*drawingData['bondRadius']))
    28432844            bondRadius.SetRange(1,25)
     
    28472848            if generalData['Map']['rhoMax']:
    28482849                contourLevelTxt = wx.StaticText(drawOptions,-1,' Contour level: '+'%.2f'%(drawingData['contourLevel']*generalData['Map']['rhoMax']))
    2849                 slideSizer.Add(contourLevelTxt,0,wx.ALIGN_CENTER_VERTICAL)
     2850                slideSizer.Add(contourLevelTxt,0,WACV)
    28502851                contourLevel = wx.Slider(drawOptions,style=wx.SL_HORIZONTAL,value=int(100*drawingData['contourLevel']))
    28512852                contourLevel.SetRange(1,100)
     
    28532854                slideSizer.Add(contourLevel,1,wx.EXPAND|wx.RIGHT)
    28542855                mapSizeTxt = wx.StaticText(drawOptions,-1,' Map radius, A: '+'%.1f'%(drawingData['mapSize']))
    2855                 slideSizer.Add(mapSizeTxt,0,wx.ALIGN_CENTER_VERTICAL)
     2856                slideSizer.Add(mapSizeTxt,0,WACV)
    28562857                mapSize = wx.Slider(drawOptions,style=wx.SL_HORIZONTAL,value=int(10*drawingData['mapSize']))
    28572858                mapSize.SetRange(1,100)
     
    29232924            showSizer = wx.BoxSizer(wx.VERTICAL)           
    29242925            lineSizer = wx.BoxSizer(wx.HORIZONTAL)
    2925             lineSizer.Add(wx.StaticText(drawOptions,-1,' Background color:'),0,wx.ALIGN_CENTER_VERTICAL)
     2926            lineSizer.Add(wx.StaticText(drawOptions,-1,' Background color:'),0,WACV)
    29262927            backColor = wcs.ColourSelect(drawOptions, -1,colour=drawingData['backColor'],size=wx.Size(25,25))
    29272928            backColor.Bind(wcs.EVT_COLOURSELECT, OnBackColor)
    2928             lineSizer.Add(backColor,0,wx.ALIGN_CENTER_VERTICAL)
    2929             lineSizer.Add(wx.StaticText(drawOptions,-1,' View Dir.:'),0,wx.ALIGN_CENTER_VERTICAL)
     2929            lineSizer.Add(backColor,0,WACV)
     2930            lineSizer.Add(wx.StaticText(drawOptions,-1,' View Dir.:'),0,WACV)
    29302931            VD = drawingData['viewDir']
    29312932            viewDir = wx.TextCtrl(drawOptions,value='%.3f %.3f %.3f'%(VD[0],VD[1],VD[2]),
     
    29342935            viewDir.Bind(wx.EVT_KILL_FOCUS,OnViewDir)
    29352936            G2frame.dataDisplay.viewDir = viewDir
    2936             lineSizer.Add(viewDir,0,wx.ALIGN_CENTER_VERTICAL)
     2937            lineSizer.Add(viewDir,0,WACV)
    29372938            showSizer.Add(lineSizer)
    29382939            showSizer.Add((0,5),0)
     
    29422943            showABC.Bind(wx.EVT_CHECKBOX, OnShowABC)
    29432944            showABC.SetValue(drawingData['showABC'])
    2944             lineSizer.Add(showABC,0,wx.ALIGN_CENTER_VERTICAL)
    2945             lineSizer.Add(wx.StaticText(drawOptions,-1,' View Point:'),0,wx.ALIGN_CENTER_VERTICAL)
     2945            lineSizer.Add(showABC,0,WACV)
     2946            lineSizer.Add(wx.StaticText(drawOptions,-1,' View Point:'),0,WACV)
    29462947            VP = drawingData['viewPoint'][0]
    29472948            viewPoint = wx.TextCtrl(drawOptions,value='%.3f %.3f %.3f'%(VP[0],VP[1],VP[2]),
     
    29502951            viewPoint.Bind(wx.EVT_TEXT_ENTER,OnViewPoint)
    29512952            viewPoint.Bind(wx.EVT_KILL_FOCUS,OnViewPoint)
    2952             lineSizer.Add(viewPoint,0,wx.ALIGN_CENTER_VERTICAL)
     2953            lineSizer.Add(viewPoint,0,WACV)
    29532954            showSizer.Add(lineSizer)
    29542955            showSizer.Add((0,5),0)
     
    29592960            unitCellBox.Bind(wx.EVT_CHECKBOX, OnShowUnitCell)
    29602961            unitCellBox.SetValue(drawingData['unitCellBox'])
    2961             line2Sizer.Add(unitCellBox,0,wx.ALIGN_CENTER_VERTICAL)
     2962            line2Sizer.Add(unitCellBox,0,WACV)
    29622963   
    29632964            showHydrogen = wx.CheckBox(drawOptions,-1,label=' Show hydrogens?')
    29642965            showHydrogen.Bind(wx.EVT_CHECKBOX, OnShowHyd)
    29652966            showHydrogen.SetValue(drawingData['showHydrogen'])
    2966             line2Sizer.Add(showHydrogen,0,wx.ALIGN_CENTER_VERTICAL)
     2967            line2Sizer.Add(showHydrogen,0,WACV)
    29672968           
    29682969            showRB = wx.CheckBox(drawOptions,-1,label=' Show rigid Bodies?')
    29692970            showRB.Bind(wx.EVT_CHECKBOX, OnShowRB)
    29702971            showRB.SetValue(drawingData['showRigidBodies'])
    2971             line2Sizer.Add(showRB,0,wx.ALIGN_CENTER_VERTICAL)
     2972            line2Sizer.Add(showRB,0,WACV)
    29722973           
    29732974            showSizer.Add(line2Sizer)
     
    29962997           
    29972998            radSizer = wx.BoxSizer(wx.HORIZONTAL)
    2998             radSizer.Add(wx.StaticText(drawOptions,-1,' Hydrogen radius, A:  '),0,wx.ALIGN_CENTER_VERTICAL)
     2999            radSizer.Add(wx.StaticText(drawOptions,-1,' Hydrogen radius, A:  '),0,WACV)
    29993000            sizeH = wx.TextCtrl(drawOptions,-1,value='%.2f'%(drawingData['sizeH']),size=wx.Size(60,20),style=wx.TE_PROCESS_ENTER)
    30003001            sizeH.Bind(wx.EVT_TEXT_ENTER,OnSizeHatoms)
    30013002            sizeH.Bind(wx.EVT_KILL_FOCUS,OnSizeHatoms)
    3002             radSizer.Add(sizeH,0,wx.ALIGN_CENTER_VERTICAL)
     3003            radSizer.Add(sizeH,0,WACV)
    30033004   
    3004             radSizer.Add(wx.StaticText(drawOptions,-1,' Bond search factor:  '),0,wx.ALIGN_CENTER_VERTICAL)
     3005            radSizer.Add(wx.StaticText(drawOptions,-1,' Bond search factor:  '),0,WACV)
    30053006            radFactor = wx.TextCtrl(drawOptions,value='%.2f'%(drawingData['radiusFactor']),size=wx.Size(60,20),style=wx.TE_PROCESS_ENTER)
    30063007            radFactor.Bind(wx.EVT_TEXT_ENTER,OnRadFactor)
    30073008            radFactor.Bind(wx.EVT_KILL_FOCUS,OnRadFactor)
    3008             radSizer.Add(radFactor,0,wx.ALIGN_CENTER_VERTICAL)
     3009            radSizer.Add(radFactor,0,WACV)
    30093010            return radSizer
    30103011
     
    30243025        mainSizer = wx.BoxSizer(wx.VERTICAL)
    30253026        mainSizer.Add((5,5),0)
    3026         mainSizer.Add(wx.StaticText(drawOptions,-1,' Drawing controls:'),0,wx.ALIGN_CENTER_VERTICAL)
     3027        mainSizer.Add(wx.StaticText(drawOptions,-1,' Drawing controls:'),0,WACV)
    30273028        mainSizer.Add((5,5),0)       
    30283029        mainSizer.Add(SlopSizer(),0)
     
    31583159        mainSizer = wx.BoxSizer(wx.VERTICAL)
    31593160        titleSizer = wx.BoxSizer(wx.HORIZONTAL)
    3160         titleSizer.Add(wx.StaticText(Texture,-1,'Spherical harmonics texture data for '+PhaseName+':'),0,wx.ALIGN_CENTER_VERTICAL)
     3161        titleSizer.Add(wx.StaticText(Texture,-1,'Spherical harmonics texture data for '+PhaseName+':'),0,WACV)
    31613162        titleSizer.Add(wx.StaticText(Texture,-1,
    31623163            ' Texture Index J = %7.3f'%(G2lat.textureIndex(textureData['SH Coeff'][1]))),
    3163             0,wx.ALIGN_CENTER_VERTICAL)
     3164            0,WACV)
    31643165        mainSizer.Add(titleSizer,0)
    31653166        mainSizer.Add((0,5),0)
    31663167        shSizer = wx.FlexGridSizer(1,6,5,5)
    3167         shSizer.Add(wx.StaticText(Texture,-1,'Texture model: '),0,wx.ALIGN_CENTER_VERTICAL)
     3168        shSizer.Add(wx.StaticText(Texture,-1,'Texture model: '),0,WACV)
    31683169        shModel = wx.ComboBox(Texture,-1,value=textureData['Model'],choices=shModels,
    31693170            style=wx.CB_READONLY|wx.CB_DROPDOWN)
    31703171        shModel.Bind(wx.EVT_COMBOBOX,OnShModel)
    3171         shSizer.Add(shModel,0,wx.ALIGN_CENTER_VERTICAL)
    3172         shSizer.Add(wx.StaticText(Texture,-1,'  Harmonic order: '),0,wx.ALIGN_CENTER_VERTICAL)
     3172        shSizer.Add(shModel,0,WACV)
     3173        shSizer.Add(wx.StaticText(Texture,-1,'  Harmonic order: '),0,WACV)
    31733174        shOrder = wx.ComboBox(Texture,-1,value=str(textureData['Order']),choices=[str(2*i) for i in range(18)],
    31743175            style=wx.CB_READONLY|wx.CB_DROPDOWN)
    31753176        shOrder.Bind(wx.EVT_COMBOBOX,OnShOrder)
    3176         shSizer.Add(shOrder,0,wx.ALIGN_CENTER_VERTICAL)
     3177        shSizer.Add(shOrder,0,WACV)
    31773178        shRef = wx.CheckBox(Texture,-1,label=' Refine texture?')
    31783179        shRef.SetValue(textureData['SH Coeff'][0])
    31793180        shRef.Bind(wx.EVT_CHECKBOX, OnSHRefine)
    3180         shSizer.Add(shRef,0,wx.ALIGN_CENTER_VERTICAL)
     3181        shSizer.Add(shRef,0,WACV)
    31813182        shShow = wx.CheckBox(Texture,-1,label=' Show coeff.?')
    31823183        shShow.SetValue(textureData['SHShow'])
    31833184        shShow.Bind(wx.EVT_CHECKBOX, OnSHShow)
    3184         shSizer.Add(shShow,0,wx.ALIGN_CENTER_VERTICAL)
     3185        shSizer.Add(shShow,0,WACV)
    31853186        mainSizer.Add(shSizer,0,0)
    31863187        mainSizer.Add((0,5),0)
    31873188        PTSizer = wx.FlexGridSizer(2,4,5,5)
    3188         PTSizer.Add(wx.StaticText(Texture,-1,' Texture plot type: '),0,wx.ALIGN_CENTER_VERTICAL)
     3189        PTSizer.Add(wx.StaticText(Texture,-1,' Texture plot type: '),0,WACV)
    31893190        choices = ['Axial pole distribution','Pole figure','Inverse pole figure']           
    31903191        pfType = wx.ComboBox(Texture,-1,value=str(textureData['PlotType']),choices=choices,
    31913192            style=wx.CB_READONLY|wx.CB_DROPDOWN)
    31923193        pfType.Bind(wx.EVT_COMBOBOX,OnPfType)
    3193         PTSizer.Add(pfType,0,wx.ALIGN_CENTER_VERTICAL)
     3194        PTSizer.Add(pfType,0,WACV)
    31943195        if 'Axial' not in textureData['PlotType']:
    3195             PTSizer.Add(wx.StaticText(Texture,-1,' Projection type: '),0,wx.ALIGN_CENTER_VERTICAL)
     3196            PTSizer.Add(wx.StaticText(Texture,-1,' Projection type: '),0,WACV)
    31963197            projSel = wx.ComboBox(Texture,-1,value=G2frame.Projection,choices=['equal area','stereographic','3D display'],
    31973198                style=wx.CB_READONLY|wx.CB_DROPDOWN)
    31983199            projSel.Bind(wx.EVT_COMBOBOX,OnProjSel)
    3199             PTSizer.Add(projSel,0,wx.ALIGN_CENTER_VERTICAL)
     3200            PTSizer.Add(projSel,0,WACV)
    32003201        if textureData['PlotType'] in ['Pole figure','Axial pole distribution']:
    3201             PTSizer.Add(wx.StaticText(Texture,-1,' Pole figure HKL: '),0,wx.ALIGN_CENTER_VERTICAL)
     3202            PTSizer.Add(wx.StaticText(Texture,-1,' Pole figure HKL: '),0,WACV)
    32023203            PH = textureData['PFhkl']
    32033204            pfVal = wx.TextCtrl(Texture,-1,'%d %d %d'%(PH[0],PH[1],PH[2]),style=wx.TE_PROCESS_ENTER)
    32043205        else:
    3205             PTSizer.Add(wx.StaticText(Texture,-1,' Inverse pole figure XYZ: '),0,wx.ALIGN_CENTER_VERTICAL)
     3206            PTSizer.Add(wx.StaticText(Texture,-1,' Inverse pole figure XYZ: '),0,WACV)
    32063207            PX = textureData['PFxyz']
    32073208            pfVal = wx.TextCtrl(Texture,-1,'%3.1f %3.1f %3.1f'%(PX[0],PX[1],PX[2]),style=wx.TE_PROCESS_ENTER)
    32083209        pfVal.Bind(wx.EVT_TEXT_ENTER,OnPFValue)
    32093210        pfVal.Bind(wx.EVT_KILL_FOCUS,OnPFValue)
    3210         PTSizer.Add(pfVal,0,wx.ALIGN_CENTER_VERTICAL)
     3211        PTSizer.Add(pfVal,0,WACV)
    32113212        if 'Axial' not in textureData['PlotType']:
    3212             PTSizer.Add(wx.StaticText(Texture,-1,' Color scheme'),0,wx.ALIGN_CENTER_VERTICAL)
     3213            PTSizer.Add(wx.StaticText(Texture,-1,' Color scheme'),0,WACV)
    32133214            choice = [m for m in mpl.cm.datad.keys() if not m.endswith("_r")]
    32143215            choice.sort()
     
    32163217                style=wx.CB_READONLY|wx.CB_DROPDOWN)
    32173218            colorSel.Bind(wx.EVT_COMBOBOX,OnColorSel)
    3218             PTSizer.Add(colorSel,0,wx.ALIGN_CENTER_VERTICAL)       
    3219         mainSizer.Add(PTSizer,0,wx.ALIGN_CENTER_VERTICAL)
     3219            PTSizer.Add(colorSel,0,WACV)       
     3220        mainSizer.Add(PTSizer,0,WACV)
    32203221        mainSizer.Add((0,5),0)
    32213222        if textureData['SHShow']:
    3222             mainSizer.Add(wx.StaticText(Texture,-1,'Spherical harmonic coefficients: '),0,wx.ALIGN_CENTER_VERTICAL)
     3223            mainSizer.Add(wx.StaticText(Texture,-1,'Spherical harmonic coefficients: '),0,WACV)
    32233224            mainSizer.Add((0,5),0)
    32243225            ODFSizer = wx.FlexGridSizer(2,8,2,2)
     
    32273228            ODFkeys.sort()
    32283229            for item in ODFkeys:
    3229                 ODFSizer.Add(wx.StaticText(Texture,-1,item),0,wx.ALIGN_CENTER_VERTICAL)
     3230                ODFSizer.Add(wx.StaticText(Texture,-1,item),0,WACV)
    32303231                ODFval = wx.TextCtrl(Texture,wx.ID_ANY,'%8.3f'%(textureData['SH Coeff'][1][item]),style=wx.TE_PROCESS_ENTER)
    32313232                ODFIndx[ODFval.GetId()] = item
    32323233                ODFval.Bind(wx.EVT_TEXT_ENTER,OnODFValue)
    32333234                ODFval.Bind(wx.EVT_KILL_FOCUS,OnODFValue)
    3234                 ODFSizer.Add(ODFval,0,wx.ALIGN_CENTER_VERTICAL)
    3235             mainSizer.Add(ODFSizer,0,wx.ALIGN_CENTER_VERTICAL)
     3235                ODFSizer.Add(ODFval,0,WACV)
     3236            mainSizer.Add(ODFSizer,0,WACV)
    32363237            mainSizer.Add((0,5),0)
    32373238        mainSizer.Add((0,5),0)
    3238         mainSizer.Add(wx.StaticText(Texture,-1,'Sample orientation angles: '),0,wx.ALIGN_CENTER_VERTICAL)
     3239        mainSizer.Add(wx.StaticText(Texture,-1,'Sample orientation angles: '),0,WACV)
    32393240        mainSizer.Add((0,5),0)
    32403241        angSizer = wx.BoxSizer(wx.HORIZONTAL)
     
    32463247            angIndx[angRef.GetId()] = item
    32473248            angRef.Bind(wx.EVT_CHECKBOX, OnAngRef)
    3248             angSizer.Add(angRef,0,wx.ALIGN_CENTER_VERTICAL)
     3249            angSizer.Add(angRef,0,WACV)
    32493250            angVal = wx.TextCtrl(Texture,wx.ID_ANY,'%8.2f'%(textureData[item][1]),style=wx.TE_PROCESS_ENTER)
    32503251            valIndx[angVal.GetId()] = item
    32513252            angVal.Bind(wx.EVT_TEXT_ENTER,OnAngValue)
    32523253            angVal.Bind(wx.EVT_KILL_FOCUS,OnAngValue)
    3253             angSizer.Add(angVal,0,wx.ALIGN_CENTER_VERTICAL)
     3254            angSizer.Add(angVal,0,WACV)
    32543255            angSizer.Add((5,0),0)
    3255         mainSizer.Add(angSizer,0,wx.ALIGN_CENTER_VERTICAL)
     3256        mainSizer.Add(angSizer,0,WACV)
    32563257        SetPhaseWindow(G2frame.dataFrame,Texture,mainSizer)
    32573258
     
    34553456                names += ['S12','S13','S21','S23','S31','S32','SAA','SBB']
    34563457            for i,name in enumerate(names):
    3457                 thermSizer.Add(wx.StaticText(RigidBodies,-1,name+': '),0,wx.ALIGN_CENTER_VERTICAL)
     3458                thermSizer.Add(wx.StaticText(RigidBodies,-1,name+': '),0,WACV)
    34583459                thermVal = wx.TextCtrl(RigidBodies,-1,value='%8.4f'%(model[1][i]),
    34593460                    style=wx.TE_PROCESS_ENTER)
     
    34663467                Tcheck.SetValue(model[2][i])
    34673468                Indx[Tcheck.GetId()] = i
    3468                 thermSizer.Add(Tcheck,0,wx.ALIGN_CENTER_VERTICAL)
     3469                thermSizer.Add(Tcheck,0,WACV)
    34693470            return thermSizer
    34703471           
     
    35243525            Orien = [Orien,]
    35253526            Orien.extend(OrienV/nl.norm(OrienV))
    3526             topSizer.Add(wx.StaticText(RigidBodies,-1,'Origin x,y,z:'),0,wx.ALIGN_CENTER_VERTICAL)
     3527            topSizer.Add(wx.StaticText(RigidBodies,-1,'Origin x,y,z:'),0,WACV)
    35273528            for ix,x in enumerate(Orig):
    35283529                origX = wx.TextCtrl(RigidBodies,-1,value='%8.5f'%(x),style=wx.TE_PROCESS_ENTER)
     
    35303531                origX.Bind(wx.EVT_KILL_FOCUS,OnOrigX)
    35313532                Indx[origX.GetId()] = ix
    3532                 topSizer.Add(origX,0,wx.ALIGN_CENTER_VERTICAL)
     3533                topSizer.Add(origX,0,WACV)
    35333534            topSizer.Add((5,0),)
    35343535            Ocheck = wx.CheckBox(RigidBodies,-1,'Refine?')
    35353536            Ocheck.Bind(wx.EVT_CHECKBOX,OnOrigRef)
    35363537            Ocheck.SetValue(RBObj['Orig'][1])
    3537             topSizer.Add(Ocheck,0,wx.ALIGN_CENTER_VERTICAL)
    3538             topSizer.Add(wx.StaticText(RigidBodies,-1,'Rotation angle, vector:'),0,wx.ALIGN_CENTER_VERTICAL)
     3538            topSizer.Add(Ocheck,0,WACV)
     3539            topSizer.Add(wx.StaticText(RigidBodies,-1,'Rotation angle, vector:'),0,WACV)
    35393540            for ix,x in enumerate(Orien):
    35403541                orien = wx.TextCtrl(RigidBodies,-1,value='%8.4f'%(x),style=wx.TE_PROCESS_ENTER)
     
    35423543                orien.Bind(wx.EVT_KILL_FOCUS,OnOrien)
    35433544                Indx[orien.GetId()] = ix
    3544                 topSizer.Add(orien,0,wx.ALIGN_CENTER_VERTICAL)
     3545                topSizer.Add(orien,0,WACV)
    35453546            Qcheck = wx.ComboBox(RigidBodies,-1,value='',choices=[' ','A','AV'],
    35463547                style=wx.CB_READONLY|wx.CB_DROPDOWN)
     
    35903591            topLine = wx.BoxSizer(wx.HORIZONTAL)
    35913592            topLine.Add(wx.StaticText(RigidBodies,-1,
    3592                 'Name: '+RBObj['RBname']+RBObj['numChain']+'   '),0,wx.ALIGN_CENTER_VERTICAL)
     3593                'Name: '+RBObj['RBname']+RBObj['numChain']+'   '),0,WACV)
    35933594            rbId = RBObj['RBId']
    35943595            delRB = wx.CheckBox(RigidBodies,-1,'Delete?')
    35953596            delRB.Bind(wx.EVT_CHECKBOX,OnDelResRB)
    35963597            Indx[delRB.GetId()] = rbId
    3597             topLine.Add(delRB,0,wx.ALIGN_CENTER_VERTICAL)
     3598            topLine.Add(delRB,0,WACV)
    35983599            resrbSizer.Add(topLine)
    35993600            resrbSizer.Add(LocationSizer(RBObj,'Residue'))
    3600             resrbSizer.Add(wx.StaticText(RigidBodies,-1,'Torsions:'),0,wx.ALIGN_CENTER_VERTICAL)
     3601            resrbSizer.Add(wx.StaticText(RigidBodies,-1,'Torsions:'),0,WACV)
    36013602            torSizer = wx.FlexGridSizer(1,6,5,5)
    36023603            for itors,tors in enumerate(RBObj['Torsions']):
    3603                 torSizer.Add(wx.StaticText(RigidBodies,-1,'Torsion '+'%d'%(itors)),0,wx.ALIGN_CENTER_VERTICAL)
     3604                torSizer.Add(wx.StaticText(RigidBodies,-1,'Torsion '+'%d'%(itors)),0,WACV)
    36043605                torsTxt = wx.TextCtrl(RigidBodies,-1,value='%.3f'%(tors[0]),style=wx.TE_PROCESS_ENTER)
    36053606                torsTxt.Bind(wx.EVT_TEXT_ENTER,OnTorsion)
     
    36113612                torCheck.SetValue(tors[1])
    36123613                Indx[torCheck.GetId()] = itors
    3613                 torSizer.Add(torCheck,0,wx.ALIGN_CENTER_VERTICAL)
     3614                torSizer.Add(torCheck,0,WACV)
    36143615            resrbSizer.Add(torSizer)
    36153616            tchoice = ['None','Uiso','T','TL','TLS']
    36163617            thermSizer = wx.BoxSizer(wx.HORIZONTAL)
    3617             thermSizer.Add(wx.StaticText(RigidBodies,-1,'Rigid body thermal motion model: '),0,wx.ALIGN_CENTER_VERTICAL)
     3618            thermSizer.Add(wx.StaticText(RigidBodies,-1,'Rigid body thermal motion model: '),0,WACV)
    36183619            thermSel = wx.ComboBox(RigidBodies,-1,value=RBObj['ThermalMotion'][0],choices=tchoice,
    36193620                style=wx.CB_READONLY|wx.CB_DROPDOWN)
    36203621            Indx[thermSel.GetId()] = RBObj
    36213622            thermSel.Bind(wx.EVT_COMBOBOX,OnThermSel)
    3622             thermSizer.Add(thermSel,0,wx.ALIGN_CENTER_VERTICAL)
    3623             thermSizer.Add(wx.StaticText(RigidBodies,-1,' Units: T A^2, L deg^2, S deg-A'),0,wx.ALIGN_CENTER_VERTICAL)
     3623            thermSizer.Add(thermSel,0,WACV)
     3624            thermSizer.Add(wx.StaticText(RigidBodies,-1,' Units: T A^2, L deg^2, S deg-A'),0,WACV)
    36243625            resrbSizer.Add(thermSizer)
    36253626            if RBObj['ThermalMotion'][0] != 'None':
     
    36453646            topLine = wx.BoxSizer(wx.HORIZONTAL)
    36463647            topLine.Add(wx.StaticText(RigidBodies,-1,
    3647                 'Name: '+RBObj['RBname']+'   '),0,wx.ALIGN_CENTER_VERTICAL)
     3648                'Name: '+RBObj['RBname']+'   '),0,WACV)
    36483649            rbId = RBObj['RBId']
    36493650            delRB = wx.CheckBox(RigidBodies,-1,'Delete?')
    36503651            delRB.Bind(wx.EVT_CHECKBOX,OnDelVecRB)
    36513652            Indx[delRB.GetId()] = rbId
    3652             topLine.Add(delRB,0,wx.ALIGN_CENTER_VERTICAL)
     3653            topLine.Add(delRB,0,WACV)
    36533654            vecrbSizer.Add(topLine)
    36543655            vecrbSizer.Add(LocationSizer(RBObj,'Vector'))
    36553656            tchoice = ['None','Uiso','T','TL','TLS']
    36563657            thermSizer = wx.BoxSizer(wx.HORIZONTAL)
    3657             thermSizer.Add(wx.StaticText(RigidBodies,-1,'Rigid body thermal motion model: '),0,wx.ALIGN_CENTER_VERTICAL)
     3658            thermSizer.Add(wx.StaticText(RigidBodies,-1,'Rigid body thermal motion model: '),0,WACV)
    36583659            thermSel = wx.ComboBox(RigidBodies,-1,value=RBObj['ThermalMotion'][0],choices=tchoice,
    36593660                style=wx.CB_READONLY|wx.CB_DROPDOWN)
    36603661            Indx[thermSel.GetId()] = RBObj
    36613662            thermSel.Bind(wx.EVT_COMBOBOX,OnThermSel)
    3662             thermSizer.Add(thermSel,0,wx.ALIGN_CENTER_VERTICAL)
    3663             thermSizer.Add(wx.StaticText(RigidBodies,-1,' Units: T A^2, L deg^2, S deg-A'),0,wx.ALIGN_CENTER_VERTICAL)
     3663            thermSizer.Add(thermSel,0,WACV)
     3664            thermSizer.Add(wx.StaticText(RigidBodies,-1,' Units: T A^2, L deg^2, S deg-A'),0,WACV)
    36643665            vecrbSizer.Add(thermSizer)
    36653666            if RBObj['ThermalMotion'][0] != 'None':
     
    36843685        if not data['RBModels']:
    36853686            mainSizer.Add((5,5),0)
    3686             mainSizer.Add(wx.StaticText(RigidBodies,-1,'No rigid body models:'),0,wx.ALIGN_CENTER_VERTICAL)
     3687            mainSizer.Add(wx.StaticText(RigidBodies,-1,'No rigid body models:'),0,WACV)
    36873688            mainSizer.Add((5,5),0)
    36883689        if 'Residue' in data['RBModels']:
    36893690            mainSizer.Add((5,5),0)
    3690             mainSizer.Add(wx.StaticText(RigidBodies,-1,'Residue rigid bodies:'),0,wx.ALIGN_CENTER_VERTICAL)
     3691            mainSizer.Add(wx.StaticText(RigidBodies,-1,'Residue rigid bodies:'),0,WACV)
    36913692            mainSizer.Add((5,5),0)
    36923693            for RBObj in data['RBModels']['Residue']:
     
    36943695        if 'Vector' in data['RBModels']:
    36953696            mainSizer.Add((5,5),0)
    3696             mainSizer.Add(wx.StaticText(RigidBodies,-1,'Vector rigid bodies:'),0,wx.ALIGN_CENTER_VERTICAL)
     3697            mainSizer.Add(wx.StaticText(RigidBodies,-1,'Vector rigid bodies:'),0,WACV)
    36973698            mainSizer.Add((5,5),0)
    36983699            for RBObj in data['RBModels']['Vector']:
     
    39413942                atNames = data['testRBObj']['atNames']
    39423943                mainSizer.Add(wx.StaticText(RigidBodies,-1,'Locate rigid body : '+rbName),
    3943                     0,wx.ALIGN_CENTER_VERTICAL)
     3944                    0,WACV)
    39443945                mainSizer.Add((5,5),0)
    39453946                OriSizer = wx.FlexGridSizer(1,5,5,5)
    3946                 OriSizer.Add(wx.StaticText(RigidBodies,-1,'Origin x,y,z: '),0,wx.ALIGN_CENTER_VERTICAL)
     3947                OriSizer.Add(wx.StaticText(RigidBodies,-1,'Origin x,y,z: '),0,WACV)
    39473948                for ix,x in enumerate(Orig):
    39483949                    origX = wx.StaticText(RigidBodies,-1,'%10.5f'%(x))
    3949                     OriSizer.Add(origX,0,wx.ALIGN_CENTER_VERTICAL)
     3950                    OriSizer.Add(origX,0,WACV)
    39503951                    Xsizers.append(origX)
    39513952                OriSizer.Add((5,0),)
     
    39543955                    choice.sort()
    39553956                    data['testRBObj']['Sizers']['Xsizers'] = Xsizers
    3956                 OriSizer.Add(wx.StaticText(RigidBodies,-1,'Orientation quaternion: '),0,wx.ALIGN_CENTER_VERTICAL)
     3957                OriSizer.Add(wx.StaticText(RigidBodies,-1,'Orientation quaternion: '),0,WACV)
    39573958                for ix,x in enumerate(Orien):
    39583959                    orien = wx.StaticText(RigidBodies,-1,'%10.4f'%(x))
    3959                     OriSizer.Add(orien,0,wx.ALIGN_CENTER_VERTICAL)
     3960                    OriSizer.Add(orien,0,WACV)
    39603961                    Osizers.append(orien)
    39613962                data['testRBObj']['Sizers']['Osizers'] = Osizers
     
    39643965                RefSizer = wx.FlexGridSizer(1,7,5,5)
    39653966                if len(atomData):
    3966                     RefSizer.Add(wx.StaticText(RigidBodies,-1,'Location setting: Select match to'),0,wx.ALIGN_CENTER_VERTICAL)
     3967                    RefSizer.Add(wx.StaticText(RigidBodies,-1,'Location setting: Select match to'),0,WACV)
    39673968                    for i in [0,1,2]:
    39683969                        choice = ['',]+atNames[i].keys()
    39693970                        choice.sort()
    3970                         RefSizer.Add(wx.StaticText(RigidBodies,-1,' '+refName[i]+': '),0,wx.ALIGN_CENTER_VERTICAL)
     3971                        RefSizer.Add(wx.StaticText(RigidBodies,-1,' '+refName[i]+': '),0,WACV)
    39713972                        atPick = wx.ComboBox(RigidBodies,-1,value='',
    39723973                            choices=choice[1:],style=wx.CB_READONLY|wx.CB_DROPDOWN)
     
    39763977                            atPick.Bind(wx.EVT_COMBOBOX, OnAtOrigPick)                           
    39773978                        Indx[atPick.GetId()] = i
    3978                         RefSizer.Add(atPick,0,wx.ALIGN_CENTER_VERTICAL)
     3979                        RefSizer.Add(atPick,0,WACV)
    39793980                mainSizer.Add(RefSizer)
    39803981                mainSizer.Add((5,5),0)
     
    39893990                        for item in [seq[0],seq[1],seq[3][0]]:
    39903991                            torName += data['testRBObj']['rbAtTypes'][item]+str(item)+' '
    3991                         TorSizer.Add(wx.StaticText(RigidBodies,-1,'Side chain torsion for rb seq: '+torName),0,wx.ALIGN_CENTER_VERTICAL)
     3992                        TorSizer.Add(wx.StaticText(RigidBodies,-1,'Side chain torsion for rb seq: '+torName),0,WACV)
    39923993                        torSlide = wx.Slider(RigidBodies,style=wx.SL_HORIZONTAL)
    39933994                        torSlide.SetRange(0,3600)
     
    39953996                        torSlide.Bind(wx.EVT_SLIDER, OnTorSlide)
    39963997                        TorSizer.Add(torSlide,1,wx.EXPAND|wx.RIGHT)
    3997                         TorSizer.Add(wx.StaticText(RigidBodies,-1,' Angle: '),0,wx.ALIGN_CENTER_VERTICAL)
     3998                        TorSizer.Add(wx.StaticText(RigidBodies,-1,' Angle: '),0,WACV)
    39983999                        ang = wx.TextCtrl(RigidBodies,-1,value='%8.3f'%(torsion[0]),style=wx.TE_PROCESS_ENTER)
    39994000                        ang.Bind(wx.EVT_TEXT_ENTER,OnTorAngle)
     
    40014002                        Indx[torSlide.GetId()] = [t,ang]
    40024003                        Indx[ang.GetId()] = [t,torSlide]
    4003                         TorSizer.Add(ang,0,wx.ALIGN_CENTER_VERTICAL)                           
     4004                        TorSizer.Add(ang,0,WACV)                           
    40044005                    mainSizer.Add(TorSizer,1,wx.EXPAND|wx.RIGHT)
    40054006                else:
    4006                     mainSizer.Add(wx.StaticText(RigidBodies,-1,'No side chain torsions'),0,wx.ALIGN_CENTER_VERTICAL)
     4007                    mainSizer.Add(wx.StaticText(RigidBodies,-1,'No side chain torsions'),0,WACV)
    40074008            else:
    4008                 mainSizer.Add(wx.StaticText(RigidBodies,-1,'Assign rigid body:'),0,wx.ALIGN_CENTER_VERTICAL)
     4009                mainSizer.Add(wx.StaticText(RigidBodies,-1,'Assign rigid body:'),0,WACV)
    40094010                mainSizer.Add((5,5),0)
    40104011                topSizer = wx.BoxSizer(wx.HORIZONTAL)
    4011                 topSizer.Add(wx.StaticText(RigidBodies,-1,'Select rigid body model'),0,wx.ALIGN_CENTER_VERTICAL)
     4012                topSizer.Add(wx.StaticText(RigidBodies,-1,'Select rigid body model'),0,WACV)
    40124013                rbSel = wx.ComboBox(RigidBodies,-1,value='',choices=rbNames.keys(),
    40134014                    style=wx.CB_READONLY|wx.CB_DROPDOWN)
    40144015                rbSel.Bind(wx.EVT_COMBOBOX, OnRBSel)
    40154016                topSizer.Add((5,5),0)
    4016                 topSizer.Add(rbSel,0,wx.ALIGN_CENTER_VERTICAL)
     4017                topSizer.Add(rbSel,0,WACV)
    40174018                mainSizer.Add(topSizer)               
    40184019               
     
    42564257           
    42574258            atomsizer = wx.FlexGridSizer(1,7,5,5)
    4258             atomsizer.Add(wx.StaticText(MCSA,-1,' Atom: '+model['name']+': '),0,wx.ALIGN_CENTER_VERTICAL)
     4259            atomsizer.Add(wx.StaticText(MCSA,-1,' Atom: '+model['name']+': '),0,WACV)
    42594260            for ix,item in enumerate(['x','y','z']):
    42604261                posRef = wx.CheckBox(MCSA,-1,label=item+': ')
     
    42624263                posRef.Bind(wx.EVT_CHECKBOX,OnPosRef)
    42634264                Indx[posRef.GetId()] = [model,'Pos',ix]
    4264                 atomsizer.Add(posRef,0,wx.ALIGN_CENTER_VERTICAL)
     4265                atomsizer.Add(posRef,0,WACV)
    42654266                posVal = wx.TextCtrl(MCSA,-1,'%.4f'%(model['Pos'][0][ix]),style=wx.TE_PROCESS_ENTER)
    42664267                posVal.Bind(wx.EVT_TEXT_ENTER,OnPosVal)
    42674268                posVal.Bind(wx.EVT_KILL_FOCUS,OnPosVal)
    42684269                Indx[posVal.GetId()] = [model,'Pos',ix]
    4269                 atomsizer.Add(posVal,0,wx.ALIGN_CENTER_VERTICAL)
     4270                atomsizer.Add(posVal,0,WACV)
    42704271            atomsizer.Add((5,5),0)
    42714272            for ix,item in enumerate(['x','y','z']):
    4272                 atomsizer.Add(wx.StaticText(MCSA,-1,' Range: '),0,wx.ALIGN_CENTER_VERTICAL)
     4273                atomsizer.Add(wx.StaticText(MCSA,-1,' Range: '),0,WACV)
    42734274                rmin,rmax = model['Pos'][2][ix]
    42744275                posRange = wx.TextCtrl(MCSA,-1,'%.3f %.3f'%(rmin,rmax),style=wx.TE_PROCESS_ENTER)
     
    42764277                posRange.Bind(wx.EVT_TEXT_ENTER,OnPosRange)
    42774278                posRange.Bind(wx.EVT_KILL_FOCUS,OnPosRange)
    4278                 atomsizer.Add(posRange,0,wx.ALIGN_CENTER_VERTICAL)
     4279                atomsizer.Add(posRange,0,WACV)
    42794280            return atomsizer
    42804281           
     
    43284329            rbsizer = wx.BoxSizer(wx.VERTICAL)
    43294330            rbsizer1 = wx.FlexGridSizer(1,7,5,5)
    4330             rbsizer1.Add(wx.StaticText(MCSA,-1,model['Type']+': '+model['name']+': '),0,wx.ALIGN_CENTER_VERTICAL)
     4331            rbsizer1.Add(wx.StaticText(MCSA,-1,model['Type']+': '+model['name']+': '),0,WACV)
    43314332            for ix,item in enumerate(['x','y','z']):
    43324333                posRef = wx.CheckBox(MCSA,-1,label=item+': ')
     
    43344335                posRef.Bind(wx.EVT_CHECKBOX,OnPosRef)
    43354336                Indx[posRef.GetId()] = [model,'Pos',ix]
    4336                 rbsizer1.Add(posRef,0,wx.ALIGN_CENTER_VERTICAL)
     4337                rbsizer1.Add(posRef,0,WACV)
    43374338                posVal = wx.TextCtrl(MCSA,-1,'%.4f'%(model['Pos'][0][ix]),style=wx.TE_PROCESS_ENTER)
    43384339                posVal.Bind(wx.EVT_TEXT_ENTER,OnPosVal)
    43394340                posVal.Bind(wx.EVT_KILL_FOCUS,OnPosVal)
    43404341                Indx[posVal.GetId()] = [model,'Pos',ix]
    4341                 rbsizer1.Add(posVal,0,wx.ALIGN_CENTER_VERTICAL)
     4342                rbsizer1.Add(posVal,0,WACV)
    43424343            molcent = wx.CheckBox(MCSA,-1,label=' Use mol. center? ')
    43434344            molcent.SetValue(model['MolCent'][1])
    43444345            molcent.Bind(wx.EVT_CHECKBOX,OnMolCent)
    43454346            Indx[molcent.GetId()] = model
    4346             rbsizer1.Add(molcent,0,wx.ALIGN_CENTER_VERTICAL)
     4347            rbsizer1.Add(molcent,0,WACV)
    43474348            for ix,item in enumerate(['x','y','z']):
    4348                 rbsizer1.Add(wx.StaticText(MCSA,-1,' Range: '),0,wx.ALIGN_CENTER_VERTICAL)
     4349                rbsizer1.Add(wx.StaticText(MCSA,-1,' Range: '),0,WACV)
    43494350                rmin,rmax = model['Pos'][2][ix]
    43504351                posRange = wx.TextCtrl(MCSA,-1,'%.3f %.3f'%(rmin,rmax),style=wx.TE_PROCESS_ENTER)
     
    43524353                posRange.Bind(wx.EVT_TEXT_ENTER,OnPosRange)
    43534354                posRange.Bind(wx.EVT_KILL_FOCUS,OnPosRange)
    4354                 rbsizer1.Add(posRange,0,wx.ALIGN_CENTER_VERTICAL)
     4355                rbsizer1.Add(posRange,0,WACV)
    43554356               
    43564357            rbsizer2 = wx.FlexGridSizer(1,6,5,5)
    43574358            Ori = model['Ori'][0]
    4358             rbsizer2.Add(wx.StaticText(MCSA,-1,'Oa: '),0,wx.ALIGN_CENTER_VERTICAL)
     4359            rbsizer2.Add(wx.StaticText(MCSA,-1,'Oa: '),0,WACV)
    43594360            angVal = wx.TextCtrl(MCSA,-1,'%.5f'%(Ori[0]),style=wx.TE_PROCESS_ENTER)
    43604361            angVal.Bind(wx.EVT_TEXT_ENTER,OnOriVal)
    43614362            angVal.Bind(wx.EVT_KILL_FOCUS,OnOriVal)
    4362             rbsizer2.Add(angVal,0,wx.ALIGN_CENTER_VERTICAL)
    4363             rbsizer2.Add(wx.StaticText(MCSA,-1,'Oi,Oj,Ok: '),0,wx.ALIGN_CENTER_VERTICAL)
     4363            rbsizer2.Add(angVal,0,WACV)
     4364            rbsizer2.Add(wx.StaticText(MCSA,-1,'Oi,Oj,Ok: '),0,WACV)
    43644365            vecVal = wx.TextCtrl(MCSA,-1,'%.3f %.3f %.3f'%(Ori[1],Ori[2],Ori[3]),style=wx.TE_PROCESS_ENTER)
    43654366            vecVal.Bind(wx.EVT_TEXT_ENTER,OnOriVal)
     
    43674368            Indx[angVal.GetId()] = [model,0,angVal,vecVal]
    43684369            Indx[vecVal.GetId()] = [model,1,angVal,vecVal]
    4369             rbsizer2.Add(vecVal,0,wx.ALIGN_CENTER_VERTICAL)
    4370             rbsizer2.Add(wx.StaticText(MCSA,-1,' Vary? '),0,wx.ALIGN_CENTER_VERTICAL)
     4370            rbsizer2.Add(vecVal,0,WACV)
     4371            rbsizer2.Add(wx.StaticText(MCSA,-1,' Vary? '),0,WACV)
    43714372            choice = [' ','A','AV']
    43724373            orvar = wx.ComboBox(MCSA,-1,value=model['Ovar'],choices=choice,
     
    43744375            orvar.Bind(wx.EVT_COMBOBOX, OnOrVar)
    43754376            Indx[orvar.GetId()] = model
    4376             rbsizer2.Add(orvar,0,wx.ALIGN_CENTER_VERTICAL)
    4377             rbsizer2.Add(wx.StaticText(MCSA,-1,' Range: Oa: '),0,wx.ALIGN_CENTER_VERTICAL)
     4377            rbsizer2.Add(orvar,0,WACV)
     4378            rbsizer2.Add(wx.StaticText(MCSA,-1,' Range: Oa: '),0,WACV)
    43784379            Rge = model['Ori'][2]
    43794380            angRange = wx.TextCtrl(MCSA,-1,'%.3f %.3f'%(Rge[0][0],Rge[0][1]),style=wx.TE_PROCESS_ENTER)
     
    43814382            angRange.Bind(wx.EVT_TEXT_ENTER,OnPosRange)
    43824383            angRange.Bind(wx.EVT_KILL_FOCUS,OnPosRange)
    4383             rbsizer2.Add(angRange,0,wx.ALIGN_CENTER_VERTICAL)
    4384             rbsizer2.Add(wx.StaticText(MCSA,-1,'Oi,Oj,Ok: '),0,wx.ALIGN_CENTER_VERTICAL)
     4384            rbsizer2.Add(angRange,0,WACV)
     4385            rbsizer2.Add(wx.StaticText(MCSA,-1,'Oi,Oj,Ok: '),0,WACV)
    43854386            for io,item in enumerate(['Oi','Oj','Ok']):
    43864387                rmin,rmax = Rge[io+1]
     
    43894390                vecRange.Bind(wx.EVT_TEXT_ENTER,OnPosRange)
    43904391                vecRange.Bind(wx.EVT_KILL_FOCUS,OnPosRange)
    4391                 rbsizer2.Add(vecRange,0,wx.ALIGN_CENTER_VERTICAL)
     4392                rbsizer2.Add(vecRange,0,WACV)
    43924393            rbsizer.Add(rbsizer1)   
    43934394            rbsizer.Add(rbsizer2)   
    43944395            if model['Type'] == 'Residue':
    43954396                atNames = RBData['Residue'][model['RBId']]['atNames']
    4396                 rbsizer.Add(wx.StaticText(MCSA,-1,'Torsions:'),0,wx.ALIGN_CENTER_VERTICAL)
     4397                rbsizer.Add(wx.StaticText(MCSA,-1,'Torsions:'),0,WACV)
    43974398                rbsizer3 = wx.FlexGridSizer(1,8,5,5)
    43984399                for it,tor in enumerate(model['Tor'][0]):
     
    44034404                    torRef.Bind(wx.EVT_CHECKBOX,OnPosRef)
    44044405                    Indx[torRef.GetId()] = [model,'Tor',it]
    4405                     rbsizer3.Add(torRef,0,wx.ALIGN_CENTER_VERTICAL)
     4406                    rbsizer3.Add(torRef,0,WACV)
    44064407                    torVal = wx.TextCtrl(MCSA,-1,'%.4f'%(tor),style=wx.TE_PROCESS_ENTER)
    44074408                    torVal.Bind(wx.EVT_TEXT_ENTER,OnPosVal)
    44084409                    torVal.Bind(wx.EVT_KILL_FOCUS,OnPosVal)
    44094410                    Indx[torVal.GetId()] = [model,'Tor',it]
    4410                     rbsizer3.Add(torVal,0,wx.ALIGN_CENTER_VERTICAL)
    4411                     rbsizer3.Add(wx.StaticText(MCSA,-1,' Range: '),0,wx.ALIGN_CENTER_VERTICAL)
     4411                    rbsizer3.Add(torVal,0,WACV)
     4412                    rbsizer3.Add(wx.StaticText(MCSA,-1,' Range: '),0,WACV)
    44124413                    rmin,rmax = model['Tor'][2][it]
    44134414                    torRange = wx.TextCtrl(MCSA,-1,'%.3f %.3f'%(rmin,rmax),style=wx.TE_PROCESS_ENTER)
     
    44154416                    torRange.Bind(wx.EVT_TEXT_ENTER,OnPosRange)
    44164417                    torRange.Bind(wx.EVT_KILL_FOCUS,OnPosRange)
    4417                     rbsizer3.Add(torRange,0,wx.ALIGN_CENTER_VERTICAL)
     4418                    rbsizer3.Add(torRange,0,WACV)
    44184419                rbsizer.Add(rbsizer3)
    44194420               
     
    44634464            poRef.SetValue(POData['Coef'][1])
    44644465            poRef.Bind(wx.EVT_CHECKBOX,OnPORef)
    4465             poSizer.Add(poRef,0,wx.ALIGN_CENTER_VERTICAL)
     4466            poSizer.Add(poRef,0,WACV)
    44664467            poVal = wx.TextCtrl(MCSA,-1,'%.3f'%(POData['Coef'][0]),style=wx.TE_PROCESS_ENTER)
    44674468            poVal.Bind(wx.EVT_TEXT_ENTER,OnPOVal)
    44684469            poVal.Bind(wx.EVT_KILL_FOCUS,OnPOVal)
    4469             poSizer.Add(poVal,0,wx.ALIGN_CENTER_VERTICAL)
    4470             poSizer.Add(wx.StaticText(MCSA,-1,' Range: '),0,wx.ALIGN_CENTER_VERTICAL)
     4470            poSizer.Add(poVal,0,WACV)
     4471            poSizer.Add(wx.StaticText(MCSA,-1,' Range: '),0,WACV)
    44714472            rmin,rmax = POData['Coef'][2]
    44724473            poRange = wx.TextCtrl(MCSA,-1,'%.3f %.3f'%(rmin,rmax),style=wx.TE_PROCESS_ENTER)
    44734474            poRange.Bind(wx.EVT_TEXT_ENTER,OnPORange)
    44744475            poRange.Bind(wx.EVT_KILL_FOCUS,OnPORange)
    4475             poSizer.Add(poRange,0,wx.ALIGN_CENTER_VERTICAL)                       
    4476             poSizer.Add(wx.StaticText(MCSA,-1,' Unique axis, H K L: '),0,wx.ALIGN_CENTER_VERTICAL)
     4476            poSizer.Add(poRange,0,WACV)                       
     4477            poSizer.Add(wx.StaticText(MCSA,-1,' Unique axis, H K L: '),0,WACV)
    44774478            h,k,l = POData['axis']
    44784479            poAxis = wx.TextCtrl(MCSA,-1,'%3d %3d %3d'%(h,k,l),style=wx.TE_PROCESS_ENTER)
    44794480            poAxis.Bind(wx.EVT_TEXT_ENTER,OnPOAxis)
    44804481            poAxis.Bind(wx.EVT_KILL_FOCUS,OnPOAxis)
    4481             poSizer.Add(poAxis,0,wx.ALIGN_CENTER_VERTICAL)
     4482            poSizer.Add(poAxis,0,WACV)
    44824483            return poSizer
    44834484           
     
    45464547        if not data['MCSA']['Models']:
    45474548            mainSizer.Add((5,5),0)
    4548             mainSizer.Add(wx.StaticText(MCSA,-1,'No MC/SA models:'),0,wx.ALIGN_CENTER_VERTICAL)
     4549            mainSizer.Add(wx.StaticText(MCSA,-1,'No MC/SA models:'),0,WACV)
    45494550            mainSizer.Add((5,5),0)
    45504551        else:
    45514552            mainSizer.Add((5,5),0)
    4552             mainSizer.Add(wx.StaticText(MCSA,-1,'MC/SA models:'),0,wx.ALIGN_CENTER_VERTICAL)
     4553            mainSizer.Add(wx.StaticText(MCSA,-1,'MC/SA models:'),0,WACV)
    45534554            mainSizer.Add((5,5),0)
    45544555            for model in data['MCSA']['Models']:
     
    45684569        if not data['MCSA']['Results']:
    45694570            mainSizer.Add((5,5),0)
    4570             mainSizer.Add(wx.StaticText(MCSA,-1,'No MC/SA results:'),0,wx.ALIGN_CENTER_VERTICAL)
     4571            mainSizer.Add(wx.StaticText(MCSA,-1,'No MC/SA results:'),0,WACV)
    45714572            mainSizer.Add((5,5),0)
    45724573        else:
    45734574            mainSizer.Add((5,5),0)
    4574             mainSizer.Add(wx.StaticText(MCSA,-1,'MC/SA results:'),0,wx.ALIGN_CENTER_VERTICAL)
     4575            mainSizer.Add(wx.StaticText(MCSA,-1,'MC/SA results:'),0,WACV)
    45754576            mainSizer.Add((5,5),0)
    45764577            Results = data['MCSA']['Results']
  • trunk/GSASIIpwdGUI.py

    r1232 r1233  
    4040import GSASIIElemGUI as G2elemGUI
    4141import GSASIIElem as G2elem
     42import GSASIIsasd as G2sasd
    4243VERY_LIGHT_GREY = wx.Colour(235,235,235)
     44WACV = wx.ALIGN_CENTER_VERTICAL
    4345# trig functions in degrees
    4446sind = lambda x: math.sin(x*math.pi/180.)
     
    8183def SetDefaultSASDModel():
    8284    'Fills in default items for the SASD Models dictionary'   
    83     return {'Back':[0.0,False],'Size':{'MinMaxDiam':[50.,10000.],'Nbins':100,
    84         'Method':'MaxEnt','Distribution':[],
     85    return {'Back':[0.0,False],'Size':{'MinDiam':50,'MaxDiam':10000,'Nbins':100,
     86        'logBins':True,'Method':'MaxEnt','Distribution':[],
    8587        'Shape':['Spheroid',1.0],'MaxEnt':{'Niter':100,'Precision':0.01,'Sky':1e-6},
    8688        'IPG':{'Niter':100,'Approach':0.8},'Reg':{},},           
    8789        'Unified':{'Levels':[],},           
    8890        'Particle':{'Levels':[],},
     91        'Current':'Size dist.',
    8992        }
    9093       
     
    459462        backSizer = wx.BoxSizer(wx.VERTICAL)
    460463        topSizer = wx.BoxSizer(wx.HORIZONTAL)
    461         topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' Background function: '),0,wx.ALIGN_CENTER_VERTICAL)
     464        topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' Background function: '),0,WACV)
    462465        bakType = wx.ComboBox(G2frame.dataDisplay,value=data[0][0],
    463466                choices=Choices,style=wx.CB_READONLY|wx.CB_DROPDOWN)
     
    468471        bakRef.SetValue(bool(data[0][1]))
    469472        bakRef.Bind(wx.EVT_CHECKBOX, OnBakRef)
    470         topSizer.Add(bakRef,0,wx.ALIGN_CENTER_VERTICAL)
    471         topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' No. coeff.: '),0,wx.ALIGN_CENTER_VERTICAL)
     473        topSizer.Add(bakRef,0,WACV)
     474        topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' No. coeff.: '),0,WACV)
    472475        bakTerms = wx.ComboBox(G2frame.dataDisplay,-1,value=str(data[0][2]),choices=[str(i+1) for i in range(36)],
    473476            style=wx.CB_READONLY|wx.CB_DROPDOWN)
    474477        bakTerms.Bind(wx.EVT_COMBOBOX,OnBakTerms)
    475         topSizer.Add(bakTerms,0,wx.ALIGN_CENTER_VERTICAL)
     478        topSizer.Add(bakTerms,0,WACV)
    476479        topSizer.Add((5,0),0)
    477480        backSizer.Add(topSizer)
    478         backSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' Background coefficients:'),0,wx.ALIGN_CENTER_VERTICAL)
     481        backSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' Background coefficients:'),0,WACV)
    479482        bakSizer = wx.FlexGridSizer(1,5,5,5)
    480483        for i,value in enumerate(data[0][3:]):
    481484            bakVal = wx.TextCtrl(G2frame.dataDisplay,wx.ID_ANY,'%10.4f'%(value),style=wx.TE_PROCESS_ENTER)
    482             bakSizer.Add(bakVal,0,wx.ALIGN_CENTER_VERTICAL)
     485            bakSizer.Add(bakVal,0,WACV)
    483486            ValObj[bakVal.GetId()] = [i+3]
    484487            bakVal.Bind(wx.EVT_TEXT_ENTER,OnBakVal)
     
    522525        debSizer = wx.BoxSizer(wx.VERTICAL)
    523526        topSizer = wx.BoxSizer(wx.HORIZONTAL)
    524         topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' Debye scattering: '),0,wx.ALIGN_CENTER_VERTICAL)
    525         topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' No. coeff.: '),0,wx.ALIGN_CENTER_VERTICAL)
     527        topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' Debye scattering: '),0,WACV)
     528        topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' No. coeff.: '),0,WACV)
    526529        debTerms = wx.ComboBox(G2frame.dataDisplay,-1,value=str(data[1]['nDebye']),choices=[str(i) for i in range(12)],
    527530            style=wx.CB_READONLY|wx.CB_DROPDOWN)
    528531        debTerms.Bind(wx.EVT_COMBOBOX,OnDebTerms)
    529         topSizer.Add(debTerms,0,wx.ALIGN_CENTER_VERTICAL)
     532        topSizer.Add(debTerms,0,WACV)
    530533        topSizer.Add((5,0),0)
    531534        debSizer.Add(topSizer)
    532535        if data[1]['nDebye']:
    533             debSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' Debye diffuse terms:'),0,wx.ALIGN_CENTER_VERTICAL)       
     536            debSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' Debye diffuse terms:'),0,WACV)       
    534537            rowLabels = []
    535538            for i in range(len(data[1]['debyeTerms'])): rowLabels.append(str(i))
     
    580583        peaksSizer = wx.BoxSizer(wx.VERTICAL)
    581584        topSizer = wx.BoxSizer(wx.HORIZONTAL)
    582         topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' Peaks in background: '),0,wx.ALIGN_CENTER_VERTICAL)
    583         topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' No. peaks: '),0,wx.ALIGN_CENTER_VERTICAL)
     585        topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' Peaks in background: '),0,WACV)
     586        topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' No. peaks: '),0,WACV)
    584587        peaks = wx.ComboBox(G2frame.dataDisplay,-1,value=str(data[1]['nPeaks']),choices=[str(i) for i in range(12)],
    585588            style=wx.CB_READONLY|wx.CB_DROPDOWN)
    586589        peaks.Bind(wx.EVT_COMBOBOX,OnPeaks)
    587         topSizer.Add(peaks,0,wx.ALIGN_CENTER_VERTICAL)
     590        topSizer.Add(peaks,0,WACV)
    588591        topSizer.Add((5,0),0)
    589592        peaksSizer.Add(topSizer)
    590593        if data[1]['nPeaks']:
    591             peaksSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' Peak list:'),0,wx.ALIGN_CENTER_VERTICAL)       
     594            peaksSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' Peak list:'),0,WACV)       
    592595            rowLabels = []
    593596            for i in range(len(data[1]['peaksList'])): rowLabels.append(str(i))
     
    964967    topSizer = wx.FlexGridSizer(1,6,5,5)
    965968    instSizer = wx.FlexGridSizer(2,6,5,5)
    966     topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' Histogram Type: '+insVal['Type']),0,wx.ALIGN_CENTER_VERTICAL)
     969    topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' Histogram Type: '+insVal['Type']),0,WACV)
    967970#    topSizer.Add((5,5),0)
    968971    if 'P' in insVal['Type']:                   #powder data
     
    983986                insRef['Azimuth'] = False
    984987            #end of patch
    985             topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,'  Azimuth: %7.2f'%(insVal['Azimuth'])),0,wx.ALIGN_CENTER_VERTICAL)
     988            topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,'  Azimuth: %7.2f'%(insVal['Azimuth'])),0,WACV)
    986989            if 'Lam1' in insVal:
    987990                topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,'  Ka1/Ka2:'),
    988                         0,wx.ALIGN_CENTER_VERTICAL)
     991                        0,WACV)
    989992                topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,u'  %8.6f/%8.6f\xc5'%(insVal['Lam1'],insVal['Lam2'])),
    990                         0,wx.ALIGN_CENTER_VERTICAL)
     993                        0,WACV)
    991994                waveSizer = wx.BoxSizer(wx.HORIZONTAL)
    992                 waveSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,'  Select: '),0,wx.ALIGN_CENTER_VERTICAL)
     995                waveSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,'  Select: '),0,WACV)
    993996                choice = ['TiKa','CrKa','FeKa','CoKa','CuKa','MoKa','AgKa']
    994997                lamPick = wx.ComboBox(G2frame.dataDisplay,value=' ',choices=choice,style=wx.CB_READONLY|wx.CB_DROPDOWN)
     
    9971000                topSizer.Add(waveSizer,0)
    9981001                instSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' I(L2)/I(L1): (%10.4f)'%(insDef['I(L2)/I(L1)'])),
    999                         0,wx.ALIGN_CENTER_VERTICAL)
     1002                        0,WACV)
    10001003                ratVal = wx.TextCtrl(G2frame.dataDisplay,wx.ID_ANY,'%10.4f'%(insVal['I(L2)/I(L1)']),style=wx.TE_PROCESS_ENTER)
    10011004                ratVal.Bind(wx.EVT_TEXT_ENTER,OnRatValue)
     
    10051008                ratRef.SetValue(bool(insRef['I(L2)/I(L1)']))
    10061009                ratRef.Bind(wx.EVT_CHECKBOX, OnRatRef)
    1007                 instSizer.Add(ratRef,0,wx.ALIGN_CENTER_VERTICAL)
     1010                instSizer.Add(ratRef,0,WACV)
    10081011               
    10091012            else:
    10101013                topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,u' Lam (\xc5): (%10.6f)'%(insDef['Lam'])),
    1011                     0,wx.ALIGN_CENTER_VERTICAL)
     1014                    0,WACV)
    10121015                waveVal = wx.TextCtrl(G2frame.dataDisplay,wx.ID_ANY,'%10.6f'%(insVal['Lam']),style=wx.TE_PROCESS_ENTER)
    10131016                waveVal.Bind(wx.EVT_TEXT_ENTER,OnWaveValue)
    10141017                waveVal.Bind(wx.EVT_KILL_FOCUS,OnWaveValue)
    1015                 topSizer.Add(waveVal,0,wx.ALIGN_CENTER_VERTICAL)
     1018                topSizer.Add(waveVal,0,WACV)
    10161019                if ifHisto:
    10171020                    waveRef = wx.CheckBox(G2frame.dataDisplay,label=' Refine?')
    10181021                    waveRef.SetValue(bool(insRef['Lam']))
    10191022                    waveRef.Bind(wx.EVT_CHECKBOX, OnWaveRef)
    1020                     topSizer.Add(waveRef,0,wx.ALIGN_CENTER_VERTICAL)
     1023                    topSizer.Add(waveRef,0,WACV)
    10211024            for item in ['Zero','Polariz.']:
    10221025                fmt = '%10.4f'
     
    10241027                if item in insDef:
    10251028                    instSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,Fmt%(item,insDef[item])),
    1026                             0,wx.ALIGN_CENTER_VERTICAL)
     1029                            0,WACV)
    10271030                    itemVal = wx.TextCtrl(G2frame.dataDisplay,wx.ID_ANY,fmt%(insVal[item]),style=wx.TE_PROCESS_ENTER)
    10281031                    ValObj[itemVal.GetId()] = [item,fmt]
    10291032                    itemVal.Bind(wx.EVT_TEXT_ENTER,OnItemValue)
    10301033                    itemVal.Bind(wx.EVT_KILL_FOCUS,OnItemValue)
    1031                     instSizer.Add(itemVal,0,wx.ALIGN_CENTER_VERTICAL)
     1034                    instSizer.Add(itemVal,0,WACV)
    10321035                    if ifHisto:
    10331036                        itemRef = wx.CheckBox(G2frame.dataDisplay,wx.ID_ANY,label=' Refine?')
     
    10351038                        RefObj[itemRef.GetId()] = item
    10361039                        itemRef.Bind(wx.EVT_CHECKBOX, OnItemRef)
    1037                         instSizer.Add(itemRef,0,wx.ALIGN_CENTER_VERTICAL)
     1040                        instSizer.Add(itemRef,0,WACV)
    10381041                    else:
    10391042                        instSizer.Add((5,5),0)
     
    10481051                Fmt = ' %s: ('+fmt+')'
    10491052                instSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,Fmt%(item,insDef[item])),
    1050                         0,wx.ALIGN_CENTER_VERTICAL)
     1053                        0,WACV)
    10511054                itemVal = wx.TextCtrl(G2frame.dataDisplay,wx.ID_ANY,fmt%(insVal[item]),style=wx.TE_PROCESS_ENTER)
    10521055                ValObj[itemVal.GetId()] = [item,fmt]
    10531056                itemVal.Bind(wx.EVT_TEXT_ENTER,OnItemValue)
    10541057                itemVal.Bind(wx.EVT_KILL_FOCUS,OnItemValue)
    1055                 instSizer.Add(itemVal,0,wx.ALIGN_CENTER_VERTICAL)
     1058                instSizer.Add(itemVal,0,WACV)
    10561059                itemRef = wx.CheckBox(G2frame.dataDisplay,wx.ID_ANY,label=' Refine?')
    10571060                itemRef.SetValue(bool(insRef[item]))
    10581061                RefObj[itemRef.GetId()] = item
    10591062                itemRef.Bind(wx.EVT_CHECKBOX, OnItemRef)
    1060                 instSizer.Add(itemRef,0,wx.ALIGN_CENTER_VERTICAL)
     1063                instSizer.Add(itemRef,0,WACV)
    10611064        else:                                   #time of flight (neutrons)
    1062             topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' Azimuth: %7.2f'%(insVal['Azimuth'])),0,wx.ALIGN_CENTER_VERTICAL)
    1063             topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' 2-theta: %7.2f'%(insVal['2-theta'])),0,wx.ALIGN_CENTER_VERTICAL)
     1065            topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' Azimuth: %7.2f'%(insVal['Azimuth'])),0,WACV)
     1066            topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' 2-theta: %7.2f'%(insVal['2-theta'])),0,WACV)
    10641067            if 'Pdabc' in Inst2:
    10651068                Items = ['sig-0','sig-1','X','Y']
    1066                 topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' difC: %8.2f'%(insVal['difC'])),0,wx.ALIGN_CENTER_VERTICAL)
    1067                 topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' alpha, beta: fixed by table'),0,wx.ALIGN_CENTER_VERTICAL)
     1069                topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' difC: %8.2f'%(insVal['difC'])),0,WACV)
     1070                topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' alpha, beta: fixed by table'),0,WACV)
    10681071            else:
    10691072                Items = ['difC','difA','Zero','alpha','beta-0','beta-1','beta-q','sig-0','sig-1','sig-q','X','Y']
     
    10741077                Fmt = ' %s: ('+fmt+')'
    10751078                instSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,Fmt%(item,insDef[item])),
    1076                         0,wx.ALIGN_CENTER_VERTICAL)
     1079                        0,WACV)
    10771080                itemVal = wx.TextCtrl(G2frame.dataDisplay,wx.ID_ANY,fmt%(insVal[item]),style=wx.TE_PROCESS_ENTER)
    10781081                ValObj[itemVal.GetId()] = [item,fmt]
    10791082                itemVal.Bind(wx.EVT_TEXT_ENTER,OnItemValue)
    10801083                itemVal.Bind(wx.EVT_KILL_FOCUS,OnItemValue)
    1081                 instSizer.Add(itemVal,0,wx.ALIGN_CENTER_VERTICAL)
     1084                instSizer.Add(itemVal,0,WACV)
    10821085                if not ifHisto and item in ['difC','difA','Zero',]:
    10831086                    instSizer.Add((5,5),0)
     
    10871090                    RefObj[itemRef.GetId()] = item
    10881091                    itemRef.Bind(wx.EVT_CHECKBOX, OnItemRef)
    1089                     instSizer.Add(itemRef,0,wx.ALIGN_CENTER_VERTICAL)
     1092                    instSizer.Add(itemRef,0,WACV)
    10901093       
    10911094    elif 'S' in insVal['Type']:                       #single crystal data
    10921095        if 'C' in insVal['Type']:               #constant wavelength
    10931096            instSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,u' Lam (\xc5): (%10.6f)'%(insDef['Lam'])),
    1094                 0,wx.ALIGN_CENTER_VERTICAL)
     1097                0,WACV)
    10951098            waveVal = wx.TextCtrl(G2frame.dataDisplay,wx.ID_ANY,'%10.6f'%(insVal['Lam']),style=wx.TE_PROCESS_ENTER)
    10961099            waveVal.Bind(wx.EVT_TEXT_ENTER,OnWaveValue)
    10971100            waveVal.Bind(wx.EVT_KILL_FOCUS,OnWaveValue)
    1098             instSizer.Add(waveVal,0,wx.ALIGN_CENTER_VERTICAL)
     1101            instSizer.Add(waveVal,0,WACV)
    10991102        else:                                   #time of flight (neutrons)
    11001103            pass                                #for now
     
    11021105        if 'C' in insVal['Type']:       
    11031106            instSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,u' Lam (\xc5): (%10.6f)'%(insDef['Lam'])),
    1104                 0,wx.ALIGN_CENTER_VERTICAL)
     1107                0,WACV)
    11051108            waveVal = wx.TextCtrl(G2frame.dataDisplay,wx.ID_ANY,'%10.6f'%(insVal['Lam']),style=wx.TE_PROCESS_ENTER)
    11061109            waveVal.Bind(wx.EVT_TEXT_ENTER,OnWaveValue)
    11071110            waveVal.Bind(wx.EVT_KILL_FOCUS,OnWaveValue)
    1108             instSizer.Add(waveVal,0,wx.ALIGN_CENTER_VERTICAL)
    1109             instSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,'  Azimuth: %7.2f'%(insVal['Azimuth'])),0,wx.ALIGN_CENTER_VERTICAL)
     1111            instSizer.Add(waveVal,0,WACV)
     1112            instSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,'  Azimuth: %7.2f'%(insVal['Azimuth'])),0,WACV)
    11101113        else:                                   #time of flight (neutrons)
    11111114            pass                                #for now
     
    13911394    nameSizer = wx.BoxSizer(wx.HORIZONTAL)
    13921395    nameSizer.Add(wx.StaticText(G2frame.dataDisplay,wx.ID_ANY,' Instrument Name'),
    1393                 0,wx.ALIGN_CENTER_VERTICAL)
     1396                0,WACV)
    13941397    nameSizer.Add((-1,-1),1,wx.EXPAND,1)
    13951398    instNameVal = wx.TextCtrl(G2frame.dataDisplay,wx.ID_ANY,data.get('InstrName',''),
     
    14031406        nameSizer = wx.BoxSizer(wx.HORIZONTAL)
    14041407        nameSizer.Add(wx.StaticText(G2frame.dataDisplay,wx.ID_ANY,' Diffractometer type: '),
    1405                     0,wx.ALIGN_CENTER_VERTICAL)
     1408                    0,WACV)
    14061409        choices = ['Debye-Scherrer','Bragg-Brentano',]
    14071410        histoType = wx.ComboBox(G2frame.dataDisplay,wx.ID_ANY,value=data['Type'],choices=choices,
     
    14161419        if 'list' in str(type(data[key])):
    14171420            parmRef = G2gd.G2CheckBox(G2frame.dataDisplay,' '+lbl,data[key],1)
    1418             parmSizer.Add(parmRef,0,wx.ALIGN_CENTER_VERTICAL|wx.EXPAND)
     1421            parmSizer.Add(parmRef,0,WACV|wx.EXPAND)
    14191422            parmVal = G2gd.ValidatedTxtCtrl(G2frame.dataDisplay,data[key],0,
    14201423                nDig=nDig,typeHint=float,OnLeave=AfterChange)
    14211424        else:
    14221425            parmSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' '+lbl),
    1423                 0,wx.ALIGN_CENTER_VERTICAL|wx.EXPAND)
     1426                0,WACV|wx.EXPAND)
    14241427            parmVal = G2gd.ValidatedTxtCtrl(G2frame.dataDisplay,data,key,
    14251428                typeHint=float,OnLeave=AfterChange)
     
    14441447            G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Substances'))
    14451448        for id,item in enumerate(data['Materials']):
    1446             subSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Material: '),0,wx.ALIGN_CENTER_VERTICAL)
     1449            subSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Material: '),0,WACV)
    14471450            matsel = wx.ComboBox(G2frame.dataDisplay,value=item['Name'],choices=Substances['Substances'].keys(),
    14481451                style=wx.CB_READONLY|wx.CB_DROPDOWN)
    14491452            Info[matsel.GetId()] = [id,'Name']
    14501453            matsel.Bind(wx.EVT_COMBOBOX,OnMaterial)       
    1451             subSizer.Add(matsel,0,wx.ALIGN_CENTER_VERTICAL)
    1452             subSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Volume fraction: '),0,wx.ALIGN_CENTER_VERTICAL)
     1454            subSizer.Add(matsel,0,WACV)
     1455            subSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Volume fraction: '),0,WACV)
    14531456            volfrac = wx.TextCtrl(G2frame.dataDisplay,value=str('%.3f'%(item['VolFrac'])),style=wx.TE_PROCESS_ENTER)
    14541457            Info[volfrac.GetId()] = [id,'VolFrac']
    14551458            volfrac.Bind(wx.EVT_TEXT_ENTER,OnMaterial)
    14561459            volfrac.Bind(wx.EVT_KILL_FOCUS,OnMaterial)
    1457             subSizer.Add(volfrac,0,wx.ALIGN_CENTER_VERTICAL)
     1460            subSizer.Add(volfrac,0,WACV)
    14581461            material = Substances['Substances'][item['Name']]
    14591462            mu += item['VolFrac']*material.get('XAbsorption',0.)
     
    14631466        mainSizer.Add(subSizer,0)
    14641467        conSizer = wx.BoxSizer(wx.HORIZONTAL)
    1465         conSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Contrast: %10.2f '%(data['Contrast'][0])),0,wx.ALIGN_CENTER_VERTICAL)
    1466         conSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Anom. Contrast: %10.2f '%(data['Contrast'][1])),0,wx.ALIGN_CENTER_VERTICAL)
     1468        conSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Contrast: %10.2f '%(data['Contrast'][0])),0,WACV)
     1469        conSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Anom. Contrast: %10.2f '%(data['Contrast'][1])),0,WACV)
    14671470        mut =  mu*data['Thick']
    1468         conSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Transmission (calc): %10.3f  '%(np.exp(-mut))),0,wx.ALIGN_CENTER_VERTICAL)
     1471        conSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Transmission (calc): %10.3f  '%(np.exp(-mut))),0,WACV)
    14691472        mainSizer.Add(conSizer,0)
    14701473   
     
    19351938        G2frame.dataFrame.MakeNewPhase.Enable(True)       
    19361939    mainSizer = wx.BoxSizer(wx.VERTICAL)
    1937     mainSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Indexing controls: '),0,wx.ALIGN_CENTER_VERTICAL)
     1940    mainSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Indexing controls: '),0,WACV)
    19381941    mainSizer.Add((5,5),0)
    19391942    littleSizer = wx.FlexGridSizer(2,5,5,5)
    1940     littleSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Max Nc/Nobs '),0,wx.ALIGN_CENTER_VERTICAL)
     1943    littleSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Max Nc/Nobs '),0,WACV)
    19411944    NcNo = wx.SpinCtrl(G2frame.dataDisplay)
    19421945    NcNo.SetRange(1,6)
    19431946    NcNo.SetValue(controls[2])
    19441947    NcNo.Bind(wx.EVT_SPINCTRL,OnNcNo)
    1945     littleSizer.Add(NcNo,0,wx.ALIGN_CENTER_VERTICAL)
    1946     littleSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Start Volume '),0,wx.ALIGN_CENTER_VERTICAL)
     1948    littleSizer.Add(NcNo,0,WACV)
     1949    littleSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Start Volume '),0,WACV)
    19471950    startVol = wx.TextCtrl(G2frame.dataDisplay,value=str('%d'%(controls[3])),style=wx.TE_PROCESS_ENTER)
    19481951    startVol.Bind(wx.EVT_TEXT_ENTER,OnStartVol)
    19491952    startVol.Bind(wx.EVT_KILL_FOCUS,OnStartVol)
    1950     littleSizer.Add(startVol,0,wx.ALIGN_CENTER_VERTICAL)
     1953    littleSizer.Add(startVol,0,WACV)
    19511954    mainSizer.Add(littleSizer,0)
    19521955    mainSizer.Add((5,5),0)
    19531956    mainSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Select Bravais Lattices for indexing: '),
    1954         0,wx.ALIGN_CENTER_VERTICAL)
     1957        0,WACV)
    19551958    mainSizer.Add((5,5),0)
    19561959    littleSizer = wx.FlexGridSizer(2,7,5,5)
     
    19621965        bravCk.SetValue(brav)
    19631966        bravCk.Bind(wx.EVT_CHECKBOX,OnBravais)
    1964         littleSizer.Add(bravCk,0,wx.ALIGN_CENTER_VERTICAL)
     1967        littleSizer.Add(bravCk,0,WACV)
    19651968    mainSizer.Add(littleSizer,0)
    19661969    mainSizer.Add((5,5),0)
    19671970   
    1968     mainSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Cell Refinement: '),0,wx.ALIGN_CENTER_VERTICAL)
     1971    mainSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Cell Refinement: '),0,WACV)
    19691972    mainSizer.Add((5,5),0)
    19701973    littleSizer = wx.BoxSizer(wx.HORIZONTAL)
    1971     littleSizer.Add(wx.StaticText(G2frame.dataDisplay,label=" Bravais lattice "),0,wx.ALIGN_CENTER_VERTICAL)
     1974    littleSizer.Add(wx.StaticText(G2frame.dataDisplay,label=" Bravais lattice "),0,WACV)
    19721975    bravSel = wx.Choice(G2frame.dataDisplay,choices=bravaisSymb)
    19731976    bravSel.SetSelection(bravaisSymb.index(controls[5]))
    19741977    bravSel.Bind(wx.EVT_CHOICE,OnBravSel)
    1975     littleSizer.Add(bravSel,0,wx.ALIGN_CENTER_VERTICAL)
    1976     littleSizer.Add(wx.StaticText(G2frame.dataDisplay,label=" Space group "),0,wx.ALIGN_CENTER_VERTICAL)
     1978    littleSizer.Add(bravSel,0,WACV)
     1979    littleSizer.Add(wx.StaticText(G2frame.dataDisplay,label=" Space group "),0,WACV)
    19771980    spcSel = wx.Choice(G2frame.dataDisplay,choices=SPGlist[controls[5]])
    19781981    spcSel.SetSelection(SPGlist[controls[5]].index(controls[13]))
    19791982    spcSel.Bind(wx.EVT_CHOICE,OnSpcSel)
    1980     littleSizer.Add(spcSel,0,wx.ALIGN_CENTER_VERTICAL)
    1981     littleSizer.Add(wx.StaticText(G2frame.dataDisplay,label=" Zero offset"),0,wx.ALIGN_CENTER_VERTICAL)
     1983    littleSizer.Add(spcSel,0,WACV)
     1984    littleSizer.Add(wx.StaticText(G2frame.dataDisplay,label=" Zero offset"),0,WACV)
    19821985    zero = wx.TextCtrl(G2frame.dataDisplay,value="%.4f"%(controls[1]),style=wx.TE_PROCESS_ENTER)
    19831986    zero.Bind(wx.EVT_TEXT_ENTER,OnZero)
    19841987    zero.Bind(wx.EVT_KILL_FOCUS,OnZero)
    1985     littleSizer.Add(zero,0,wx.ALIGN_CENTER_VERTICAL)
     1988    littleSizer.Add(zero,0,WACV)
    19861989    zeroVar = wx.CheckBox(G2frame.dataDisplay,label="Refine?")
    19871990    zeroVar.SetValue(controls[0])
    19881991    zeroVar.Bind(wx.EVT_CHECKBOX,OnZeroVar)
    1989     littleSizer.Add(zeroVar,0,wx.ALIGN_CENTER_VERTICAL)
     1992    littleSizer.Add(zeroVar,0,WACV)
    19901993    hklShow = wx.Button(G2frame.dataDisplay,label="Show hkl positions")
    19911994    hklShow.Bind(wx.EVT_BUTTON,OnHklShow)
    1992     littleSizer.Add(hklShow,0,wx.ALIGN_CENTER_VERTICAL)
     1995    littleSizer.Add(hklShow,0,WACV)
    19931996    mainSizer.Add(littleSizer,0)
    19941997   
     
    20012004    littleSizer = wx.FlexGridSizer(2,useGUI[1],5,5)
    20022005    for txt,fmt,ifEdit,Id in useGUI[2]:
    2003         littleSizer.Add(wx.StaticText(G2frame.dataDisplay,label=txt),0,wx.ALIGN_CENTER_VERTICAL)
     2006        littleSizer.Add(wx.StaticText(G2frame.dataDisplay,label=txt),0,WACV)
    20042007        if ifEdit:          #a,b,c,etc.
    20052008            cellVal = wx.TextCtrl(G2frame.dataDisplay,value=(fmt%(controls[6+Id])),style=wx.TE_PROCESS_ENTER)
    20062009            cellVal.Bind(wx.EVT_TEXT_ENTER,OnCellChange)       
    20072010            cellVal.Bind(wx.EVT_KILL_FOCUS,OnCellChange)
    2008             littleSizer.Add(cellVal,0,wx.ALIGN_CENTER_VERTICAL)
     2011            littleSizer.Add(cellVal,0,WACV)
    20092012            cellList.append(cellVal.GetId())
    20102013        else:               #volume
    20112014            volVal = wx.TextCtrl(G2frame.dataDisplay,value=(fmt%(controls[12])),style=wx.TE_READONLY)
    20122015            volVal.SetBackgroundColour(VERY_LIGHT_GREY)
    2013             littleSizer.Add(volVal,0,wx.ALIGN_CENTER_VERTICAL)
     2016            littleSizer.Add(volVal,0,WACV)
    20142017    mainSizer.Add(littleSizer,0)
    20152018       
     
    23452348        substSizer = wx.BoxSizer(wx.VERTICAL)
    23462349        substSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Substance list: wavelength: %.5fA'%(wave)),
    2347             0,wx.ALIGN_CENTER_VERTICAL)
     2350            0,WACV)
    23482351        for name in data['Substances']:
    23492352            G2gd.HorizontalLine(substSizer,G2frame.dataDisplay)   
    23502353            substSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Data for '+name+':'),
    2351                 0,wx.ALIGN_CENTER_VERTICAL)
     2354                0,WACV)
    23522355            if name == 'vacuum':
    23532356                substSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label='        Not applicable'),
    2354                     0,wx.ALIGN_CENTER_VERTICAL)
     2357                    0,WACV)
    23552358            else:   
    23562359                elSizer = wx.FlexGridSizer(1,6,5,5)
     
    23592362                for El in Elems:
    23602363                    elSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' '+El+': '),
    2361                         0,wx.ALIGN_CENTER_VERTICAL)
     2364                        0,WACV)
    23622365                    num = wx.TextCtrl(G2frame.dataDisplay,value='%.2f'%(Elems[El]['Num']),style=wx.TE_PROCESS_ENTER)
    23632366                    Indx[num.GetId()] = [name,El,'Num']
    23642367                    num.Bind(wx.EVT_TEXT_ENTER,OnValueChange)       
    23652368                    num.Bind(wx.EVT_KILL_FOCUS,OnValueChange)
    2366                     elSizer.Add(num,0,wx.ALIGN_CENTER_VERTICAL)
     2369                    elSizer.Add(num,0,WACV)
    23672370                substSizer.Add(elSizer,0)
    23682371                vdsSizer = wx.FlexGridSizer(1,4,5,5)
    23692372                vdsSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Volume: '),
    2370                     0,wx.ALIGN_CENTER_VERTICAL)
     2373                    0,WACV)
    23712374                vol = wx.TextCtrl(G2frame.dataDisplay,value='%.3f'%(Substance['Volume']),style=wx.TE_PROCESS_ENTER)
    23722375                Indx[vol.GetId()] = [name,'Volume']
    23732376                vol.Bind(wx.EVT_TEXT_ENTER,OnValueChange)       
    23742377                vol.Bind(wx.EVT_KILL_FOCUS,OnValueChange)
    2375                 vdsSizer.Add(vol,0,wx.ALIGN_CENTER_VERTICAL)               
     2378                vdsSizer.Add(vol,0,WACV)               
    23762379                vdsSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Density: '),
    2377                     0,wx.ALIGN_CENTER_VERTICAL)
     2380                    0,WACV)
    23782381                den = wx.TextCtrl(G2frame.dataDisplay,value='%.3f'%(Substance['Density']),style=wx.TE_PROCESS_ENTER)
    23792382                Indx[den.GetId()] = [name,'Density']
    23802383                den.Bind(wx.EVT_TEXT_ENTER,OnValueChange)       
    23812384                den.Bind(wx.EVT_KILL_FOCUS,OnValueChange)
    2382                 vdsSizer.Add(den,0,wx.ALIGN_CENTER_VERTICAL)
     2385                vdsSizer.Add(den,0,WACV)
    23832386                substSizer.Add(vdsSizer,0)
    23842387                substSizer.Add(wx.StaticText(G2frame.dataDisplay,
    23852388                    label=' Scattering density  : %.2f *10%scm%s'%(Substance['Scatt density'],Pwr10,Pwrm2)),
    2386                     0,wx.ALIGN_CENTER_VERTICAL)               
     2389                    0,WACV)               
    23872390                substSizer.Add(wx.StaticText(G2frame.dataDisplay,
    23882391                    label=' Anomalous density : %.2f *10%scm%s'%(Substance['XAnom density'],Pwr10,Pwrm2)),
    2389                     0,wx.ALIGN_CENTER_VERTICAL)               
     2392                    0,WACV)               
    23902393                substSizer.Add(wx.StaticText(G2frame.dataDisplay,
    23912394                    label=' X-ray absorption   : %.2f cm%s'%(Substance['XAbsorption'],Pwrm1)),
    2392                     0,wx.ALIGN_CENTER_VERTICAL)               
     2395                    0,WACV)               
    23932396        return substSizer
    23942397           
     
    24272430    '''respond to selection of SASD Models data tree item.
    24282431    '''
     2432    #patches
     2433    if 'Current' not in data:
     2434        data['Current'] = 'Size dist.'
     2435    if 'logBins' not in data['Size']:
     2436        data['Size']['logBins'] = True
     2437    if 'MinMaxDiam' in data['Size']:
     2438        data['Size']['MinDiam'] = 50
     2439        data['Size']['MaxDiam'] = 10000
     2440        del data['Size']['MinMaxDiam']
     2441    #end patches
    24292442   
    24302443    def OnCopyModel(event):
     
    24332446       
    24342447    def OnFitModel(event):
    2435         print 'fit model'
    2436        
     2448        print 'fit model for '+data['Current']
     2449        if data['Current'] == 'Size dist.':
     2450            G2sasd.SizeDistribution(Profile,Limits,Substances,Sample,data)
     2451       
     2452    def OnSelectFit(event):
     2453        data['Current'] = fitSel.GetValue()
     2454        wx.CallAfter(UpdateModelsGrid,G2frame,data)
     2455       
     2456    def OnValueChange(event):
     2457        Obj = event.GetEventObject()
     2458        itemKey,ind,fmt = Indx[Obj.GetId()]
     2459        try:
     2460            value = float(Obj.GetValue())
     2461        except ValueError:
     2462            value = 0.0
     2463        Obj.SetValue(fmt%(value))
     2464        data[itemKey][ind] = value
     2465       
     2466    def OnCheckBox(event):
     2467        Obj = event.GetEventObject()
     2468        itemKey,ind = Indx[Obj.GetId()]
     2469        data[itemKey][ind] = Obj.GetValue()
     2470       
     2471    def OnIntVal(event):
     2472        Obj = event.GetEventObject()
     2473        item,ind = Indx[Obj.GetId()]
     2474        item[ind] = int(Obj.GetValue())
     2475       
     2476    def SizeSizer():
     2477       
     2478        def OnShape(event):
     2479            data['Size']['Shape'][0] = partsh.GetValue()
     2480            wx.CallAfter(UpdateModelsGrid,G2frame,data)
     2481           
     2482        def OnMethod(event):
     2483            data['Size']['Method'] = method.GetValue()
     2484            wx.CallAfter(UpdateModelsGrid,G2frame,data)
     2485           
     2486        def OnPartVal(event):
     2487            try:
     2488                val = max(0.0,float(partprm.GetValue()))
     2489            except ValueError:
     2490                val = 1
     2491            data['Size']['Shape'][1] = val
     2492            partprm.SetValue('%.3f'%(val))
     2493           
     2494        for item in data['Size']: print item,data['Size'][item]
     2495        sizeSizer = wx.BoxSizer(wx.VERTICAL)
     2496        sizeSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Size distribution parameters: '),0,WACV)
     2497        binSizer = wx.FlexGridSizer(1,7,5,5)
     2498        binSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' No. size bins: '),0,WACV)
     2499        bins = ['50','100','150','200']
     2500        nbins = wx.ComboBox(G2frame.dataDisplay,value=str(data['Size']['Nbins']),choices=bins,
     2501            style=wx.CB_READONLY|wx.CB_DROPDOWN)
     2502        Indx[nbins.GetId()] = [data['Size'],'Nbins']
     2503        nbins.Bind(wx.EVT_COMBOBOX,OnIntVal)       
     2504        binSizer.Add(nbins,0,WACV)
     2505        binSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Min diam.: '),0,WACV)
     2506        minDias = ['10','25','50','100','150','200']
     2507        mindiam = wx.ComboBox(G2frame.dataDisplay,value=str(data['Size']['MinDiam']),choices=minDias,
     2508            style=wx.CB_READONLY|wx.CB_DROPDOWN)
     2509        mindiam.Bind(wx.EVT_COMBOBOX,OnIntVal)       
     2510        Indx[mindiam.GetId()] = [data['Size'],'MinDiam']
     2511        binSizer.Add(mindiam,0,WACV)
     2512        binSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Max diam.: '),0,WACV)
     2513        maxDias = [str(1000*(i+1)) for i in range(10)]
     2514        maxdiam = wx.ComboBox(G2frame.dataDisplay,value=str(data['Size']['MaxDiam']),choices=maxDias,
     2515            style=wx.CB_READONLY|wx.CB_DROPDOWN)
     2516        maxdiam.Bind(wx.EVT_COMBOBOX,OnIntVal)       
     2517        Indx[maxdiam.GetId()] = [data['Size'],'MaxDiam']
     2518        binSizer.Add(maxdiam,0,WACV)
     2519        logbins = wx.CheckBox(G2frame.dataDisplay,label='Log bins?')
     2520        Indx[logbins.GetId()] = ['Size','logBins']
     2521        logbins.SetValue(data['Size']['logBins'])
     2522        logbins.Bind(wx.EVT_CHECKBOX, OnCheckBox)
     2523        binSizer.Add(logbins,0,WACV)
     2524        sizeSizer.Add(binSizer,0)
     2525        sizeSizer.Add((5,5),0)
     2526        partSizer = wx.BoxSizer(wx.HORIZONTAL)
     2527        partSizer.Add(wx.StaticText(G2frame.dataDisplay,label='Particle description: '),0,WACV)
     2528        shapes = {'Spheroid':' Aspect ratio: ','Cylinder Diam.':' Diameter ','Cylinder AR':' Aspect ratio: ',
     2529            'Unified sphere':'','Unified rod':' Diameter: ','Unified rod AR':' Aspect ratio: ',
     2530            'Unified disk':' Thickness: '}
     2531        partsh = wx.ComboBox(G2frame.dataDisplay,value=str(data['Size']['Shape'][0]),choices=shapes.keys(),
     2532            style=wx.CB_READONLY|wx.CB_DROPDOWN)
     2533        partsh.Bind(wx.EVT_COMBOBOX,OnShape)       
     2534        partSizer.Add(partsh,0,WACV)
     2535        if data['Size']['Shape'][0] not in ['Unified sphere',]:
     2536            partSizer.Add(wx.StaticText(G2frame.dataDisplay,label=shapes[data['Size']['Shape'][0]]),0,WACV)
     2537            partprm = wx.TextCtrl(G2frame.dataDisplay,value='%.3f'%(data['Size']['Shape'][1]),
     2538                style=wx.TE_PROCESS_ENTER)
     2539            partprm.Bind(wx.EVT_TEXT_ENTER,OnPartVal)       
     2540            partprm.Bind(wx.EVT_KILL_FOCUS,OnPartVal)
     2541            partSizer.Add(partprm,0,WACV)
     2542        sizeSizer.Add(partSizer,0)
     2543        sizeSizer.Add((5,5),0)
     2544        fitSizer = wx.BoxSizer(wx.HORIZONTAL)
     2545        methods = ['MaxEnt','IPG',]
     2546        fitSizer.Add(wx.StaticText(G2frame.dataDisplay,label='Fitting method: '),0,WACV)
     2547        method = wx.ComboBox(G2frame.dataDisplay,value=data['Size']['Method'],choices=methods,
     2548            style=wx.CB_READONLY|wx.CB_DROPDOWN)
     2549        method.Bind(wx.EVT_COMBOBOX,OnMethod)
     2550        fitSizer.Add(method,0,WACV)
     2551        iters = ['10','25','50','100','150','200']       
     2552        fitSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' No. iterations: '),0,WACV)
     2553        Method = data['Size']['Method']
     2554        iter = wx.ComboBox(G2frame.dataDisplay,value=str(data['Size'][Method]['Niter']),choices=iters,
     2555            style=wx.CB_READONLY|wx.CB_DROPDOWN)
     2556        Indx[iter.GetId()] = [data['Size'][Method],'Niter']
     2557        iter.Bind(wx.EVT_COMBOBOX,OnIntVal)
     2558        fitSizer.Add(iter,0,WACV)
     2559       
     2560        sizeSizer.Add(fitSizer,0)
     2561
     2562        return sizeSizer
     2563       
     2564    def PartSizer():
     2565        for item in data['Particle']: print item,data['Particle'][item]
     2566        partSizer = wx.BoxSizer(wx.VERTICAL)
     2567        partSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Particle fit parameters: '),0,WACV)
     2568        return partSizer
     2569       
     2570    def UnifSizer():
     2571        for item in data['Unified']: print item,data['Unified'][item]
     2572        unifSizer = wx.BoxSizer(wx.VERTICAL)
     2573        unifSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Unified fit parameters: '),0,WACV)
     2574        return unifSizer
     2575       
     2576    Sample = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Sample Parameters'))
     2577    Limits = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Limits'))
     2578    Inst = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))
     2579    Substances = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Substances'))
     2580    Profile = G2frame.PatternTree.GetItemPyData(G2frame.PatternId)[1]
     2581
     2582    if G2frame.dataDisplay:
     2583        G2frame.dataFrame.DestroyChildren()
    24372584    G2gd.SetDataMenuBar(G2frame,G2frame.dataFrame.ModelMenu)
    24382585    if not G2frame.dataFrame.GetStatusBar():
     
    24422589    G2frame.dataFrame.Bind(wx.EVT_MENU, OnCopyModel, id=G2gd.wxID_MODELCOPY)
    24432590    G2frame.dataFrame.Bind(wx.EVT_MENU, OnFitModel, id=G2gd.wxID_MODELFIT)
     2591    Indx = {}
    24442592    mainSizer = wx.BoxSizer(wx.VERTICAL)
    2445     print data
     2593    topSizer = wx.BoxSizer(wx.HORIZONTAL)
     2594    models = ['Size dist.','Unified fit','Particle fit']
     2595    topSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Modeling by: '),0,WACV)
     2596    fitSel = wx.ComboBox(G2frame.dataDisplay,value=data['Current'],choices=models,
     2597        style=wx.CB_READONLY|wx.CB_DROPDOWN)
     2598    fitSel.Bind(wx.EVT_COMBOBOX,OnSelectFit)       
     2599    topSizer.Add(fitSel,0,WACV)
     2600    mainSizer.Add(topSizer)
     2601    G2gd.HorizontalLine(mainSizer,G2frame.dataDisplay)
     2602    if 'Size' in data['Current']:
     2603        mainSizer.Add(SizeSizer())       
     2604    elif 'Particle' in data['Current']:
     2605        mainSizer.Add(PartSizer())
     2606    elif 'Unified' in data['Current']:
     2607        mainSizer.Add(UnifSizer())
     2608    G2gd.HorizontalLine(mainSizer,G2frame.dataDisplay)   
     2609    backSizer = wx.BoxSizer(wx.HORIZONTAL)
     2610    backSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Background:'),0,WACV)
     2611    backVal = wx.TextCtrl(G2frame.dataDisplay,value='%.3f'%(data['Back'][0]),style=wx.TE_PROCESS_ENTER)
     2612    Indx[backVal.GetId()] = ['Back',0,'%.3f']
     2613    backVal.Bind(wx.EVT_TEXT_ENTER,OnValueChange)       
     2614    backVal.Bind(wx.EVT_KILL_FOCUS,OnValueChange)
     2615    backSizer.Add(backVal,0,WACV)
     2616    backVar = wx.CheckBox(G2frame.dataDisplay,label='Apply?')
     2617    Indx[backVar.GetId()] = ['Back',1]
     2618    backVar.SetValue(data['Back'][1])
     2619    backVar.Bind(wx.EVT_CHECKBOX, OnCheckBox)
     2620    backSizer.Add(backVar,0,WACV)
     2621    mainSizer.Add(backSizer)
    24462622
    24472623    mainSizer.Layout()   
     
    25102686        item = data[key]
    25112687        fileList = np.array(GetFileList('PWDR')).T[1]
    2512         fileSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' '+key+' file:'),0,wx.ALIGN_CENTER_VERTICAL)
     2688        fileSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' '+key+' file:'),0,WACV)
    25132689        fileName = wx.ComboBox(G2frame.dataDisplay,value=item['Name'],choices=fileList,
    25142690            style=wx.CB_READONLY|wx.CB_DROPDOWN)
     
    25162692        fileName.Bind(wx.EVT_COMBOBOX,OnSelectFile)       
    25172693        fileSizer.Add(fileName,0,)
    2518         fileSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label='Multiplier:'),0,wx.ALIGN_CENTER_VERTICAL)
     2694        fileSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label='Multiplier:'),0,WACV)
    25192695        mult = wx.TextCtrl(G2frame.dataDisplay,value='%.3f'%(item['Mult']),style=wx.TE_PROCESS_ENTER)
    25202696        itemDict[mult.GetId()] = [key,'Mult','%.3f']
     
    25222698        mult.Bind(wx.EVT_KILL_FOCUS,OnValueChange)
    25232699        fileSizer.Add(mult,0,)
    2524         fileSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label='Add:'),0,wx.ALIGN_CENTER_VERTICAL)
     2700        fileSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label='Add:'),0,WACV)
    25252701        add = wx.TextCtrl(G2frame.dataDisplay,value='%.0f'%(item['Add']),style=wx.TE_PROCESS_ENTER)
    25262702        itemDict[add.GetId()] = [key,'Add','%.0f']
     
    25552731       
    25562732        elemSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,
    2557             label=' Element: '+'%2s'%(ElData['Symbol'])+' * '),0,wx.ALIGN_CENTER_VERTICAL)
     2733            label=' Element: '+'%2s'%(ElData['Symbol'])+' * '),0,WACV)
    25582734        num = wx.TextCtrl(G2frame.dataDisplay,value='%.3f'%(ElData['FormulaNo']),style=wx.TE_PROCESS_ENTER)
    25592735        num.Bind(wx.EVT_TEXT_ENTER,OnFractionChange)       
    25602736        num.Bind(wx.EVT_KILL_FOCUS,OnFractionChange)
    2561         elemSizer.Add(num,0,wx.ALIGN_CENTER_VERTICAL)
     2737        elemSizer.Add(num,0,WACV)
    25622738        elemSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,
    25632739            label="f': %.3f"%(ElData['fp'])+' f": %.3f'%(ElData['fpp'])+' mu: %.2f barns'%(ElData['mu']) ),
    2564             0,wx.ALIGN_CENTER_VERTICAL)
     2740            0,WACV)
    25652741           
    25662742    def OnGeometry(event):
     
    28523028    G2frame.dataFrame.Bind(wx.EVT_MENU, OnComputeAllPDF, id=G2gd.wxID_PDFCOMPUTEALL)
    28533029    mainSizer = wx.BoxSizer(wx.VERTICAL)
    2854     mainSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' PDF data files: '),0,wx.ALIGN_CENTER_VERTICAL)
     3030    mainSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' PDF data files: '),0,WACV)
    28553031    mainSizer.Add((5,5),0)
    28563032    str = ' Sample file: PWDR %s   Wavelength, A: %.5f  Energy, keV: %.3f  Polariz.: %.2f '%(dataFile[3:],wave,keV,polariz)
    2857     mainSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=str),0,wx.ALIGN_CENTER_VERTICAL)
     3033    mainSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=str),0,WACV)
    28583034#    dataSizer = wx.BoxSizer(wx.HORIZONTAL)
    2859 #    dataSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label='Azimuth'),0,wx.ALIGN_CENTER_VERTICAL)
     3035#    dataSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label='Azimuth'),0,WACV)
    28603036#    azimVal = wx.TextCtrl(G2frame.dataDisplay,value='%.2f'%(inst['Azimuth']))
    28613037#    azimVal.Bind(wx.EVT_TEXT_ENTER,OnAzimVal)       
    28623038#    azimVal.Bind(wx.EVT_KILL_FOCUS,OnAzimVal)
    28633039#    dataSizer.Add(azimVal,0)   
    2864 #    dataSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label='Polarization'),0,wx.ALIGN_CENTER_VERTICAL)
     3040#    dataSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label='Polarization'),0,WACV)
    28653041#    polaVal = wx.TextCtrl(G2frame.dataDisplay,value='%.2f'%(inst['Polariz.']))
    28663042#    polaVal.Bind(wx.EVT_TEXT_ENTER,OnPolaVal)       
     
    28773053    mainSizer.Add(fileSizer,0)
    28783054    mainSizer.Add((5,5),0)
    2879     mainSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Sample information: '),0,wx.ALIGN_CENTER_VERTICAL)
     3055    mainSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Sample information: '),0,WACV)
    28803056    mainSizer.Add((5,5),0)   
    28813057
     
    28893065    mainSizer.Add((5,5),0)   
    28903066    midSizer = wx.BoxSizer(wx.HORIZONTAL)
    2891     midSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Formula volume: '),0,wx.ALIGN_CENTER_VERTICAL)
     3067    midSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Formula volume: '),0,WACV)
    28923068    formVol = wx.TextCtrl(G2frame.dataDisplay,value='%.2f'%(data['Form Vol']))
    28933069    formVol.Bind(wx.EVT_TEXT_ENTER,OnFormVol)       
     
    28963072    midSizer.Add(wx.StaticText(G2frame.dataDisplay,
    28973073        label=' Theoretical absorption: %.4f cm-1 Sample absorption: %.4f cm-1'%(Abs,Abs*data['Pack'])),
    2898         0,wx.ALIGN_CENTER_VERTICAL)
     3074        0,WACV)
    28993075    mainSizer.Add(midSizer,0)
    29003076    mainSizer.Add((5,5),0)   
    29013077
    29023078    geoBox = wx.BoxSizer(wx.HORIZONTAL)
    2903     geoBox.Add(wx.StaticText(G2frame.dataDisplay,label=' Sample geometry: '),0,wx.ALIGN_CENTER_VERTICAL)
     3079    geoBox.Add(wx.StaticText(G2frame.dataDisplay,label=' Sample geometry: '),0,WACV)
    29043080    choice = ['Cylinder','Bragg-Brentano','Tilting flat plate in transmission','Fixed flat plate']
    29053081    geometry = wx.ComboBox(G2frame.dataDisplay,value=data['Geometry'],choices=choice,
     
    29073083    geometry.Bind(wx.EVT_COMBOBOX, OnGeometry)
    29083084    geoBox.Add(geometry,0)
    2909     geoBox.Add(wx.StaticText(G2frame.dataDisplay,label=' Sample diameter/thickness, mm: '),0,wx.ALIGN_CENTER_VERTICAL)
     3085    geoBox.Add(wx.StaticText(G2frame.dataDisplay,label=' Sample diameter/thickness, mm: '),0,WACV)
    29103086    diam = wx.TextCtrl(G2frame.dataDisplay,value='%.3f'%(data['Diam']))
    29113087    diam.Bind(wx.EVT_TEXT_ENTER,OnDiameter)       
     
    29163092    mainSizer.Add((5,5),0)   
    29173093    geoBox = wx.BoxSizer(wx.HORIZONTAL)
    2918     geoBox.Add(wx.StaticText(G2frame.dataDisplay,label=' Packing: '),0,wx.ALIGN_CENTER_VERTICAL)
     3094    geoBox.Add(wx.StaticText(G2frame.dataDisplay,label=' Packing: '),0,WACV)
    29193095    pack = wx.TextCtrl(G2frame.dataDisplay,value='%.2f'%(data['Pack']))
    29203096    pack.Bind(wx.EVT_TEXT_ENTER,OnPacking)       
    29213097    pack.Bind(wx.EVT_KILL_FOCUS,OnPacking)
    29223098    geoBox.Add(pack,0)
    2923     geoBox.Add(wx.StaticText(G2frame.dataDisplay,label=' Sample transmission: %.3f %%'%(Trans)),0,wx.ALIGN_CENTER_VERTICAL)   
     3099    geoBox.Add(wx.StaticText(G2frame.dataDisplay,label=' Sample transmission: %.3f %%'%(Trans)),0,WACV)   
    29243100    mainSizer.Add(geoBox,0)
    29253101    mainSizer.Add((5,5),0)   
    29263102       
    2927     mainSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' S(Q)->F(Q)->G(R) controls: '),0,wx.ALIGN_CENTER_VERTICAL)
     3103    mainSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' S(Q)->F(Q)->G(R) controls: '),0,WACV)
    29283104    mainSizer.Add((5,5),0)
    29293105    sqBox = wx.BoxSizer(wx.HORIZONTAL)
    2930     sqBox.Add(wx.StaticText(G2frame.dataDisplay,label=' Detector type: '),0,wx.ALIGN_CENTER_VERTICAL)
     3106    sqBox.Add(wx.StaticText(G2frame.dataDisplay,label=' Detector type: '),0,WACV)
    29313107    choice = ['Image plate','Point detector']
    29323108    detType = wx.ComboBox(G2frame.dataDisplay,value=data['DetType'],choices=choice,
     
    29353111    sqBox.Add(detType,0)
    29363112    if data['DetType'] == 'Image plate':
    2937         sqBox.Add(wx.StaticText(G2frame.dataDisplay,label=' IP transmission coeff.: '),0,wx.ALIGN_CENTER_VERTICAL)
     3113        sqBox.Add(wx.StaticText(G2frame.dataDisplay,label=' IP transmission coeff.: '),0,WACV)
    29383114        obliqCoeff = wx.TextCtrl(G2frame.dataDisplay,value='%.3f'%(data['ObliqCoeff']))
    29393115        obliqCoeff.Bind(wx.EVT_TEXT_ENTER,OnObliqCoeff)       
     
    29433119       
    29443120    sqBox = wx.BoxSizer(wx.HORIZONTAL)
    2945     sqBox.Add(wx.StaticText(G2frame.dataDisplay,label=' Ruland width: '),0,wx.ALIGN_CENTER_VERTICAL)   
     3121    sqBox.Add(wx.StaticText(G2frame.dataDisplay,label=' Ruland width: '),0,WACV)   
    29463122    rulandSldr = wx.Slider(parent=G2frame.dataDisplay,style=wx.SL_HORIZONTAL,
    29473123        value=int(1000*data['Ruland']))
     
    29513127    rulandWdt.Bind(wx.EVT_TEXT_ENTER,OnRulandWdt)       
    29523128    rulandWdt.Bind(wx.EVT_KILL_FOCUS,OnRulandWdt)
    2953     sqBox.Add(rulandWdt,0,wx.ALIGN_CENTER_VERTICAL)   
     3129    sqBox.Add(rulandWdt,0,WACV)   
    29543130    mainSizer.Add(sqBox,0,wx.ALIGN_LEFT|wx.EXPAND)
    29553131   
     
    29583134    lorch.SetValue(data['Lorch'])
    29593135    lorch.Bind(wx.EVT_CHECKBOX, OnLorch)
    2960     sqBox.Add(lorch,0,wx.ALIGN_CENTER_VERTICAL)
    2961     sqBox.Add(wx.StaticText(G2frame.dataDisplay,label=' Scaling q-range: '),0,wx.ALIGN_CENTER_VERTICAL)
     3136    sqBox.Add(lorch,0,WACV)
     3137    sqBox.Add(wx.StaticText(G2frame.dataDisplay,label=' Scaling q-range: '),0,WACV)
    29623138    SQmin = wx.TextCtrl(G2frame.dataDisplay,value='%.1f'%(data['QScaleLim'][0]))
    29633139    SQmin.Bind(wx.EVT_TEXT_ENTER,OnSQmin)       
    29643140    SQmin.Bind(wx.EVT_KILL_FOCUS,OnSQmin)   
    29653141    sqBox.Add(SQmin,0)
    2966     sqBox.Add(wx.StaticText(G2frame.dataDisplay,label=' to '),0,wx.ALIGN_CENTER_VERTICAL)
     3142    sqBox.Add(wx.StaticText(G2frame.dataDisplay,label=' to '),0,WACV)
    29673143    SQmax = wx.TextCtrl(G2frame.dataDisplay,value='%.1f'%(data['QScaleLim'][1]))
    29683144    SQmax.Bind(wx.EVT_TEXT_ENTER,OnSQmax)       
  • trunk/GSASIIsasd.py

    r1230 r1233  
    5555npT2q = lambda tth,wave: 2.0*np.pi*npT2stl(tth,wave)
    5656   
     57###############################################################################
     58#### Particle form factors & volumes
     59###############################################################################
     60
     61def SpheroidFF(Q,R,AR):
     62    '''
     63    '''
     64    QR = Q*R
     65    if 0.98 < AR < 1.02:
     66        return (3./(QR**3))*(np.sin(QR)-(QR*np.cos(QR)))
     67       
     68   
     69def SpheroidVol(R,AR):
     70    ''' Compute volume of cylindrically symmetric ellipsoid (spheroid)
     71    - can use numpy arrays for R & AR; will return corresponding numpy array
     72    param float R: radius along 2 axes of spheroid
     73    param float AR: aspect ratio so 3rd axis = R*AR
     74    returns float: volume
     75    '''
     76    return AR*(4./3.)*np.pi*R**3
     77   
     78def SizeDistribution(Profile,Limits,Substances,Sample,data):
     79    print data['Size']
     80#    print Limits
     81#    print Substances
     82#    print Sample
     83#    print Profile
     84   
Note: See TracChangeset for help on using the changeset viewer.