Changeset 1233
- Timestamp:
- Mar 3, 2014 9:16:53 AM (9 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIphsGUI.py
r1229 r1233 56 56 WHITE = wx.Colour(255,255,255) 57 57 BLACK = wx.Colour(0,0,0) 58 WACV = wx.ALIGN_CENTER_VERTICAL 58 59 mapDefault = {'MapType':'','RefList':'','Resolution':0.5,'Show bonds':True, 59 60 'rho':[],'rhoMax':0.,'mapSize':10.0,'cutOff':50.,'Flip':False} … … 257 258 258 259 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) 260 261 NameTxt = wx.TextCtrl(General,-1,value=generalData['Name'],style=wx.TE_PROCESS_ENTER) 261 262 NameTxt.Bind(wx.EVT_TEXT_ENTER,OnPhaseName) 262 263 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) 265 266 TypeTxt = wx.ComboBox(General,-1,value=generalData['Type'],choices=phaseTypes, 266 267 style=wx.CB_READONLY|wx.CB_DROPDOWN) 267 268 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) 270 271 SGTxt = wx.TextCtrl(General,-1,value=generalData['SGData']['SpGrp'],style=wx.TE_PROCESS_ENTER) 271 272 SGTxt.Bind(wx.EVT_TEXT_ENTER,OnSpaceGroup) 272 nameSizer.Add(SGTxt,0, wx.ALIGN_CENTER_VERTICAL)273 nameSizer.Add(SGTxt,0,WACV) 273 274 return nameSizer 274 275 … … 383 384 if PWDR: 384 385 cellRef = wx.CheckBox(General,-1,label='Refine unit cell:') 385 cellSizer.Add(cellRef,0, wx.ALIGN_CENTER_VERTICAL)386 cellSizer.Add(cellRef,0,WACV) 386 387 cellRef.Bind(wx.EVT_CHECKBOX, OnCellRef) 387 388 cellRef.SetValue(cell[0]) 388 389 cellList = [] 389 390 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) 391 392 if ifEdit: #a,b,c,etc. 392 393 cellVal = wx.TextCtrl(General,value=(fmt%(cell[Id+1])), … … 394 395 cellVal.Bind(wx.EVT_TEXT_ENTER,OnCellChange) 395 396 cellVal.Bind(wx.EVT_KILL_FOCUS,OnCellChange) 396 cellSizer.Add(cellVal,0, wx.ALIGN_CENTER_VERTICAL)397 cellSizer.Add(cellVal,0,WACV) 397 398 cellList.append(cellVal.GetId()) 398 399 else: #volume 399 400 volVal = wx.TextCtrl(General,value=(fmt%(cell[7])),style=wx.TE_READONLY) 400 401 volVal.SetBackgroundColour(VERY_LIGHT_GREY) 401 cellSizer.Add(volVal,0, wx.ALIGN_CENTER_VERTICAL)402 cellSizer.Add(volVal,0,WACV) 402 403 return cellSizer 403 404 … … 417 418 418 419 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) 420 421 for elem in generalData['AtomTypes']: 421 422 typTxt = wx.TextCtrl(General,value=elem,style=wx.TE_READONLY) 422 423 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) 425 426 for elem in generalData['AtomTypes']: 426 427 choices = generalData['Isotopes'][elem].keys() … … 429 430 isoSel.Bind(wx.EVT_COMBOBOX,OnIsotope) 430 431 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) 433 434 for elem in generalData['AtomTypes']: 434 435 numbTxt = wx.TextCtrl(General,value='%.1f'%(generalData['NoAtoms'][elem]), 435 436 style=wx.TE_READONLY) 436 437 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) 439 440 for wt in generalData['AtomMass']: 440 441 wtTxt = wx.TextCtrl(General,value='%.3f'%(wt),style=wx.TE_READONLY) 441 442 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) 444 445 for rad in generalData['BondRadii']: 445 446 bondRadii = wx.TextCtrl(General,value='%.2f'%(rad),style=wx.TE_READONLY) 446 447 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) 449 450 for rad in generalData['AngleRadii']: 450 451 elemTxt = wx.TextCtrl(General,value='%.2f'%(rad),style=wx.TE_READONLY) 451 452 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) 454 455 for rad in generalData['vdWRadii']: 455 456 elemTxt = wx.TextCtrl(General,value='%.2f'%(rad),style=wx.TE_READONLY) 456 457 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) 459 460 for R,G,B in generalData['Color']: 460 461 colorTxt = wx.TextCtrl(General,value='',style=wx.TE_READONLY) 461 462 colorTxt.SetBackgroundColour(wx.Colour(R,G,B)) 462 elemSizer.Add(colorTxt,0, wx.ALIGN_CENTER_VERTICAL)463 elemSizer.Add(colorTxt,0,WACV) 463 464 return elemSizer 464 465 … … 468 469 density,mattCoeff = G2mth.getDensity(generalData) 469 470 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) 471 472 denTxt = wx.TextCtrl(General,-1,'%.3f'%(density),style=wx.TE_READONLY) 472 473 denTxt.SetBackgroundColour(VERY_LIGHT_GREY) 473 denSizer.Add(denTxt,0, wx.ALIGN_CENTER_VERTICAL)474 denSizer.Add(denTxt,0,WACV) 474 475 mattTxt = None 475 476 if generalData['Type'] == 'macromolecular' and mass > 0.0: 476 477 denSizer.Add(wx.StaticText(General,-1,' Matthews coeff.: '), 477 0, wx.ALIGN_CENTER_VERTICAL)478 0,WACV) 478 479 mattTxt = wx.TextCtrl(General,-1,'%.3f'%(mattCoeff),style=wx.TE_READONLY) 479 480 mattTxt.SetBackgroundColour(VERY_LIGHT_GREY) 480 denSizer.Add(mattTxt,0, wx.ALIGN_CENTER_VERTICAL)481 denSizer.Add(mattTxt,0,WACV) 481 482 return denSizer,denTxt,mattTxt 482 483 … … 505 506 506 507 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) 508 509 pawlRef = wx.CheckBox(General,-1,label=' Do Pawley refinement?') 509 510 pawlRef.SetValue(generalData['doPawley']) 510 511 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) 513 514 pawlVal = wx.TextCtrl(General,value='%.3f'%(generalData['Pawley dmin']),style=wx.TE_PROCESS_ENTER) 514 515 pawlVal.Bind(wx.EVT_TEXT_ENTER,OnPawleyVal) 515 516 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) 518 519 pawlNegWt = wx.TextCtrl(General,value='%.4f'%(generalData['Pawley neg wt']),style=wx.TE_PROCESS_ENTER) 519 520 pawlNegWt.Bind(wx.EVT_TEXT_ENTER,OnPawleyNegWt) 520 521 pawlNegWt.Bind(wx.EVT_KILL_FOCUS,OnPawleyNegWt) 521 pawleySizer.Add(pawlNegWt,0, wx.ALIGN_CENTER_VERTICAL)522 pawleySizer.Add(pawlNegWt,0,WACV) 522 523 return pawleySizer 523 524 … … 558 559 mapSizer = wx.BoxSizer(wx.VERTICAL) 559 560 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) 561 562 mapType = wx.ComboBox(General,-1,value=Map['MapType'],choices=mapTypes, 562 563 style=wx.CB_READONLY|wx.CB_DROPDOWN) 563 564 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) 566 567 refList = wx.ComboBox(General,-1,value=Map['RefList'],choices=refList, 567 568 style=wx.CB_READONLY|wx.CB_DROPDOWN) 568 569 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) 571 572 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) 573 574 mapRes = wx.TextCtrl(General,value='%.2f'%(Map['Resolution']),style=wx.TE_PROCESS_ENTER) 574 575 mapRes.Bind(wx.EVT_TEXT_ENTER,OnResVal) 575 576 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) 578 579 cutOff = wx.TextCtrl(General,value='%.1f'%(Map['cutOff']),style=wx.TE_PROCESS_ENTER) 579 580 cutOff.Bind(wx.EVT_TEXT_ENTER,OnCutOff) 580 581 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) 583 584 return mapSizer 584 585 … … 626 627 flipSizer = wx.BoxSizer(wx.VERTICAL) 627 628 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) 629 630 refList = wx.ComboBox(General,-1,value=Flip['RefList'],choices=refList, 630 631 style=wx.CB_READONLY|wx.CB_DROPDOWN) 631 632 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) 634 635 normElem = wx.Button(General,label=Flip['Norm element'],style=wx.TE_READONLY) 635 636 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) 638 639 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) 640 641 flipRes = wx.TextCtrl(General,value='%.2f'%(Flip['Resolution']),style=wx.TE_PROCESS_ENTER) 641 642 flipRes.Bind(wx.EVT_TEXT_ENTER,OnResVal) 642 643 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) 645 646 kFactor = wx.TextCtrl(General,value='%.3f'%(Flip['k-factor']),style=wx.TE_PROCESS_ENTER) 646 647 kFactor.Bind(wx.EVT_TEXT_ENTER,OnkFactor) 647 648 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) 650 651 kMax = wx.TextCtrl(General,value='%.1f'%(Flip['k-Max']),style=wx.TE_PROCESS_ENTER) 651 652 kMax.Bind(wx.EVT_TEXT_ENTER,OnkMax) 652 653 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) 655 656 return flipSizer 656 657 … … 741 742 mcsaSizer = wx.BoxSizer(wx.VERTICAL) 742 743 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) 744 745 refList = wx.ComboBox(General,-1,value=MCSAdata['Data source'],choices=refList, 745 746 style=wx.CB_READONLY|wx.CB_DROPDOWN) 746 747 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) 749 750 dmin = wx.TextCtrl(General,-1,value='%.3f'%(MCSAdata['dmin']),style=wx.TE_PROCESS_ENTER) 750 751 dmin.Bind(wx.EVT_TEXT_ENTER,OnDmin) 751 752 dmin.Bind(wx.EVT_KILL_FOCUS,OnDmin) 752 lineSizer.Add(dmin,0, wx.ALIGN_CENTER_VERTICAL)753 lineSizer.Add(dmin,0,WACV) 753 754 mcsaSizer.Add(lineSizer) 754 755 mcsaSizer.Add((5,5),) 755 756 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) 757 758 Cchoice = ['1','2','4','8','16','32','64','128','256'] 758 759 cycles = wx.ComboBox(General,-1,value=str(MCSAdata.get('Cycles',1)),choices=Cchoice, 759 760 style=wx.CB_READONLY|wx.CB_DROPDOWN) 760 761 cycles.Bind(wx.EVT_COMBOBOX,OnCycles) 761 line2Sizer.Add(cycles,0, wx.ALIGN_CENTER_VERTICAL)762 line2Sizer.Add(cycles,0,WACV) 762 763 line2Sizer.Add((5,0),) 763 764 ranStart = wx.CheckBox(General,-1,label=' MC/SA Refine at ') 764 765 ranStart.Bind(wx.EVT_CHECKBOX, OnRanStart) 765 766 ranStart.SetValue(MCSAdata.get('ranStart',False)) 766 line2Sizer.Add(ranStart,0, wx.ALIGN_CENTER_VERTICAL)767 line2Sizer.Add(ranStart,0,WACV) 767 768 ranRange = wx.TextCtrl(General,-1,value='%.1f'%(MCSAdata.get('ranRange',0.10)*100),style=wx.TE_PROCESS_ENTER) 768 769 ranRange.Bind(wx.EVT_TEXT_ENTER,OnRanRange) 769 770 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) 772 773 # autoRan = wx.CheckBox(General,-1,label=' Do auto range reduction? ') 773 774 # autoRan.Bind(wx.EVT_CHECKBOX, OnAutoRan) 774 775 # autoRan.SetValue(MCSAdata.get('autoRan',False)) 775 # line2Sizer.Add(autoRan,0, wx.ALIGN_CENTER_VERTICAL)776 # line2Sizer.Add(autoRan,0,WACV) 776 777 mcsaSizer.Add(line2Sizer) 777 778 mcsaSizer.Add((5,5),) … … 779 780 Achoice = ['log','fast'] #these work 780 781 # 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) 782 783 Alist = wx.ComboBox(General,-1,value=MCSAdata['Algorithm'],choices=Achoice, 783 784 style=wx.CB_READONLY|wx.CB_DROPDOWN) 784 785 Alist.Bind(wx.EVT_COMBOBOX,OnAlist) 785 line3Sizer.Add(Alist,0, wx.ALIGN_CENTER_VERTICAL)786 line3Sizer.Add(Alist,0,WACV) 786 787 if MCSAdata['Algorithm'] in ['fast','boltzmann','cauchy']: 787 788 Names = [' A-jump: ',' B-jump: '] … … 793 794 parms = 'fast parms' 794 795 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) 796 797 Ajump = wx.TextCtrl(General,-1,value='%.3f'%(MCSAdata[parms][i]),style=wx.TE_PROCESS_ENTER) 797 798 Ajump.Bind(wx.EVT_TEXT_ENTER,OnAjump) 798 799 Ajump.Bind(wx.EVT_KILL_FOCUS,OnAjump) 799 800 Indx[Ajump.GetId()] = [parms,i] 800 line3Sizer.Add(Ajump,0, wx.ALIGN_CENTER_VERTICAL)801 line3Sizer.Add(Ajump,0,WACV) 801 802 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) 803 804 slope = wx.TextCtrl(General,-1,value='%.3f'%(MCSAdata['log slope']),style=wx.TE_PROCESS_ENTER) 804 805 slope.Bind(wx.EVT_TEXT_ENTER,OnSlope) 805 806 slope.Bind(wx.EVT_KILL_FOCUS,OnSlope) 806 line3Sizer.Add(slope,0, wx.ALIGN_CENTER_VERTICAL)807 line3Sizer.Add(slope,0,WACV) 807 808 mcsaSizer.Add(line3Sizer) 808 809 mcsaSizer.Add((5,5),) 809 810 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) 811 812 names = [' Start temp: ',' Final temp: ',' No. trials: '] 812 813 fmts = ['%.1f','%.5f','%d'] … … 816 817 else: 817 818 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) 819 820 anneal = wx.TextCtrl(General,-1,value=text,style=wx.TE_PROCESS_ENTER) 820 821 anneal.Bind(wx.EVT_TEXT_ENTER,OnAnneal) 821 822 anneal.Bind(wx.EVT_KILL_FOCUS,OnAnneal) 822 823 Indx[anneal.GetId()] = [i,fmt] 823 line3Sizer.Add(anneal,0, wx.ALIGN_CENTER_VERTICAL)824 line3Sizer.Add(anneal,0,WACV) 824 825 mcsaSizer.Add(line3Sizer) 825 826 return mcsaSizer … … 1728 1729 if G2var in constDict: 1729 1730 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) 1731 1732 else: 1732 1733 subSizer2.Add((-1,-1)) … … 1762 1763 if G2var in constDict: 1763 1764 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) 1765 1766 else: 1766 1767 subSizer2.Add((-1,-1)) … … 2788 2789 ' Camera Distance: '+'%.2f'%(drawingData['cameraPos']),name='cameraPos') 2789 2790 G2frame.dataDisplay.cameraPosTxt = cameraPosTxt 2790 slideSizer.Add(cameraPosTxt,0, wx.ALIGN_CENTER_VERTICAL)2791 slideSizer.Add(cameraPosTxt,0,WACV) 2791 2792 cameraPos = wx.Slider(drawOptions,style=wx.SL_HORIZONTAL,value=drawingData['cameraPos'],name='cameraSlider') 2792 2793 cameraPos.SetRange(10,500) … … 2796 2797 2797 2798 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) 2799 2800 Zclip = wx.Slider(drawOptions,style=wx.SL_HORIZONTAL,value=drawingData['Zclip']) 2800 2801 Zclip.SetRange(1,99) … … 2803 2804 2804 2805 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) 2806 2807 Zstep = wx.TextCtrl(drawOptions,value='%.2f'%(drawingData['Zstep']), 2807 2808 style=wx.TE_PROCESS_ENTER) 2808 2809 Zstep.Bind(wx.EVT_TEXT_ENTER,OnZstep) 2809 2810 Zstep.Bind(wx.EVT_KILL_FOCUS,OnZstep) 2810 ZstepSizer.Add(Zstep,0, wx.ALIGN_CENTER_VERTICAL)2811 ZstepSizer.Add(Zstep,0,WACV) 2811 2812 slideSizer.Add(ZstepSizer) 2812 2813 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) 2814 2815 MoveZ = wx.SpinButton(drawOptions,style=wx.SP_HORIZONTAL,size=wx.Size(100,20)) 2815 2816 MoveZ.SetValue(0) … … 2820 2821 2821 2822 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) 2823 2824 vdwScale = wx.Slider(drawOptions,style=wx.SL_HORIZONTAL,value=int(100*drawingData['vdwScale'])) 2824 2825 vdwScale.Bind(wx.EVT_SLIDER, OnVdWScale) … … 2826 2827 2827 2828 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) 2829 2830 ellipseProb = wx.Slider(drawOptions,style=wx.SL_HORIZONTAL,value=drawingData['ellipseProb']) 2830 2831 ellipseProb.SetRange(1,99) … … 2833 2834 2834 2835 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) 2836 2837 ballScale = wx.Slider(drawOptions,style=wx.SL_HORIZONTAL,value=int(100*drawingData['ballScale'])) 2837 2838 ballScale.Bind(wx.EVT_SLIDER, OnBallScale) … … 2839 2840 2840 2841 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) 2842 2843 bondRadius = wx.Slider(drawOptions,style=wx.SL_HORIZONTAL,value=int(100*drawingData['bondRadius'])) 2843 2844 bondRadius.SetRange(1,25) … … 2847 2848 if generalData['Map']['rhoMax']: 2848 2849 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) 2850 2851 contourLevel = wx.Slider(drawOptions,style=wx.SL_HORIZONTAL,value=int(100*drawingData['contourLevel'])) 2851 2852 contourLevel.SetRange(1,100) … … 2853 2854 slideSizer.Add(contourLevel,1,wx.EXPAND|wx.RIGHT) 2854 2855 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) 2856 2857 mapSize = wx.Slider(drawOptions,style=wx.SL_HORIZONTAL,value=int(10*drawingData['mapSize'])) 2857 2858 mapSize.SetRange(1,100) … … 2923 2924 showSizer = wx.BoxSizer(wx.VERTICAL) 2924 2925 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) 2926 2927 backColor = wcs.ColourSelect(drawOptions, -1,colour=drawingData['backColor'],size=wx.Size(25,25)) 2927 2928 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) 2930 2931 VD = drawingData['viewDir'] 2931 2932 viewDir = wx.TextCtrl(drawOptions,value='%.3f %.3f %.3f'%(VD[0],VD[1],VD[2]), … … 2934 2935 viewDir.Bind(wx.EVT_KILL_FOCUS,OnViewDir) 2935 2936 G2frame.dataDisplay.viewDir = viewDir 2936 lineSizer.Add(viewDir,0, wx.ALIGN_CENTER_VERTICAL)2937 lineSizer.Add(viewDir,0,WACV) 2937 2938 showSizer.Add(lineSizer) 2938 2939 showSizer.Add((0,5),0) … … 2942 2943 showABC.Bind(wx.EVT_CHECKBOX, OnShowABC) 2943 2944 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) 2946 2947 VP = drawingData['viewPoint'][0] 2947 2948 viewPoint = wx.TextCtrl(drawOptions,value='%.3f %.3f %.3f'%(VP[0],VP[1],VP[2]), … … 2950 2951 viewPoint.Bind(wx.EVT_TEXT_ENTER,OnViewPoint) 2951 2952 viewPoint.Bind(wx.EVT_KILL_FOCUS,OnViewPoint) 2952 lineSizer.Add(viewPoint,0, wx.ALIGN_CENTER_VERTICAL)2953 lineSizer.Add(viewPoint,0,WACV) 2953 2954 showSizer.Add(lineSizer) 2954 2955 showSizer.Add((0,5),0) … … 2959 2960 unitCellBox.Bind(wx.EVT_CHECKBOX, OnShowUnitCell) 2960 2961 unitCellBox.SetValue(drawingData['unitCellBox']) 2961 line2Sizer.Add(unitCellBox,0, wx.ALIGN_CENTER_VERTICAL)2962 line2Sizer.Add(unitCellBox,0,WACV) 2962 2963 2963 2964 showHydrogen = wx.CheckBox(drawOptions,-1,label=' Show hydrogens?') 2964 2965 showHydrogen.Bind(wx.EVT_CHECKBOX, OnShowHyd) 2965 2966 showHydrogen.SetValue(drawingData['showHydrogen']) 2966 line2Sizer.Add(showHydrogen,0, wx.ALIGN_CENTER_VERTICAL)2967 line2Sizer.Add(showHydrogen,0,WACV) 2967 2968 2968 2969 showRB = wx.CheckBox(drawOptions,-1,label=' Show rigid Bodies?') 2969 2970 showRB.Bind(wx.EVT_CHECKBOX, OnShowRB) 2970 2971 showRB.SetValue(drawingData['showRigidBodies']) 2971 line2Sizer.Add(showRB,0, wx.ALIGN_CENTER_VERTICAL)2972 line2Sizer.Add(showRB,0,WACV) 2972 2973 2973 2974 showSizer.Add(line2Sizer) … … 2996 2997 2997 2998 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) 2999 3000 sizeH = wx.TextCtrl(drawOptions,-1,value='%.2f'%(drawingData['sizeH']),size=wx.Size(60,20),style=wx.TE_PROCESS_ENTER) 3000 3001 sizeH.Bind(wx.EVT_TEXT_ENTER,OnSizeHatoms) 3001 3002 sizeH.Bind(wx.EVT_KILL_FOCUS,OnSizeHatoms) 3002 radSizer.Add(sizeH,0, wx.ALIGN_CENTER_VERTICAL)3003 radSizer.Add(sizeH,0,WACV) 3003 3004 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) 3005 3006 radFactor = wx.TextCtrl(drawOptions,value='%.2f'%(drawingData['radiusFactor']),size=wx.Size(60,20),style=wx.TE_PROCESS_ENTER) 3006 3007 radFactor.Bind(wx.EVT_TEXT_ENTER,OnRadFactor) 3007 3008 radFactor.Bind(wx.EVT_KILL_FOCUS,OnRadFactor) 3008 radSizer.Add(radFactor,0, wx.ALIGN_CENTER_VERTICAL)3009 radSizer.Add(radFactor,0,WACV) 3009 3010 return radSizer 3010 3011 … … 3024 3025 mainSizer = wx.BoxSizer(wx.VERTICAL) 3025 3026 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) 3027 3028 mainSizer.Add((5,5),0) 3028 3029 mainSizer.Add(SlopSizer(),0) … … 3158 3159 mainSizer = wx.BoxSizer(wx.VERTICAL) 3159 3160 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) 3161 3162 titleSizer.Add(wx.StaticText(Texture,-1, 3162 3163 ' Texture Index J = %7.3f'%(G2lat.textureIndex(textureData['SH Coeff'][1]))), 3163 0, wx.ALIGN_CENTER_VERTICAL)3164 0,WACV) 3164 3165 mainSizer.Add(titleSizer,0) 3165 3166 mainSizer.Add((0,5),0) 3166 3167 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) 3168 3169 shModel = wx.ComboBox(Texture,-1,value=textureData['Model'],choices=shModels, 3169 3170 style=wx.CB_READONLY|wx.CB_DROPDOWN) 3170 3171 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) 3173 3174 shOrder = wx.ComboBox(Texture,-1,value=str(textureData['Order']),choices=[str(2*i) for i in range(18)], 3174 3175 style=wx.CB_READONLY|wx.CB_DROPDOWN) 3175 3176 shOrder.Bind(wx.EVT_COMBOBOX,OnShOrder) 3176 shSizer.Add(shOrder,0, wx.ALIGN_CENTER_VERTICAL)3177 shSizer.Add(shOrder,0,WACV) 3177 3178 shRef = wx.CheckBox(Texture,-1,label=' Refine texture?') 3178 3179 shRef.SetValue(textureData['SH Coeff'][0]) 3179 3180 shRef.Bind(wx.EVT_CHECKBOX, OnSHRefine) 3180 shSizer.Add(shRef,0, wx.ALIGN_CENTER_VERTICAL)3181 shSizer.Add(shRef,0,WACV) 3181 3182 shShow = wx.CheckBox(Texture,-1,label=' Show coeff.?') 3182 3183 shShow.SetValue(textureData['SHShow']) 3183 3184 shShow.Bind(wx.EVT_CHECKBOX, OnSHShow) 3184 shSizer.Add(shShow,0, wx.ALIGN_CENTER_VERTICAL)3185 shSizer.Add(shShow,0,WACV) 3185 3186 mainSizer.Add(shSizer,0,0) 3186 3187 mainSizer.Add((0,5),0) 3187 3188 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) 3189 3190 choices = ['Axial pole distribution','Pole figure','Inverse pole figure'] 3190 3191 pfType = wx.ComboBox(Texture,-1,value=str(textureData['PlotType']),choices=choices, 3191 3192 style=wx.CB_READONLY|wx.CB_DROPDOWN) 3192 3193 pfType.Bind(wx.EVT_COMBOBOX,OnPfType) 3193 PTSizer.Add(pfType,0, wx.ALIGN_CENTER_VERTICAL)3194 PTSizer.Add(pfType,0,WACV) 3194 3195 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) 3196 3197 projSel = wx.ComboBox(Texture,-1,value=G2frame.Projection,choices=['equal area','stereographic','3D display'], 3197 3198 style=wx.CB_READONLY|wx.CB_DROPDOWN) 3198 3199 projSel.Bind(wx.EVT_COMBOBOX,OnProjSel) 3199 PTSizer.Add(projSel,0, wx.ALIGN_CENTER_VERTICAL)3200 PTSizer.Add(projSel,0,WACV) 3200 3201 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) 3202 3203 PH = textureData['PFhkl'] 3203 3204 pfVal = wx.TextCtrl(Texture,-1,'%d %d %d'%(PH[0],PH[1],PH[2]),style=wx.TE_PROCESS_ENTER) 3204 3205 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) 3206 3207 PX = textureData['PFxyz'] 3207 3208 pfVal = wx.TextCtrl(Texture,-1,'%3.1f %3.1f %3.1f'%(PX[0],PX[1],PX[2]),style=wx.TE_PROCESS_ENTER) 3208 3209 pfVal.Bind(wx.EVT_TEXT_ENTER,OnPFValue) 3209 3210 pfVal.Bind(wx.EVT_KILL_FOCUS,OnPFValue) 3210 PTSizer.Add(pfVal,0, wx.ALIGN_CENTER_VERTICAL)3211 PTSizer.Add(pfVal,0,WACV) 3211 3212 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) 3213 3214 choice = [m for m in mpl.cm.datad.keys() if not m.endswith("_r")] 3214 3215 choice.sort() … … 3216 3217 style=wx.CB_READONLY|wx.CB_DROPDOWN) 3217 3218 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) 3220 3221 mainSizer.Add((0,5),0) 3221 3222 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) 3223 3224 mainSizer.Add((0,5),0) 3224 3225 ODFSizer = wx.FlexGridSizer(2,8,2,2) … … 3227 3228 ODFkeys.sort() 3228 3229 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) 3230 3231 ODFval = wx.TextCtrl(Texture,wx.ID_ANY,'%8.3f'%(textureData['SH Coeff'][1][item]),style=wx.TE_PROCESS_ENTER) 3231 3232 ODFIndx[ODFval.GetId()] = item 3232 3233 ODFval.Bind(wx.EVT_TEXT_ENTER,OnODFValue) 3233 3234 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) 3236 3237 mainSizer.Add((0,5),0) 3237 3238 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) 3239 3240 mainSizer.Add((0,5),0) 3240 3241 angSizer = wx.BoxSizer(wx.HORIZONTAL) … … 3246 3247 angIndx[angRef.GetId()] = item 3247 3248 angRef.Bind(wx.EVT_CHECKBOX, OnAngRef) 3248 angSizer.Add(angRef,0, wx.ALIGN_CENTER_VERTICAL)3249 angSizer.Add(angRef,0,WACV) 3249 3250 angVal = wx.TextCtrl(Texture,wx.ID_ANY,'%8.2f'%(textureData[item][1]),style=wx.TE_PROCESS_ENTER) 3250 3251 valIndx[angVal.GetId()] = item 3251 3252 angVal.Bind(wx.EVT_TEXT_ENTER,OnAngValue) 3252 3253 angVal.Bind(wx.EVT_KILL_FOCUS,OnAngValue) 3253 angSizer.Add(angVal,0, wx.ALIGN_CENTER_VERTICAL)3254 angSizer.Add(angVal,0,WACV) 3254 3255 angSizer.Add((5,0),0) 3255 mainSizer.Add(angSizer,0, wx.ALIGN_CENTER_VERTICAL)3256 mainSizer.Add(angSizer,0,WACV) 3256 3257 SetPhaseWindow(G2frame.dataFrame,Texture,mainSizer) 3257 3258 … … 3455 3456 names += ['S12','S13','S21','S23','S31','S32','SAA','SBB'] 3456 3457 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) 3458 3459 thermVal = wx.TextCtrl(RigidBodies,-1,value='%8.4f'%(model[1][i]), 3459 3460 style=wx.TE_PROCESS_ENTER) … … 3466 3467 Tcheck.SetValue(model[2][i]) 3467 3468 Indx[Tcheck.GetId()] = i 3468 thermSizer.Add(Tcheck,0, wx.ALIGN_CENTER_VERTICAL)3469 thermSizer.Add(Tcheck,0,WACV) 3469 3470 return thermSizer 3470 3471 … … 3524 3525 Orien = [Orien,] 3525 3526 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) 3527 3528 for ix,x in enumerate(Orig): 3528 3529 origX = wx.TextCtrl(RigidBodies,-1,value='%8.5f'%(x),style=wx.TE_PROCESS_ENTER) … … 3530 3531 origX.Bind(wx.EVT_KILL_FOCUS,OnOrigX) 3531 3532 Indx[origX.GetId()] = ix 3532 topSizer.Add(origX,0, wx.ALIGN_CENTER_VERTICAL)3533 topSizer.Add(origX,0,WACV) 3533 3534 topSizer.Add((5,0),) 3534 3535 Ocheck = wx.CheckBox(RigidBodies,-1,'Refine?') 3535 3536 Ocheck.Bind(wx.EVT_CHECKBOX,OnOrigRef) 3536 3537 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) 3539 3540 for ix,x in enumerate(Orien): 3540 3541 orien = wx.TextCtrl(RigidBodies,-1,value='%8.4f'%(x),style=wx.TE_PROCESS_ENTER) … … 3542 3543 orien.Bind(wx.EVT_KILL_FOCUS,OnOrien) 3543 3544 Indx[orien.GetId()] = ix 3544 topSizer.Add(orien,0, wx.ALIGN_CENTER_VERTICAL)3545 topSizer.Add(orien,0,WACV) 3545 3546 Qcheck = wx.ComboBox(RigidBodies,-1,value='',choices=[' ','A','AV'], 3546 3547 style=wx.CB_READONLY|wx.CB_DROPDOWN) … … 3590 3591 topLine = wx.BoxSizer(wx.HORIZONTAL) 3591 3592 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) 3593 3594 rbId = RBObj['RBId'] 3594 3595 delRB = wx.CheckBox(RigidBodies,-1,'Delete?') 3595 3596 delRB.Bind(wx.EVT_CHECKBOX,OnDelResRB) 3596 3597 Indx[delRB.GetId()] = rbId 3597 topLine.Add(delRB,0, wx.ALIGN_CENTER_VERTICAL)3598 topLine.Add(delRB,0,WACV) 3598 3599 resrbSizer.Add(topLine) 3599 3600 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) 3601 3602 torSizer = wx.FlexGridSizer(1,6,5,5) 3602 3603 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) 3604 3605 torsTxt = wx.TextCtrl(RigidBodies,-1,value='%.3f'%(tors[0]),style=wx.TE_PROCESS_ENTER) 3605 3606 torsTxt.Bind(wx.EVT_TEXT_ENTER,OnTorsion) … … 3611 3612 torCheck.SetValue(tors[1]) 3612 3613 Indx[torCheck.GetId()] = itors 3613 torSizer.Add(torCheck,0, wx.ALIGN_CENTER_VERTICAL)3614 torSizer.Add(torCheck,0,WACV) 3614 3615 resrbSizer.Add(torSizer) 3615 3616 tchoice = ['None','Uiso','T','TL','TLS'] 3616 3617 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) 3618 3619 thermSel = wx.ComboBox(RigidBodies,-1,value=RBObj['ThermalMotion'][0],choices=tchoice, 3619 3620 style=wx.CB_READONLY|wx.CB_DROPDOWN) 3620 3621 Indx[thermSel.GetId()] = RBObj 3621 3622 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) 3624 3625 resrbSizer.Add(thermSizer) 3625 3626 if RBObj['ThermalMotion'][0] != 'None': … … 3645 3646 topLine = wx.BoxSizer(wx.HORIZONTAL) 3646 3647 topLine.Add(wx.StaticText(RigidBodies,-1, 3647 'Name: '+RBObj['RBname']+' '),0, wx.ALIGN_CENTER_VERTICAL)3648 'Name: '+RBObj['RBname']+' '),0,WACV) 3648 3649 rbId = RBObj['RBId'] 3649 3650 delRB = wx.CheckBox(RigidBodies,-1,'Delete?') 3650 3651 delRB.Bind(wx.EVT_CHECKBOX,OnDelVecRB) 3651 3652 Indx[delRB.GetId()] = rbId 3652 topLine.Add(delRB,0, wx.ALIGN_CENTER_VERTICAL)3653 topLine.Add(delRB,0,WACV) 3653 3654 vecrbSizer.Add(topLine) 3654 3655 vecrbSizer.Add(LocationSizer(RBObj,'Vector')) 3655 3656 tchoice = ['None','Uiso','T','TL','TLS'] 3656 3657 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) 3658 3659 thermSel = wx.ComboBox(RigidBodies,-1,value=RBObj['ThermalMotion'][0],choices=tchoice, 3659 3660 style=wx.CB_READONLY|wx.CB_DROPDOWN) 3660 3661 Indx[thermSel.GetId()] = RBObj 3661 3662 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) 3664 3665 vecrbSizer.Add(thermSizer) 3665 3666 if RBObj['ThermalMotion'][0] != 'None': … … 3684 3685 if not data['RBModels']: 3685 3686 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) 3687 3688 mainSizer.Add((5,5),0) 3688 3689 if 'Residue' in data['RBModels']: 3689 3690 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) 3691 3692 mainSizer.Add((5,5),0) 3692 3693 for RBObj in data['RBModels']['Residue']: … … 3694 3695 if 'Vector' in data['RBModels']: 3695 3696 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) 3697 3698 mainSizer.Add((5,5),0) 3698 3699 for RBObj in data['RBModels']['Vector']: … … 3941 3942 atNames = data['testRBObj']['atNames'] 3942 3943 mainSizer.Add(wx.StaticText(RigidBodies,-1,'Locate rigid body : '+rbName), 3943 0, wx.ALIGN_CENTER_VERTICAL)3944 0,WACV) 3944 3945 mainSizer.Add((5,5),0) 3945 3946 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) 3947 3948 for ix,x in enumerate(Orig): 3948 3949 origX = wx.StaticText(RigidBodies,-1,'%10.5f'%(x)) 3949 OriSizer.Add(origX,0, wx.ALIGN_CENTER_VERTICAL)3950 OriSizer.Add(origX,0,WACV) 3950 3951 Xsizers.append(origX) 3951 3952 OriSizer.Add((5,0),) … … 3954 3955 choice.sort() 3955 3956 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) 3957 3958 for ix,x in enumerate(Orien): 3958 3959 orien = wx.StaticText(RigidBodies,-1,'%10.4f'%(x)) 3959 OriSizer.Add(orien,0, wx.ALIGN_CENTER_VERTICAL)3960 OriSizer.Add(orien,0,WACV) 3960 3961 Osizers.append(orien) 3961 3962 data['testRBObj']['Sizers']['Osizers'] = Osizers … … 3964 3965 RefSizer = wx.FlexGridSizer(1,7,5,5) 3965 3966 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) 3967 3968 for i in [0,1,2]: 3968 3969 choice = ['',]+atNames[i].keys() 3969 3970 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) 3971 3972 atPick = wx.ComboBox(RigidBodies,-1,value='', 3972 3973 choices=choice[1:],style=wx.CB_READONLY|wx.CB_DROPDOWN) … … 3976 3977 atPick.Bind(wx.EVT_COMBOBOX, OnAtOrigPick) 3977 3978 Indx[atPick.GetId()] = i 3978 RefSizer.Add(atPick,0, wx.ALIGN_CENTER_VERTICAL)3979 RefSizer.Add(atPick,0,WACV) 3979 3980 mainSizer.Add(RefSizer) 3980 3981 mainSizer.Add((5,5),0) … … 3989 3990 for item in [seq[0],seq[1],seq[3][0]]: 3990 3991 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) 3992 3993 torSlide = wx.Slider(RigidBodies,style=wx.SL_HORIZONTAL) 3993 3994 torSlide.SetRange(0,3600) … … 3995 3996 torSlide.Bind(wx.EVT_SLIDER, OnTorSlide) 3996 3997 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) 3998 3999 ang = wx.TextCtrl(RigidBodies,-1,value='%8.3f'%(torsion[0]),style=wx.TE_PROCESS_ENTER) 3999 4000 ang.Bind(wx.EVT_TEXT_ENTER,OnTorAngle) … … 4001 4002 Indx[torSlide.GetId()] = [t,ang] 4002 4003 Indx[ang.GetId()] = [t,torSlide] 4003 TorSizer.Add(ang,0, wx.ALIGN_CENTER_VERTICAL)4004 TorSizer.Add(ang,0,WACV) 4004 4005 mainSizer.Add(TorSizer,1,wx.EXPAND|wx.RIGHT) 4005 4006 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) 4007 4008 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) 4009 4010 mainSizer.Add((5,5),0) 4010 4011 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) 4012 4013 rbSel = wx.ComboBox(RigidBodies,-1,value='',choices=rbNames.keys(), 4013 4014 style=wx.CB_READONLY|wx.CB_DROPDOWN) 4014 4015 rbSel.Bind(wx.EVT_COMBOBOX, OnRBSel) 4015 4016 topSizer.Add((5,5),0) 4016 topSizer.Add(rbSel,0, wx.ALIGN_CENTER_VERTICAL)4017 topSizer.Add(rbSel,0,WACV) 4017 4018 mainSizer.Add(topSizer) 4018 4019 … … 4256 4257 4257 4258 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) 4259 4260 for ix,item in enumerate(['x','y','z']): 4260 4261 posRef = wx.CheckBox(MCSA,-1,label=item+': ') … … 4262 4263 posRef.Bind(wx.EVT_CHECKBOX,OnPosRef) 4263 4264 Indx[posRef.GetId()] = [model,'Pos',ix] 4264 atomsizer.Add(posRef,0, wx.ALIGN_CENTER_VERTICAL)4265 atomsizer.Add(posRef,0,WACV) 4265 4266 posVal = wx.TextCtrl(MCSA,-1,'%.4f'%(model['Pos'][0][ix]),style=wx.TE_PROCESS_ENTER) 4266 4267 posVal.Bind(wx.EVT_TEXT_ENTER,OnPosVal) 4267 4268 posVal.Bind(wx.EVT_KILL_FOCUS,OnPosVal) 4268 4269 Indx[posVal.GetId()] = [model,'Pos',ix] 4269 atomsizer.Add(posVal,0, wx.ALIGN_CENTER_VERTICAL)4270 atomsizer.Add(posVal,0,WACV) 4270 4271 atomsizer.Add((5,5),0) 4271 4272 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) 4273 4274 rmin,rmax = model['Pos'][2][ix] 4274 4275 posRange = wx.TextCtrl(MCSA,-1,'%.3f %.3f'%(rmin,rmax),style=wx.TE_PROCESS_ENTER) … … 4276 4277 posRange.Bind(wx.EVT_TEXT_ENTER,OnPosRange) 4277 4278 posRange.Bind(wx.EVT_KILL_FOCUS,OnPosRange) 4278 atomsizer.Add(posRange,0, wx.ALIGN_CENTER_VERTICAL)4279 atomsizer.Add(posRange,0,WACV) 4279 4280 return atomsizer 4280 4281 … … 4328 4329 rbsizer = wx.BoxSizer(wx.VERTICAL) 4329 4330 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) 4331 4332 for ix,item in enumerate(['x','y','z']): 4332 4333 posRef = wx.CheckBox(MCSA,-1,label=item+': ') … … 4334 4335 posRef.Bind(wx.EVT_CHECKBOX,OnPosRef) 4335 4336 Indx[posRef.GetId()] = [model,'Pos',ix] 4336 rbsizer1.Add(posRef,0, wx.ALIGN_CENTER_VERTICAL)4337 rbsizer1.Add(posRef,0,WACV) 4337 4338 posVal = wx.TextCtrl(MCSA,-1,'%.4f'%(model['Pos'][0][ix]),style=wx.TE_PROCESS_ENTER) 4338 4339 posVal.Bind(wx.EVT_TEXT_ENTER,OnPosVal) 4339 4340 posVal.Bind(wx.EVT_KILL_FOCUS,OnPosVal) 4340 4341 Indx[posVal.GetId()] = [model,'Pos',ix] 4341 rbsizer1.Add(posVal,0, wx.ALIGN_CENTER_VERTICAL)4342 rbsizer1.Add(posVal,0,WACV) 4342 4343 molcent = wx.CheckBox(MCSA,-1,label=' Use mol. center? ') 4343 4344 molcent.SetValue(model['MolCent'][1]) 4344 4345 molcent.Bind(wx.EVT_CHECKBOX,OnMolCent) 4345 4346 Indx[molcent.GetId()] = model 4346 rbsizer1.Add(molcent,0, wx.ALIGN_CENTER_VERTICAL)4347 rbsizer1.Add(molcent,0,WACV) 4347 4348 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) 4349 4350 rmin,rmax = model['Pos'][2][ix] 4350 4351 posRange = wx.TextCtrl(MCSA,-1,'%.3f %.3f'%(rmin,rmax),style=wx.TE_PROCESS_ENTER) … … 4352 4353 posRange.Bind(wx.EVT_TEXT_ENTER,OnPosRange) 4353 4354 posRange.Bind(wx.EVT_KILL_FOCUS,OnPosRange) 4354 rbsizer1.Add(posRange,0, wx.ALIGN_CENTER_VERTICAL)4355 rbsizer1.Add(posRange,0,WACV) 4355 4356 4356 4357 rbsizer2 = wx.FlexGridSizer(1,6,5,5) 4357 4358 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) 4359 4360 angVal = wx.TextCtrl(MCSA,-1,'%.5f'%(Ori[0]),style=wx.TE_PROCESS_ENTER) 4360 4361 angVal.Bind(wx.EVT_TEXT_ENTER,OnOriVal) 4361 4362 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) 4364 4365 vecVal = wx.TextCtrl(MCSA,-1,'%.3f %.3f %.3f'%(Ori[1],Ori[2],Ori[3]),style=wx.TE_PROCESS_ENTER) 4365 4366 vecVal.Bind(wx.EVT_TEXT_ENTER,OnOriVal) … … 4367 4368 Indx[angVal.GetId()] = [model,0,angVal,vecVal] 4368 4369 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) 4371 4372 choice = [' ','A','AV'] 4372 4373 orvar = wx.ComboBox(MCSA,-1,value=model['Ovar'],choices=choice, … … 4374 4375 orvar.Bind(wx.EVT_COMBOBOX, OnOrVar) 4375 4376 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) 4378 4379 Rge = model['Ori'][2] 4379 4380 angRange = wx.TextCtrl(MCSA,-1,'%.3f %.3f'%(Rge[0][0],Rge[0][1]),style=wx.TE_PROCESS_ENTER) … … 4381 4382 angRange.Bind(wx.EVT_TEXT_ENTER,OnPosRange) 4382 4383 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) 4385 4386 for io,item in enumerate(['Oi','Oj','Ok']): 4386 4387 rmin,rmax = Rge[io+1] … … 4389 4390 vecRange.Bind(wx.EVT_TEXT_ENTER,OnPosRange) 4390 4391 vecRange.Bind(wx.EVT_KILL_FOCUS,OnPosRange) 4391 rbsizer2.Add(vecRange,0, wx.ALIGN_CENTER_VERTICAL)4392 rbsizer2.Add(vecRange,0,WACV) 4392 4393 rbsizer.Add(rbsizer1) 4393 4394 rbsizer.Add(rbsizer2) 4394 4395 if model['Type'] == 'Residue': 4395 4396 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) 4397 4398 rbsizer3 = wx.FlexGridSizer(1,8,5,5) 4398 4399 for it,tor in enumerate(model['Tor'][0]): … … 4403 4404 torRef.Bind(wx.EVT_CHECKBOX,OnPosRef) 4404 4405 Indx[torRef.GetId()] = [model,'Tor',it] 4405 rbsizer3.Add(torRef,0, wx.ALIGN_CENTER_VERTICAL)4406 rbsizer3.Add(torRef,0,WACV) 4406 4407 torVal = wx.TextCtrl(MCSA,-1,'%.4f'%(tor),style=wx.TE_PROCESS_ENTER) 4407 4408 torVal.Bind(wx.EVT_TEXT_ENTER,OnPosVal) 4408 4409 torVal.Bind(wx.EVT_KILL_FOCUS,OnPosVal) 4409 4410 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) 4412 4413 rmin,rmax = model['Tor'][2][it] 4413 4414 torRange = wx.TextCtrl(MCSA,-1,'%.3f %.3f'%(rmin,rmax),style=wx.TE_PROCESS_ENTER) … … 4415 4416 torRange.Bind(wx.EVT_TEXT_ENTER,OnPosRange) 4416 4417 torRange.Bind(wx.EVT_KILL_FOCUS,OnPosRange) 4417 rbsizer3.Add(torRange,0, wx.ALIGN_CENTER_VERTICAL)4418 rbsizer3.Add(torRange,0,WACV) 4418 4419 rbsizer.Add(rbsizer3) 4419 4420 … … 4463 4464 poRef.SetValue(POData['Coef'][1]) 4464 4465 poRef.Bind(wx.EVT_CHECKBOX,OnPORef) 4465 poSizer.Add(poRef,0, wx.ALIGN_CENTER_VERTICAL)4466 poSizer.Add(poRef,0,WACV) 4466 4467 poVal = wx.TextCtrl(MCSA,-1,'%.3f'%(POData['Coef'][0]),style=wx.TE_PROCESS_ENTER) 4467 4468 poVal.Bind(wx.EVT_TEXT_ENTER,OnPOVal) 4468 4469 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) 4471 4472 rmin,rmax = POData['Coef'][2] 4472 4473 poRange = wx.TextCtrl(MCSA,-1,'%.3f %.3f'%(rmin,rmax),style=wx.TE_PROCESS_ENTER) 4473 4474 poRange.Bind(wx.EVT_TEXT_ENTER,OnPORange) 4474 4475 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) 4477 4478 h,k,l = POData['axis'] 4478 4479 poAxis = wx.TextCtrl(MCSA,-1,'%3d %3d %3d'%(h,k,l),style=wx.TE_PROCESS_ENTER) 4479 4480 poAxis.Bind(wx.EVT_TEXT_ENTER,OnPOAxis) 4480 4481 poAxis.Bind(wx.EVT_KILL_FOCUS,OnPOAxis) 4481 poSizer.Add(poAxis,0, wx.ALIGN_CENTER_VERTICAL)4482 poSizer.Add(poAxis,0,WACV) 4482 4483 return poSizer 4483 4484 … … 4546 4547 if not data['MCSA']['Models']: 4547 4548 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) 4549 4550 mainSizer.Add((5,5),0) 4550 4551 else: 4551 4552 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) 4553 4554 mainSizer.Add((5,5),0) 4554 4555 for model in data['MCSA']['Models']: … … 4568 4569 if not data['MCSA']['Results']: 4569 4570 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) 4571 4572 mainSizer.Add((5,5),0) 4572 4573 else: 4573 4574 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) 4575 4576 mainSizer.Add((5,5),0) 4576 4577 Results = data['MCSA']['Results'] -
trunk/GSASIIpwdGUI.py
r1232 r1233 40 40 import GSASIIElemGUI as G2elemGUI 41 41 import GSASIIElem as G2elem 42 import GSASIIsasd as G2sasd 42 43 VERY_LIGHT_GREY = wx.Colour(235,235,235) 44 WACV = wx.ALIGN_CENTER_VERTICAL 43 45 # trig functions in degrees 44 46 sind = lambda x: math.sin(x*math.pi/180.) … … 81 83 def SetDefaultSASDModel(): 82 84 'Fills in default items for the SASD Models dictionary' 83 return {'Back':[0.0,False],'Size':{'Min MaxDiam':[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':[], 85 87 'Shape':['Spheroid',1.0],'MaxEnt':{'Niter':100,'Precision':0.01,'Sky':1e-6}, 86 88 'IPG':{'Niter':100,'Approach':0.8},'Reg':{},}, 87 89 'Unified':{'Levels':[],}, 88 90 'Particle':{'Levels':[],}, 91 'Current':'Size dist.', 89 92 } 90 93 … … 459 462 backSizer = wx.BoxSizer(wx.VERTICAL) 460 463 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) 462 465 bakType = wx.ComboBox(G2frame.dataDisplay,value=data[0][0], 463 466 choices=Choices,style=wx.CB_READONLY|wx.CB_DROPDOWN) … … 468 471 bakRef.SetValue(bool(data[0][1])) 469 472 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) 472 475 bakTerms = wx.ComboBox(G2frame.dataDisplay,-1,value=str(data[0][2]),choices=[str(i+1) for i in range(36)], 473 476 style=wx.CB_READONLY|wx.CB_DROPDOWN) 474 477 bakTerms.Bind(wx.EVT_COMBOBOX,OnBakTerms) 475 topSizer.Add(bakTerms,0, wx.ALIGN_CENTER_VERTICAL)478 topSizer.Add(bakTerms,0,WACV) 476 479 topSizer.Add((5,0),0) 477 480 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) 479 482 bakSizer = wx.FlexGridSizer(1,5,5,5) 480 483 for i,value in enumerate(data[0][3:]): 481 484 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) 483 486 ValObj[bakVal.GetId()] = [i+3] 484 487 bakVal.Bind(wx.EVT_TEXT_ENTER,OnBakVal) … … 522 525 debSizer = wx.BoxSizer(wx.VERTICAL) 523 526 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) 526 529 debTerms = wx.ComboBox(G2frame.dataDisplay,-1,value=str(data[1]['nDebye']),choices=[str(i) for i in range(12)], 527 530 style=wx.CB_READONLY|wx.CB_DROPDOWN) 528 531 debTerms.Bind(wx.EVT_COMBOBOX,OnDebTerms) 529 topSizer.Add(debTerms,0, wx.ALIGN_CENTER_VERTICAL)532 topSizer.Add(debTerms,0,WACV) 530 533 topSizer.Add((5,0),0) 531 534 debSizer.Add(topSizer) 532 535 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) 534 537 rowLabels = [] 535 538 for i in range(len(data[1]['debyeTerms'])): rowLabels.append(str(i)) … … 580 583 peaksSizer = wx.BoxSizer(wx.VERTICAL) 581 584 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) 584 587 peaks = wx.ComboBox(G2frame.dataDisplay,-1,value=str(data[1]['nPeaks']),choices=[str(i) for i in range(12)], 585 588 style=wx.CB_READONLY|wx.CB_DROPDOWN) 586 589 peaks.Bind(wx.EVT_COMBOBOX,OnPeaks) 587 topSizer.Add(peaks,0, wx.ALIGN_CENTER_VERTICAL)590 topSizer.Add(peaks,0,WACV) 588 591 topSizer.Add((5,0),0) 589 592 peaksSizer.Add(topSizer) 590 593 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) 592 595 rowLabels = [] 593 596 for i in range(len(data[1]['peaksList'])): rowLabels.append(str(i)) … … 964 967 topSizer = wx.FlexGridSizer(1,6,5,5) 965 968 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) 967 970 # topSizer.Add((5,5),0) 968 971 if 'P' in insVal['Type']: #powder data … … 983 986 insRef['Azimuth'] = False 984 987 #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) 986 989 if 'Lam1' in insVal: 987 990 topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' Ka1/Ka2:'), 988 0, wx.ALIGN_CENTER_VERTICAL)991 0,WACV) 989 992 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) 991 994 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) 993 996 choice = ['TiKa','CrKa','FeKa','CoKa','CuKa','MoKa','AgKa'] 994 997 lamPick = wx.ComboBox(G2frame.dataDisplay,value=' ',choices=choice,style=wx.CB_READONLY|wx.CB_DROPDOWN) … … 997 1000 topSizer.Add(waveSizer,0) 998 1001 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) 1000 1003 ratVal = wx.TextCtrl(G2frame.dataDisplay,wx.ID_ANY,'%10.4f'%(insVal['I(L2)/I(L1)']),style=wx.TE_PROCESS_ENTER) 1001 1004 ratVal.Bind(wx.EVT_TEXT_ENTER,OnRatValue) … … 1005 1008 ratRef.SetValue(bool(insRef['I(L2)/I(L1)'])) 1006 1009 ratRef.Bind(wx.EVT_CHECKBOX, OnRatRef) 1007 instSizer.Add(ratRef,0, wx.ALIGN_CENTER_VERTICAL)1010 instSizer.Add(ratRef,0,WACV) 1008 1011 1009 1012 else: 1010 1013 topSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,u' Lam (\xc5): (%10.6f)'%(insDef['Lam'])), 1011 0, wx.ALIGN_CENTER_VERTICAL)1014 0,WACV) 1012 1015 waveVal = wx.TextCtrl(G2frame.dataDisplay,wx.ID_ANY,'%10.6f'%(insVal['Lam']),style=wx.TE_PROCESS_ENTER) 1013 1016 waveVal.Bind(wx.EVT_TEXT_ENTER,OnWaveValue) 1014 1017 waveVal.Bind(wx.EVT_KILL_FOCUS,OnWaveValue) 1015 topSizer.Add(waveVal,0, wx.ALIGN_CENTER_VERTICAL)1018 topSizer.Add(waveVal,0,WACV) 1016 1019 if ifHisto: 1017 1020 waveRef = wx.CheckBox(G2frame.dataDisplay,label=' Refine?') 1018 1021 waveRef.SetValue(bool(insRef['Lam'])) 1019 1022 waveRef.Bind(wx.EVT_CHECKBOX, OnWaveRef) 1020 topSizer.Add(waveRef,0, wx.ALIGN_CENTER_VERTICAL)1023 topSizer.Add(waveRef,0,WACV) 1021 1024 for item in ['Zero','Polariz.']: 1022 1025 fmt = '%10.4f' … … 1024 1027 if item in insDef: 1025 1028 instSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,Fmt%(item,insDef[item])), 1026 0, wx.ALIGN_CENTER_VERTICAL)1029 0,WACV) 1027 1030 itemVal = wx.TextCtrl(G2frame.dataDisplay,wx.ID_ANY,fmt%(insVal[item]),style=wx.TE_PROCESS_ENTER) 1028 1031 ValObj[itemVal.GetId()] = [item,fmt] 1029 1032 itemVal.Bind(wx.EVT_TEXT_ENTER,OnItemValue) 1030 1033 itemVal.Bind(wx.EVT_KILL_FOCUS,OnItemValue) 1031 instSizer.Add(itemVal,0, wx.ALIGN_CENTER_VERTICAL)1034 instSizer.Add(itemVal,0,WACV) 1032 1035 if ifHisto: 1033 1036 itemRef = wx.CheckBox(G2frame.dataDisplay,wx.ID_ANY,label=' Refine?') … … 1035 1038 RefObj[itemRef.GetId()] = item 1036 1039 itemRef.Bind(wx.EVT_CHECKBOX, OnItemRef) 1037 instSizer.Add(itemRef,0, wx.ALIGN_CENTER_VERTICAL)1040 instSizer.Add(itemRef,0,WACV) 1038 1041 else: 1039 1042 instSizer.Add((5,5),0) … … 1048 1051 Fmt = ' %s: ('+fmt+')' 1049 1052 instSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,Fmt%(item,insDef[item])), 1050 0, wx.ALIGN_CENTER_VERTICAL)1053 0,WACV) 1051 1054 itemVal = wx.TextCtrl(G2frame.dataDisplay,wx.ID_ANY,fmt%(insVal[item]),style=wx.TE_PROCESS_ENTER) 1052 1055 ValObj[itemVal.GetId()] = [item,fmt] 1053 1056 itemVal.Bind(wx.EVT_TEXT_ENTER,OnItemValue) 1054 1057 itemVal.Bind(wx.EVT_KILL_FOCUS,OnItemValue) 1055 instSizer.Add(itemVal,0, wx.ALIGN_CENTER_VERTICAL)1058 instSizer.Add(itemVal,0,WACV) 1056 1059 itemRef = wx.CheckBox(G2frame.dataDisplay,wx.ID_ANY,label=' Refine?') 1057 1060 itemRef.SetValue(bool(insRef[item])) 1058 1061 RefObj[itemRef.GetId()] = item 1059 1062 itemRef.Bind(wx.EVT_CHECKBOX, OnItemRef) 1060 instSizer.Add(itemRef,0, wx.ALIGN_CENTER_VERTICAL)1063 instSizer.Add(itemRef,0,WACV) 1061 1064 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) 1064 1067 if 'Pdabc' in Inst2: 1065 1068 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) 1068 1071 else: 1069 1072 Items = ['difC','difA','Zero','alpha','beta-0','beta-1','beta-q','sig-0','sig-1','sig-q','X','Y'] … … 1074 1077 Fmt = ' %s: ('+fmt+')' 1075 1078 instSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,Fmt%(item,insDef[item])), 1076 0, wx.ALIGN_CENTER_VERTICAL)1079 0,WACV) 1077 1080 itemVal = wx.TextCtrl(G2frame.dataDisplay,wx.ID_ANY,fmt%(insVal[item]),style=wx.TE_PROCESS_ENTER) 1078 1081 ValObj[itemVal.GetId()] = [item,fmt] 1079 1082 itemVal.Bind(wx.EVT_TEXT_ENTER,OnItemValue) 1080 1083 itemVal.Bind(wx.EVT_KILL_FOCUS,OnItemValue) 1081 instSizer.Add(itemVal,0, wx.ALIGN_CENTER_VERTICAL)1084 instSizer.Add(itemVal,0,WACV) 1082 1085 if not ifHisto and item in ['difC','difA','Zero',]: 1083 1086 instSizer.Add((5,5),0) … … 1087 1090 RefObj[itemRef.GetId()] = item 1088 1091 itemRef.Bind(wx.EVT_CHECKBOX, OnItemRef) 1089 instSizer.Add(itemRef,0, wx.ALIGN_CENTER_VERTICAL)1092 instSizer.Add(itemRef,0,WACV) 1090 1093 1091 1094 elif 'S' in insVal['Type']: #single crystal data 1092 1095 if 'C' in insVal['Type']: #constant wavelength 1093 1096 instSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,u' Lam (\xc5): (%10.6f)'%(insDef['Lam'])), 1094 0, wx.ALIGN_CENTER_VERTICAL)1097 0,WACV) 1095 1098 waveVal = wx.TextCtrl(G2frame.dataDisplay,wx.ID_ANY,'%10.6f'%(insVal['Lam']),style=wx.TE_PROCESS_ENTER) 1096 1099 waveVal.Bind(wx.EVT_TEXT_ENTER,OnWaveValue) 1097 1100 waveVal.Bind(wx.EVT_KILL_FOCUS,OnWaveValue) 1098 instSizer.Add(waveVal,0, wx.ALIGN_CENTER_VERTICAL)1101 instSizer.Add(waveVal,0,WACV) 1099 1102 else: #time of flight (neutrons) 1100 1103 pass #for now … … 1102 1105 if 'C' in insVal['Type']: 1103 1106 instSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,u' Lam (\xc5): (%10.6f)'%(insDef['Lam'])), 1104 0, wx.ALIGN_CENTER_VERTICAL)1107 0,WACV) 1105 1108 waveVal = wx.TextCtrl(G2frame.dataDisplay,wx.ID_ANY,'%10.6f'%(insVal['Lam']),style=wx.TE_PROCESS_ENTER) 1106 1109 waveVal.Bind(wx.EVT_TEXT_ENTER,OnWaveValue) 1107 1110 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) 1110 1113 else: #time of flight (neutrons) 1111 1114 pass #for now … … 1391 1394 nameSizer = wx.BoxSizer(wx.HORIZONTAL) 1392 1395 nameSizer.Add(wx.StaticText(G2frame.dataDisplay,wx.ID_ANY,' Instrument Name'), 1393 0, wx.ALIGN_CENTER_VERTICAL)1396 0,WACV) 1394 1397 nameSizer.Add((-1,-1),1,wx.EXPAND,1) 1395 1398 instNameVal = wx.TextCtrl(G2frame.dataDisplay,wx.ID_ANY,data.get('InstrName',''), … … 1403 1406 nameSizer = wx.BoxSizer(wx.HORIZONTAL) 1404 1407 nameSizer.Add(wx.StaticText(G2frame.dataDisplay,wx.ID_ANY,' Diffractometer type: '), 1405 0, wx.ALIGN_CENTER_VERTICAL)1408 0,WACV) 1406 1409 choices = ['Debye-Scherrer','Bragg-Brentano',] 1407 1410 histoType = wx.ComboBox(G2frame.dataDisplay,wx.ID_ANY,value=data['Type'],choices=choices, … … 1416 1419 if 'list' in str(type(data[key])): 1417 1420 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) 1419 1422 parmVal = G2gd.ValidatedTxtCtrl(G2frame.dataDisplay,data[key],0, 1420 1423 nDig=nDig,typeHint=float,OnLeave=AfterChange) 1421 1424 else: 1422 1425 parmSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' '+lbl), 1423 0, wx.ALIGN_CENTER_VERTICAL|wx.EXPAND)1426 0,WACV|wx.EXPAND) 1424 1427 parmVal = G2gd.ValidatedTxtCtrl(G2frame.dataDisplay,data,key, 1425 1428 typeHint=float,OnLeave=AfterChange) … … 1444 1447 G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Substances')) 1445 1448 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) 1447 1450 matsel = wx.ComboBox(G2frame.dataDisplay,value=item['Name'],choices=Substances['Substances'].keys(), 1448 1451 style=wx.CB_READONLY|wx.CB_DROPDOWN) 1449 1452 Info[matsel.GetId()] = [id,'Name'] 1450 1453 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) 1453 1456 volfrac = wx.TextCtrl(G2frame.dataDisplay,value=str('%.3f'%(item['VolFrac'])),style=wx.TE_PROCESS_ENTER) 1454 1457 Info[volfrac.GetId()] = [id,'VolFrac'] 1455 1458 volfrac.Bind(wx.EVT_TEXT_ENTER,OnMaterial) 1456 1459 volfrac.Bind(wx.EVT_KILL_FOCUS,OnMaterial) 1457 subSizer.Add(volfrac,0, wx.ALIGN_CENTER_VERTICAL)1460 subSizer.Add(volfrac,0,WACV) 1458 1461 material = Substances['Substances'][item['Name']] 1459 1462 mu += item['VolFrac']*material.get('XAbsorption',0.) … … 1463 1466 mainSizer.Add(subSizer,0) 1464 1467 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) 1467 1470 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) 1469 1472 mainSizer.Add(conSizer,0) 1470 1473 … … 1935 1938 G2frame.dataFrame.MakeNewPhase.Enable(True) 1936 1939 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) 1938 1941 mainSizer.Add((5,5),0) 1939 1942 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) 1941 1944 NcNo = wx.SpinCtrl(G2frame.dataDisplay) 1942 1945 NcNo.SetRange(1,6) 1943 1946 NcNo.SetValue(controls[2]) 1944 1947 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) 1947 1950 startVol = wx.TextCtrl(G2frame.dataDisplay,value=str('%d'%(controls[3])),style=wx.TE_PROCESS_ENTER) 1948 1951 startVol.Bind(wx.EVT_TEXT_ENTER,OnStartVol) 1949 1952 startVol.Bind(wx.EVT_KILL_FOCUS,OnStartVol) 1950 littleSizer.Add(startVol,0, wx.ALIGN_CENTER_VERTICAL)1953 littleSizer.Add(startVol,0,WACV) 1951 1954 mainSizer.Add(littleSizer,0) 1952 1955 mainSizer.Add((5,5),0) 1953 1956 mainSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Select Bravais Lattices for indexing: '), 1954 0, wx.ALIGN_CENTER_VERTICAL)1957 0,WACV) 1955 1958 mainSizer.Add((5,5),0) 1956 1959 littleSizer = wx.FlexGridSizer(2,7,5,5) … … 1962 1965 bravCk.SetValue(brav) 1963 1966 bravCk.Bind(wx.EVT_CHECKBOX,OnBravais) 1964 littleSizer.Add(bravCk,0, wx.ALIGN_CENTER_VERTICAL)1967 littleSizer.Add(bravCk,0,WACV) 1965 1968 mainSizer.Add(littleSizer,0) 1966 1969 mainSizer.Add((5,5),0) 1967 1970 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) 1969 1972 mainSizer.Add((5,5),0) 1970 1973 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) 1972 1975 bravSel = wx.Choice(G2frame.dataDisplay,choices=bravaisSymb) 1973 1976 bravSel.SetSelection(bravaisSymb.index(controls[5])) 1974 1977 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) 1977 1980 spcSel = wx.Choice(G2frame.dataDisplay,choices=SPGlist[controls[5]]) 1978 1981 spcSel.SetSelection(SPGlist[controls[5]].index(controls[13])) 1979 1982 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) 1982 1985 zero = wx.TextCtrl(G2frame.dataDisplay,value="%.4f"%(controls[1]),style=wx.TE_PROCESS_ENTER) 1983 1986 zero.Bind(wx.EVT_TEXT_ENTER,OnZero) 1984 1987 zero.Bind(wx.EVT_KILL_FOCUS,OnZero) 1985 littleSizer.Add(zero,0, wx.ALIGN_CENTER_VERTICAL)1988 littleSizer.Add(zero,0,WACV) 1986 1989 zeroVar = wx.CheckBox(G2frame.dataDisplay,label="Refine?") 1987 1990 zeroVar.SetValue(controls[0]) 1988 1991 zeroVar.Bind(wx.EVT_CHECKBOX,OnZeroVar) 1989 littleSizer.Add(zeroVar,0, wx.ALIGN_CENTER_VERTICAL)1992 littleSizer.Add(zeroVar,0,WACV) 1990 1993 hklShow = wx.Button(G2frame.dataDisplay,label="Show hkl positions") 1991 1994 hklShow.Bind(wx.EVT_BUTTON,OnHklShow) 1992 littleSizer.Add(hklShow,0, wx.ALIGN_CENTER_VERTICAL)1995 littleSizer.Add(hklShow,0,WACV) 1993 1996 mainSizer.Add(littleSizer,0) 1994 1997 … … 2001 2004 littleSizer = wx.FlexGridSizer(2,useGUI[1],5,5) 2002 2005 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) 2004 2007 if ifEdit: #a,b,c,etc. 2005 2008 cellVal = wx.TextCtrl(G2frame.dataDisplay,value=(fmt%(controls[6+Id])),style=wx.TE_PROCESS_ENTER) 2006 2009 cellVal.Bind(wx.EVT_TEXT_ENTER,OnCellChange) 2007 2010 cellVal.Bind(wx.EVT_KILL_FOCUS,OnCellChange) 2008 littleSizer.Add(cellVal,0, wx.ALIGN_CENTER_VERTICAL)2011 littleSizer.Add(cellVal,0,WACV) 2009 2012 cellList.append(cellVal.GetId()) 2010 2013 else: #volume 2011 2014 volVal = wx.TextCtrl(G2frame.dataDisplay,value=(fmt%(controls[12])),style=wx.TE_READONLY) 2012 2015 volVal.SetBackgroundColour(VERY_LIGHT_GREY) 2013 littleSizer.Add(volVal,0, wx.ALIGN_CENTER_VERTICAL)2016 littleSizer.Add(volVal,0,WACV) 2014 2017 mainSizer.Add(littleSizer,0) 2015 2018 … … 2345 2348 substSizer = wx.BoxSizer(wx.VERTICAL) 2346 2349 substSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Substance list: wavelength: %.5fA'%(wave)), 2347 0, wx.ALIGN_CENTER_VERTICAL)2350 0,WACV) 2348 2351 for name in data['Substances']: 2349 2352 G2gd.HorizontalLine(substSizer,G2frame.dataDisplay) 2350 2353 substSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Data for '+name+':'), 2351 0, wx.ALIGN_CENTER_VERTICAL)2354 0,WACV) 2352 2355 if name == 'vacuum': 2353 2356 substSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Not applicable'), 2354 0, wx.ALIGN_CENTER_VERTICAL)2357 0,WACV) 2355 2358 else: 2356 2359 elSizer = wx.FlexGridSizer(1,6,5,5) … … 2359 2362 for El in Elems: 2360 2363 elSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' '+El+': '), 2361 0, wx.ALIGN_CENTER_VERTICAL)2364 0,WACV) 2362 2365 num = wx.TextCtrl(G2frame.dataDisplay,value='%.2f'%(Elems[El]['Num']),style=wx.TE_PROCESS_ENTER) 2363 2366 Indx[num.GetId()] = [name,El,'Num'] 2364 2367 num.Bind(wx.EVT_TEXT_ENTER,OnValueChange) 2365 2368 num.Bind(wx.EVT_KILL_FOCUS,OnValueChange) 2366 elSizer.Add(num,0, wx.ALIGN_CENTER_VERTICAL)2369 elSizer.Add(num,0,WACV) 2367 2370 substSizer.Add(elSizer,0) 2368 2371 vdsSizer = wx.FlexGridSizer(1,4,5,5) 2369 2372 vdsSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Volume: '), 2370 0, wx.ALIGN_CENTER_VERTICAL)2373 0,WACV) 2371 2374 vol = wx.TextCtrl(G2frame.dataDisplay,value='%.3f'%(Substance['Volume']),style=wx.TE_PROCESS_ENTER) 2372 2375 Indx[vol.GetId()] = [name,'Volume'] 2373 2376 vol.Bind(wx.EVT_TEXT_ENTER,OnValueChange) 2374 2377 vol.Bind(wx.EVT_KILL_FOCUS,OnValueChange) 2375 vdsSizer.Add(vol,0, wx.ALIGN_CENTER_VERTICAL)2378 vdsSizer.Add(vol,0,WACV) 2376 2379 vdsSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Density: '), 2377 0, wx.ALIGN_CENTER_VERTICAL)2380 0,WACV) 2378 2381 den = wx.TextCtrl(G2frame.dataDisplay,value='%.3f'%(Substance['Density']),style=wx.TE_PROCESS_ENTER) 2379 2382 Indx[den.GetId()] = [name,'Density'] 2380 2383 den.Bind(wx.EVT_TEXT_ENTER,OnValueChange) 2381 2384 den.Bind(wx.EVT_KILL_FOCUS,OnValueChange) 2382 vdsSizer.Add(den,0, wx.ALIGN_CENTER_VERTICAL)2385 vdsSizer.Add(den,0,WACV) 2383 2386 substSizer.Add(vdsSizer,0) 2384 2387 substSizer.Add(wx.StaticText(G2frame.dataDisplay, 2385 2388 label=' Scattering density : %.2f *10%scm%s'%(Substance['Scatt density'],Pwr10,Pwrm2)), 2386 0, wx.ALIGN_CENTER_VERTICAL)2389 0,WACV) 2387 2390 substSizer.Add(wx.StaticText(G2frame.dataDisplay, 2388 2391 label=' Anomalous density : %.2f *10%scm%s'%(Substance['XAnom density'],Pwr10,Pwrm2)), 2389 0, wx.ALIGN_CENTER_VERTICAL)2392 0,WACV) 2390 2393 substSizer.Add(wx.StaticText(G2frame.dataDisplay, 2391 2394 label=' X-ray absorption : %.2f cm%s'%(Substance['XAbsorption'],Pwrm1)), 2392 0, wx.ALIGN_CENTER_VERTICAL)2395 0,WACV) 2393 2396 return substSizer 2394 2397 … … 2427 2430 '''respond to selection of SASD Models data tree item. 2428 2431 ''' 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 2429 2442 2430 2443 def OnCopyModel(event): … … 2433 2446 2434 2447 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() 2437 2584 G2gd.SetDataMenuBar(G2frame,G2frame.dataFrame.ModelMenu) 2438 2585 if not G2frame.dataFrame.GetStatusBar(): … … 2442 2589 G2frame.dataFrame.Bind(wx.EVT_MENU, OnCopyModel, id=G2gd.wxID_MODELCOPY) 2443 2590 G2frame.dataFrame.Bind(wx.EVT_MENU, OnFitModel, id=G2gd.wxID_MODELFIT) 2591 Indx = {} 2444 2592 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) 2446 2622 2447 2623 mainSizer.Layout() … … 2510 2686 item = data[key] 2511 2687 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) 2513 2689 fileName = wx.ComboBox(G2frame.dataDisplay,value=item['Name'],choices=fileList, 2514 2690 style=wx.CB_READONLY|wx.CB_DROPDOWN) … … 2516 2692 fileName.Bind(wx.EVT_COMBOBOX,OnSelectFile) 2517 2693 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) 2519 2695 mult = wx.TextCtrl(G2frame.dataDisplay,value='%.3f'%(item['Mult']),style=wx.TE_PROCESS_ENTER) 2520 2696 itemDict[mult.GetId()] = [key,'Mult','%.3f'] … … 2522 2698 mult.Bind(wx.EVT_KILL_FOCUS,OnValueChange) 2523 2699 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) 2525 2701 add = wx.TextCtrl(G2frame.dataDisplay,value='%.0f'%(item['Add']),style=wx.TE_PROCESS_ENTER) 2526 2702 itemDict[add.GetId()] = [key,'Add','%.0f'] … … 2555 2731 2556 2732 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) 2558 2734 num = wx.TextCtrl(G2frame.dataDisplay,value='%.3f'%(ElData['FormulaNo']),style=wx.TE_PROCESS_ENTER) 2559 2735 num.Bind(wx.EVT_TEXT_ENTER,OnFractionChange) 2560 2736 num.Bind(wx.EVT_KILL_FOCUS,OnFractionChange) 2561 elemSizer.Add(num,0, wx.ALIGN_CENTER_VERTICAL)2737 elemSizer.Add(num,0,WACV) 2562 2738 elemSizer.Add(wx.StaticText(parent=G2frame.dataDisplay, 2563 2739 label="f': %.3f"%(ElData['fp'])+' f": %.3f'%(ElData['fpp'])+' mu: %.2f barns'%(ElData['mu']) ), 2564 0, wx.ALIGN_CENTER_VERTICAL)2740 0,WACV) 2565 2741 2566 2742 def OnGeometry(event): … … 2852 3028 G2frame.dataFrame.Bind(wx.EVT_MENU, OnComputeAllPDF, id=G2gd.wxID_PDFCOMPUTEALL) 2853 3029 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) 2855 3031 mainSizer.Add((5,5),0) 2856 3032 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) 2858 3034 # 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) 2860 3036 # azimVal = wx.TextCtrl(G2frame.dataDisplay,value='%.2f'%(inst['Azimuth'])) 2861 3037 # azimVal.Bind(wx.EVT_TEXT_ENTER,OnAzimVal) 2862 3038 # azimVal.Bind(wx.EVT_KILL_FOCUS,OnAzimVal) 2863 3039 # 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) 2865 3041 # polaVal = wx.TextCtrl(G2frame.dataDisplay,value='%.2f'%(inst['Polariz.'])) 2866 3042 # polaVal.Bind(wx.EVT_TEXT_ENTER,OnPolaVal) … … 2877 3053 mainSizer.Add(fileSizer,0) 2878 3054 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) 2880 3056 mainSizer.Add((5,5),0) 2881 3057 … … 2889 3065 mainSizer.Add((5,5),0) 2890 3066 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) 2892 3068 formVol = wx.TextCtrl(G2frame.dataDisplay,value='%.2f'%(data['Form Vol'])) 2893 3069 formVol.Bind(wx.EVT_TEXT_ENTER,OnFormVol) … … 2896 3072 midSizer.Add(wx.StaticText(G2frame.dataDisplay, 2897 3073 label=' Theoretical absorption: %.4f cm-1 Sample absorption: %.4f cm-1'%(Abs,Abs*data['Pack'])), 2898 0, wx.ALIGN_CENTER_VERTICAL)3074 0,WACV) 2899 3075 mainSizer.Add(midSizer,0) 2900 3076 mainSizer.Add((5,5),0) 2901 3077 2902 3078 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) 2904 3080 choice = ['Cylinder','Bragg-Brentano','Tilting flat plate in transmission','Fixed flat plate'] 2905 3081 geometry = wx.ComboBox(G2frame.dataDisplay,value=data['Geometry'],choices=choice, … … 2907 3083 geometry.Bind(wx.EVT_COMBOBOX, OnGeometry) 2908 3084 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) 2910 3086 diam = wx.TextCtrl(G2frame.dataDisplay,value='%.3f'%(data['Diam'])) 2911 3087 diam.Bind(wx.EVT_TEXT_ENTER,OnDiameter) … … 2916 3092 mainSizer.Add((5,5),0) 2917 3093 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) 2919 3095 pack = wx.TextCtrl(G2frame.dataDisplay,value='%.2f'%(data['Pack'])) 2920 3096 pack.Bind(wx.EVT_TEXT_ENTER,OnPacking) 2921 3097 pack.Bind(wx.EVT_KILL_FOCUS,OnPacking) 2922 3098 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) 2924 3100 mainSizer.Add(geoBox,0) 2925 3101 mainSizer.Add((5,5),0) 2926 3102 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) 2928 3104 mainSizer.Add((5,5),0) 2929 3105 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) 2931 3107 choice = ['Image plate','Point detector'] 2932 3108 detType = wx.ComboBox(G2frame.dataDisplay,value=data['DetType'],choices=choice, … … 2935 3111 sqBox.Add(detType,0) 2936 3112 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) 2938 3114 obliqCoeff = wx.TextCtrl(G2frame.dataDisplay,value='%.3f'%(data['ObliqCoeff'])) 2939 3115 obliqCoeff.Bind(wx.EVT_TEXT_ENTER,OnObliqCoeff) … … 2943 3119 2944 3120 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) 2946 3122 rulandSldr = wx.Slider(parent=G2frame.dataDisplay,style=wx.SL_HORIZONTAL, 2947 3123 value=int(1000*data['Ruland'])) … … 2951 3127 rulandWdt.Bind(wx.EVT_TEXT_ENTER,OnRulandWdt) 2952 3128 rulandWdt.Bind(wx.EVT_KILL_FOCUS,OnRulandWdt) 2953 sqBox.Add(rulandWdt,0, wx.ALIGN_CENTER_VERTICAL)3129 sqBox.Add(rulandWdt,0,WACV) 2954 3130 mainSizer.Add(sqBox,0,wx.ALIGN_LEFT|wx.EXPAND) 2955 3131 … … 2958 3134 lorch.SetValue(data['Lorch']) 2959 3135 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) 2962 3138 SQmin = wx.TextCtrl(G2frame.dataDisplay,value='%.1f'%(data['QScaleLim'][0])) 2963 3139 SQmin.Bind(wx.EVT_TEXT_ENTER,OnSQmin) 2964 3140 SQmin.Bind(wx.EVT_KILL_FOCUS,OnSQmin) 2965 3141 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) 2967 3143 SQmax = wx.TextCtrl(G2frame.dataDisplay,value='%.1f'%(data['QScaleLim'][1])) 2968 3144 SQmax.Bind(wx.EVT_TEXT_ENTER,OnSQmax) -
trunk/GSASIIsasd.py
r1230 r1233 55 55 npT2q = lambda tth,wave: 2.0*np.pi*npT2stl(tth,wave) 56 56 57 ############################################################################### 58 #### Particle form factors & volumes 59 ############################################################################### 60 61 def 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 69 def 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 78 def 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.