Changeset 2569 for trunk/GSASIIimgGUI.py
- Timestamp:
- Dec 9, 2016 3:17:43 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIimgGUI.py
r2566 r2569 109 109 def UpdateImageData(G2frame,data): 110 110 111 def OnPixVal(event): 112 event.Skip() 113 Obj = event.GetEventObject() 114 id = Indx[Obj.GetId()] 115 try: 116 data['pixelSize'][id] = min(500,max(10,float(Obj.GetValue()))) 117 except ValueError: 118 pass 119 Obj.SetValue('%.3f'%(data['pixelSize'][id])) 120 G2plt.PlotExposedImage(G2frame,newPlot=True,event=event) 111 def OnPixVal(invalid,value,tc): 112 G2plt.PlotExposedImage(G2frame,newPlot=True,event=tc.event) 121 113 122 114 if G2frame.dataDisplay: … … 132 124 pixSize = wx.FlexGridSizer(0,4,5,5) 133 125 pixLabels = [u' Pixel X-dimension (\xb5m)',u' Pixel Y-dimension (\xb5m)'] 134 Indx = {}135 126 for i,[pixLabel,pix] in enumerate(zip(pixLabels,data['pixelSize'])): 136 127 pixSize.Add(wx.StaticText(G2frame.dataDisplay,label=pixLabel),0,WACV) 137 pixVal = wx.TextCtrl(G2frame.dataDisplay,value='%.3f'%(pix),style=wx.TE_PROCESS_ENTER) 138 Indx[pixVal.GetId()] = i 139 pixVal.Bind(wx.EVT_TEXT_ENTER,OnPixVal) 140 pixVal.Bind(wx.EVT_KILL_FOCUS,OnPixVal) 128 pixVal = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data['pixelSize'],i,nDig=(10,3), 129 typeHint=float,OnLeave=OnPixVal) 141 130 pixSize.Add(pixVal,0,WACV) 142 131 mainSizer.Add(pixSize,0) … … 219 208 data['range'] = [(0,Imax),[Imin,Imax]] 220 209 masks['Thresholds'] = [(0,Imax),[Imin,Imax]] 221 MaxSizer.GetChildren()[2].Window.SetValue( str(int(Imax))) #tricky222 MaxSizer.GetChildren()[5].Window.SetValue( str(int(Imin))) #tricky210 MaxSizer.GetChildren()[2].Window.SetValue(Imax) #tricky 211 MaxSizer.GetChildren()[5].Window.SetValue(Imin) #tricky 223 212 224 213 def OnIntegrate(event): … … 501 490 wx.CallAfter(G2plt.PlotExposedImage,G2frame,event=event) 502 491 503 def OnAzmthOff(event): 504 event.Skip() 505 try: 506 azmthoff = float(azmthOff.GetValue()) 507 data['azmthOff'] = azmthoff 508 except ValueError: 509 pass 510 azmthOff.SetValue("%.2f"%(data['azmthOff'])) #reset in case of error 511 wx.CallAfter(G2plt.PlotExposedImage,G2frame,event=event) 492 def OnAzmthOff(invalid,value,tc): 493 wx.CallAfter(G2plt.PlotExposedImage,G2frame,event=tc.event) 512 494 513 495 comboSizer = wx.BoxSizer(wx.HORIZONTAL) … … 524 506 comboSizer.Add(colSel,0,WACV) 525 507 comboSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Azimuth offset '),0,WACV) 526 azmthOff = wx.TextCtrl(parent=G2frame.dataDisplay,value=("%.2f" % (data['azmthOff'])), 527 style=wx.TE_PROCESS_ENTER) 528 azmthOff.Bind(wx.EVT_TEXT_ENTER,OnAzmthOff) 529 azmthOff.Bind(wx.EVT_KILL_FOCUS,OnAzmthOff) 508 azmthOff = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data,'azmthOff',nDig=(10,2), 509 typeHint=float,OnLeave=OnAzmthOff) 530 510 comboSizer.Add(azmthOff,0,WACV) 531 511 return comboSizer … … 533 513 def MaxSizer(): 534 514 535 def OnMaxVal(event): 536 event.Skip() 537 try: 538 value = min(data['range'][0][1],int(maxVal.GetValue())) 539 if value < data['range'][1][0]+1: 540 raise ValueError 541 data['range'][1][1] = value 542 except ValueError: 543 pass 544 maxVal.SetValue('%.0f'%(data['range'][1][1])) 515 def OnMaxVal(invalid,value,tc): 545 516 DeltOne = data['range'][1][1]-max(0.0,data['range'][0][0]) 546 517 sqrtDeltOne = math.sqrt(DeltOne) 547 518 maxSel.SetValue(int(100*sqrtDeltOne/sqrtDeltZero)) 548 519 minSel.SetValue(int(100*(data['range'][1][0]/DeltOne))) 549 wx.CallAfter(G2plt.PlotExposedImage,G2frame,event= event)520 wx.CallAfter(G2plt.PlotExposedImage,G2frame,event=tc.event) 550 521 551 def OnMinVal(event): 552 event.Skip() 553 try: 554 value = int(minVal.GetValue()) 555 if value > data['range'][1][1]-1: 556 raise ValueError 557 data['range'][1][0] = value 558 except ValueError: 559 pass 560 minVal.SetValue('%.0f'%(data['range'][1][0])) 522 def OnMinVal(invalid,value,tc): 561 523 minSel.SetValue(int(100*(data['range'][1][0]-max(0.0,data['range'][0][0]))/DeltOne)) 562 wx.CallAfter(G2plt.PlotExposedImage,G2frame,event= event)524 wx.CallAfter(G2plt.PlotExposedImage,G2frame,event=tc.event) 563 525 564 526 def OnMaxSlider(event): … … 569 531 DeltOne = max(1.0,data['range'][1][1]-data['range'][1][0]) 570 532 minSel.SetValue(int(100*(data['range'][1][0]/DeltOne))) 571 maxVal.SetValue( '%.0f'%(data['range'][1][1]))533 maxVal.SetValue(int(data['range'][1][1])) 572 534 wx.CallAfter(G2plt.PlotExposedImage,G2frame,event=event) 573 535 … … 576 538 imin = int(minSel.GetValue())*DeltOne/100. 577 539 data['range'][1][0] = max(0.0,min(data['range'][1][1]-1,imin)) 578 minVal.SetValue( '%.0f'%(data['range'][1][0]))540 minVal.SetValue(int(data['range'][1][0])) 579 541 wx.CallAfter(G2plt.PlotExposedImage,G2frame,event=event) 580 542 … … 590 552 maxSizer.Add(maxSel,1,wx.EXPAND) 591 553 maxSel.Bind(wx.EVT_SLIDER, OnMaxSlider) 592 maxVal = wx.TextCtrl(parent=G2frame.dataDisplay,value='%.0f'%(data['range'][1][1])) 593 maxVal.Bind(wx.EVT_TEXT_ENTER,OnMaxVal) 594 maxVal.Bind(wx.EVT_KILL_FOCUS,OnMaxVal) 554 maxVal = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data['range'][1],1,min=data['range'][1][0]+1, 555 max=data['range'][1][1]-1,typeHint=int,OnLeave=OnMaxVal) 595 556 maxSizer.Add(maxVal,0,WACV) 596 557 maxSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Min intensity'),0,WACV) … … 599 560 maxSizer.Add(minSel,1,wx.EXPAND) 600 561 minSel.Bind(wx.EVT_SLIDER, OnMinSlider) 601 minVal = wx.TextCtrl(parent=G2frame.dataDisplay,value='%.0f'%(data['range'][1][0])) 602 minVal.Bind(wx.EVT_TEXT_ENTER,OnMinVal) 603 minVal.Bind(wx.EVT_KILL_FOCUS,OnMinVal) 562 minVal = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data['range'][1],0, 563 max=data['range'][0][1],typeHint=int,OnLeave=OnMinVal) 604 564 maxSizer.Add(minVal,0,WACV) 605 565 return maxSizer … … 611 571 name = Indx[Obj] 612 572 data['varyList'][name] = Obj.GetValue() 613 614 def OnCalVal(event):615 event.Skip()616 Obj = event.GetEventObject()617 name = Indx[Obj]618 try:619 value = float(Obj.GetValue())620 if name == 'wave' and value < 0.01:621 raise ValueError622 except ValueError:623 value = Parms[name][2]624 if name == 'dist':625 data['distance'] = value626 elif name == 'det-X':627 data['center'][0] = value628 elif name == 'det-Y':629 data['center'][1] = value630 elif name == 'tilt':631 data['tilt'] = value632 elif name == 'phi':633 data['rotation'] = value634 elif name == 'wave':635 data['wavelength'] = value636 elif name == 'dep':637 data['DetDepth'] = value638 Parms[name][2] = value639 Obj.SetValue(Parms[name][1]%(value))640 573 641 574 calibSizer = wx.FlexGridSizer(0,2,5,5) … … 646 579 if 'PWDR' in data['type']: 647 580 Names.append('dep') 648 Parms = {'dist':['Distance','%.3f',data['distance']],'det-X':['Beam center X','%.3f',data['center'][0]], 649 'det-Y':['Beam center Y','%.3f',data['center'][1]],'tilt':['Tilt angle','%.3f',data['tilt']], 650 'phi':['Tilt rotation','%.2f',data['rotation']],'dep':['Penetration','%.2f',data['DetDepth']], 651 'wave':['Wavelength','%.6f',data['wavelength']]} 652 # Indx = {} 581 Parms = {'dist':['Distance',(10,3),data,'distance'],'det-X':['Beam center X',(10,3),data['center'],0], 582 'det-Y':['Beam center Y',(10,3),data['center'],1],'tilt':['Tilt angle',(10,3),data,'tilt'], 583 'phi':['Tilt rotation',(10,2),data,'rotation'],'dep':['Penetration',(10,2),data,'DetDepth'], 584 'wave':['Wavelength',(10,6),data,'wavelength']} 653 585 for name in Names: 654 586 calSel = wx.CheckBox(parent=G2frame.dataDisplay,label=Parms[name][0]) … … 657 589 calSel.SetValue(data['varyList'][name]) 658 590 Indx[calSel] = name 659 calVal = wx.TextCtrl(G2frame.dataDisplay,value=(Parms[name][1]%(Parms[name][2])),style=wx.TE_PROCESS_ENTER) 660 calVal.Bind(wx.EVT_TEXT_ENTER,OnCalVal) 661 calVal.Bind(wx.EVT_KILL_FOCUS,OnCalVal) 662 Indx[calVal] = name 591 if name == 'wave': 592 calVal = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,Parms[name][2], 593 Parms[name][3],min=0.01,max=10.,nDig=Parms[name][1],typeHint=float) 594 else: 595 calVal = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,Parms[name][2], 596 Parms[name][3],nDig=Parms[name][1],typeHint=float) 663 597 calibSizer.Add(calVal,0,WACV) 664 598 return calibSizer … … 696 630 data['LRazimuth'] = [Lazm,Razm] 697 631 wx.CallAfter(G2plt.PlotExposedImage,G2frame,event=event) 698 699 def OnNumOutChans(event): 700 event.Skip() 701 try: 702 numChans = int(outChan.GetValue()) 703 if numChans < 10: 704 raise ValueError 705 data['outChannels'] = numChans 706 except ValueError: 707 pass 708 outChan.SetValue('%d'%(data['outChannels'])) #reset in case of error 709 710 def OnNumOutAzms(event): 711 event.Skip() 712 try: 713 numAzms = int(outAzim.GetValue()) 714 if numAzms < 1: 715 raise ValueError 716 data['outAzimuths'] = numAzms 717 except ValueError: 718 pass 719 outAzim.SetValue('%d'%(data['outAzimuths'])) #reset in case of error 720 wx.CallAfter(G2plt.PlotExposedImage,G2frame,event=event) 632 633 def OnNumOutAzms(invalid,value,tc): 634 wx.CallAfter(G2plt.PlotExposedImage,G2frame,event=tc.event) 721 635 722 636 def OnOblique(event): 723 637 data['Oblique'][1] = not data['Oblique'][1] 724 638 725 def OnObliqVal(event):726 event.Skip()727 try:728 value = float(obliqVal.GetValue())729 if 0.01 <= value <= 0.99:730 data['Oblique'][0] = value731 else:732 raise ValueError733 except ValueError:734 pass735 obliqVal.SetValue('%.3f'%(data['Oblique'][0]))736 737 639 def OnSampleShape(event): 738 640 data['SampleShape'] = samShape.GetValue() … … 746 648 data['SampleAbs'][1] = not data['SampleAbs'][1] 747 649 748 def OnSamAbsVal(event):749 event.Skip()750 try:751 value = float(samabsVal.GetValue())752 minmax = [0.,2.]753 if 'Fixed' in data['SampleShape']:754 minmax = [.05,1.0]755 if minmax[0] <= value <= minmax[1]:756 data['SampleAbs'][0] = value757 else:758 raise ValueError759 except ValueError:760 pass761 samabsVal.SetValue('%.3f'%(data['SampleAbs'][0]))762 763 650 def OnShowLines(event): 764 651 data['showLines'] = not data['showLines'] … … 791 678 data['PolaVal'][1] = not data['PolaVal'][1] 792 679 793 def OnPolaVal(event):794 event.Skip()795 try:796 value = float(polaVal.GetValue())797 if 0.001 <= value <= 0.999:798 data['PolaVal'][0] = value799 else:800 raise ValueError801 except ValueError:802 pass803 polaVal.SetValue('%.3f'%(data['PolaVal'][0]))804 805 680 dataSizer = wx.FlexGridSizer(0,2,5,3) 806 681 dataSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Integration coefficients'),0,WACV) … … 824 699 IOtth = [4.*math.pi*sind(IOtth[0]/2.)/wave,4.*math.pi*sind(IOtth[1]/2.)/wave] 825 700 littleSizer = wx.BoxSizer(wx.HORIZONTAL) 701 # ratVal = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,insVal,key,nDig=(10,4),typeHint=float,OnLeave=AfterChange) 826 702 G2frame.InnerTth = wx.TextCtrl(parent=G2frame.dataDisplay, 827 703 value=("%8.3f" % (IOtth[0])),style=wx.TE_PROCESS_ENTER) … … 829 705 G2frame.InnerTth.Bind(wx.EVT_KILL_FOCUS,OnIOtth) 830 706 littleSizer.Add(G2frame.InnerTth,0,WACV) 707 # ratVal = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,insVal,key,nDig=(10,4),typeHint=float,OnLeave=AfterChange) 831 708 G2frame.OuterTth = wx.TextCtrl(parent=G2frame.dataDisplay, 832 709 value=("%8.2f" % (IOtth[1])),style=wx.TE_PROCESS_ENTER) … … 838 715 LRazim = data['LRazimuth'] 839 716 littleSizer = wx.BoxSizer(wx.HORIZONTAL) 717 # ratVal = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,insVal,key,nDig=(10,4),typeHint=float,OnLeave=AfterChange) 840 718 G2frame.Lazim = wx.TextCtrl(parent=G2frame.dataDisplay, 841 719 value=("%6.1f" % (LRazim[0])),style=wx.TE_PROCESS_ENTER) … … 843 721 G2frame.Lazim.Bind(wx.EVT_KILL_FOCUS,OnLRazim) 844 722 littleSizer.Add(G2frame.Lazim,0,WACV) 723 # ratVal = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,insVal,key,nDig=(10,4),typeHint=float,OnLeave=AfterChange) 845 724 G2frame.Razim = wx.TextCtrl(parent=G2frame.dataDisplay, 846 725 value=("%6.1f" % (LRazim[1])),style=wx.TE_PROCESS_ENTER) … … 855 734 dataSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' No. 2-theta/azimuth bins'),0,WACV) 856 735 littleSizer = wx.BoxSizer(wx.HORIZONTAL) 857 outChan = wx.TextCtrl(parent=G2frame.dataDisplay,value='%d'%(data['outChannels']),style=wx.TE_PROCESS_ENTER) 858 outChan.Bind(wx.EVT_TEXT_ENTER,OnNumOutChans) 859 outChan.Bind(wx.EVT_KILL_FOCUS,OnNumOutChans) 736 outChan = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data,'outChannels',typeHint=int,min=10) 860 737 littleSizer.Add(outChan,0,WACV) 861 outAzim = wx.TextCtrl(parent=G2frame.dataDisplay,value='%d'%(data['outAzimuths']),style=wx.TE_PROCESS_ENTER) 862 outAzim.Bind(wx.EVT_TEXT_ENTER,OnNumOutAzms) 863 outAzim.Bind(wx.EVT_KILL_FOCUS,OnNumOutAzms) 738 outAzim = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data,'outAzimuths',nDig=(10,4),min=1,typeHint=int,OnLeave=OnNumOutAzms) 864 739 littleSizer.Add(outAzim,0,WACV) 865 740 dataSizer.Add(littleSizer,0,) … … 876 751 samabs.Bind(wx.EVT_CHECKBOX, OnSamAbs) 877 752 samabs.SetValue(data['SampleAbs'][1]) 753 minmax = [0.,2.] 878 754 if 'Cylind' in data['SampleShape']: #cylinder mu*R; flat plate transmission 879 755 littleSizer.Add(wx.StaticText(G2frame.dataDisplay,label='mu*R (0.00-2.0) '),0,WACV) 880 756 elif 'Fixed' in data['SampleShape']: 881 757 littleSizer.Add(wx.StaticText(G2frame.dataDisplay,label='transmission '),0,WACV) #for flat plate 882 samabsVal = wx.TextCtrl(parent=G2frame.dataDisplay,value='%.3f'%(data['SampleAbs'][0]),style=wx.TE_PROCESS_ENTER)883 samabsVal .Bind(wx.EVT_TEXT_ENTER,OnSamAbsVal)884 samabsVal.Bind(wx.EVT_KILL_FOCUS,OnSamAbsVal)758 minmax = [.05,1.0] 759 samabsVal = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data['SampleAbs'],0,nDig=(10,3), 760 typeHint=float,min=minmax[0],max=minmax[1]) 885 761 littleSizer.Add(samabsVal,0,WACV) 886 762 dataSizer.Add(littleSizer,0,) … … 892 768 oblique.SetValue(data['Oblique'][1]) 893 769 littleSizer.Add(wx.StaticText(G2frame.dataDisplay,label='Value (0.01-0.99) '),0,WACV) 894 obliqVal = wx.TextCtrl(parent=G2frame.dataDisplay,value='%.3f'%(data['Oblique'][0]),style=wx.TE_PROCESS_ENTER) 895 obliqVal.Bind(wx.EVT_TEXT_ENTER,OnObliqVal) 896 obliqVal.Bind(wx.EVT_KILL_FOCUS,OnObliqVal) 770 obliqVal = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data['Oblique'],0,nDig=(10,3),typeHint=float,min=0.01,max=0.99) 897 771 littleSizer.Add(obliqVal,0,WACV) 898 772 dataSizer.Add(littleSizer,0,) … … 904 778 setPolariz.SetValue(data['PolaVal'][1]) 905 779 littleSizer.Add(wx.StaticText(G2frame.dataDisplay,label='Value (0.001-0.999) '),0,WACV) 906 polaVal = wx.TextCtrl(parent=G2frame.dataDisplay,value='%.3f'%(data['PolaVal'][0]), 907 style=wx.TE_PROCESS_ENTER) 908 polaVal.Bind(wx.EVT_TEXT_ENTER,OnPolaVal) 909 polaVal.Bind(wx.EVT_KILL_FOCUS,OnPolaVal) 780 polaVal = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data['PolaVal'],0,nDig=(10,3),typeHint=float,min=0.001,max=0.999) 910 781 littleSizer.Add(polaVal,0,WACV) 911 782 dataSizer.Add(littleSizer,0,) … … 931 802 def BackSizer(): 932 803 804 global oldFlat 933 805 def OnBackImage(event): 934 806 data['background image'][0] = backImage.GetValue() … … 943 815 wx.CallAfter(G2plt.PlotExposedImage,G2frame,event=event) 944 816 945 def OnFlatBkg(event): 946 event.Skip() 947 oldFlat = data.get('Flat Bkg',0.) 948 try: 949 value = float(flatbkg.GetValue()) 950 data['Flat Bkg'] = value 951 except ValueError: 952 pass 953 flatbkg.SetValue("%.0f"%(data['Flat Bkg'])) 817 def OnFlatBkg(invalid,value,tc): 818 global oldFlat 954 819 G2frame.ImageZ += int(oldFlat-data['Flat Bkg']) 820 oldFlat = data['Flat Bkg'] 955 821 ResetThresholds() 956 wx.CallAfter(G2plt.PlotExposedImage,G2frame,event=event) 957 958 def OnBackMult(event): 959 event.Skip() 960 try: 961 mult = float(backMult.GetValue()) 962 data['background image'][1] = mult 963 except ValueError: 964 pass 965 backMult.SetValue("%.3f" % (data['background image'][1])) #reset in case of error 822 wx.CallAfter(G2plt.PlotExposedImage,G2frame,event=tc.event) 823 824 def OnMult(invalid,value,tc): 966 825 G2frame.ImageZ = GetImageZ(G2frame,data) 967 826 ResetThresholds() 968 wx.CallAfter(G2plt.PlotExposedImage,G2frame,event=event) 969 970 def OnDarkMult(event): 971 event.Skip() 972 try: 973 mult = float(darkMult.GetValue()) 974 data['dark image'][1] = mult 975 except ValueError: 976 pass 977 darkMult.SetValue("%.3f" % (data['dark image'][1])) #reset in case of error 978 G2frame.ImageZ = GetImageZ(G2frame,data) 979 ResetThresholds() 980 wx.CallAfter(G2plt.PlotExposedImage,G2frame,event=event) 827 wx.CallAfter(G2plt.PlotExposedImage,G2frame,event=tc.event) 981 828 982 829 backSizer = wx.FlexGridSizer(0,6,5,5) 830 oldFlat = data.get('Flat Bkg',0.) 983 831 984 832 backSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' Dark image'),0,WACV) … … 991 839 backSizer.Add(darkImage) 992 840 backSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' multiplier'),0,WACV) 993 darkMult = wx.TextCtrl(parent=G2frame.dataDisplay,value=("%.3f" % (data['dark image'][1])), 994 style=wx.TE_PROCESS_ENTER) 995 darkMult.Bind(wx.EVT_TEXT_ENTER,OnDarkMult) 996 darkMult.Bind(wx.EVT_KILL_FOCUS,OnDarkMult) 841 darkMult = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data['dark image'],1,nDig=(10,3), 842 typeHint=float,OnLeave=OnMult) 997 843 backSizer.Add(darkMult,0,WACV) 998 844 backSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' Flat Bkg: '),0,WACV) 999 flatbkg = wx.TextCtrl(parent=G2frame.dataDisplay,value=("%.0f" % (data['Flat Bkg'])), 1000 style=wx.TE_PROCESS_ENTER) 1001 flatbkg.Bind(wx.EVT_TEXT_ENTER,OnFlatBkg) 1002 flatbkg.Bind(wx.EVT_KILL_FOCUS,OnFlatBkg) 845 flatbkg = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data,'Flat Bkg',nDig=(10,0), 846 typeHint=float,OnLeave=OnFlatBkg) 1003 847 backSizer.Add(flatbkg,0,WACV) 1004 848 … … 1009 853 backSizer.Add(backImage) 1010 854 backSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' multiplier'),0,WACV) 1011 backMult = wx.TextCtrl(parent=G2frame.dataDisplay,value=("%.3f" % (data['background image'][1])), 1012 style=wx.TE_PROCESS_ENTER) 1013 backMult.Bind(wx.EVT_TEXT_ENTER,OnBackMult) 1014 backMult.Bind(wx.EVT_KILL_FOCUS,OnBackMult) 855 backMult = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data['background image'],1,nDig=(10,3), 856 typeHint=float,OnLeave=OnMult) 1015 857 backSizer.Add(backMult,0,WACV) 1016 858 return backSizer … … 1035 877 G2frame.dataFrame.ImageEdit.Enable(id=G2gd.wxID_IMCALIBRATE,enable=False) 1036 878 G2frame.dataFrame.ImageEdit.Enable(id=G2gd.wxID_IMRECALIBALL,enable=False) 879 1037 880 def OnCalibSkip(event): 1038 881 data['calibskip'] = int(calibSkip.GetValue()) 1039 882 1040 def OnCalibDmin(event):1041 event.Skip()1042 try:1043 dmin = float(calibDmin.GetValue())1044 if dmin < 0.25:1045 raise ValueError1046 data['calibdmin'] = dmin1047 except ValueError:1048 pass1049 calibDmin.SetValue("%.2f"%(data['calibdmin'])) #reset in case of error1050 1051 def OnCutOff(event):1052 event.Skip()1053 try:1054 cutoff = float(cutOff.GetValue())1055 if cutoff < 0.1:1056 raise ValueError1057 data['cutoff'] = cutoff1058 except ValueError:1059 pass1060 cutOff.SetValue("%.1f"%(data['cutoff'])) #reset in case of error1061 1062 883 def OnPixLimit(event): 1063 884 data['pixLimit'] = int(pixLimit.GetValue()) … … 1086 907 comboSizer = wx.BoxSizer(wx.HORIZONTAL) 1087 908 comboSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Min calib d-spacing '),0,WACV) 1088 calibDmin = wx.TextCtrl(parent=G2frame.dataDisplay,value=("%.2f" % (data['calibdmin'])), 1089 style=wx.TE_PROCESS_ENTER) 1090 calibDmin.Bind(wx.EVT_TEXT_ENTER,OnCalibDmin) 1091 calibDmin.Bind(wx.EVT_KILL_FOCUS,OnCalibDmin) 909 calibDmin = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data,'calibdmin',nDig=(10,2),typeHint=float,min=0.25) 1092 910 comboSizer.Add(calibDmin,0,WACV) 1093 911 calibSizer.Add(comboSizer,0) … … 1095 913 comboSizer = wx.BoxSizer(wx.HORIZONTAL) 1096 914 comboSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Min ring I/Ib '),0,WACV) 1097 cutOff = wx.TextCtrl(parent=G2frame.dataDisplay,value=("%.1f" % (data['cutoff'])), 1098 style=wx.TE_PROCESS_ENTER) 1099 cutOff.Bind(wx.EVT_TEXT_ENTER,OnCutOff) 1100 cutOff.Bind(wx.EVT_KILL_FOCUS,OnCutOff) 915 cutOff = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data,'cutoff',nDig=(10,1),typeHint=float,min=0.1) 1101 916 comboSizer.Add(cutOff,0,WACV) 1102 917 calibSizer.Add(comboSizer,0) … … 1120 935 def GonioSizer(): 1121 936 1122 ValObj = {}1123 1124 def OnGonioAngle(event):1125 event.Skip()1126 Obj = event.GetEventObject()1127 item = ValObj[Obj.GetId()]1128 try:1129 value = float(Obj.GetValue())1130 except ValueError:1131 value = data['GonioAngles'][item]1132 data['GonioAngles'][item] = value1133 Obj.SetValue('%8.2f'%(value))1134 1135 937 def OnGlobalEdit(event): 1136 938 Names = [] … … 1171 973 for i,name in enumerate(names): 1172 974 gonioSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,name),0,WACV) 1173 angle = wx.TextCtrl(G2frame.dataDisplay,-1,value='%8.2f'%(data['GonioAngles'][i]), 1174 style=wx.TE_PROCESS_ENTER) 1175 angle.Bind(wx.EVT_TEXT_ENTER,OnGonioAngle) 1176 angle.Bind(wx.EVT_KILL_FOCUS,OnGonioAngle) 1177 ValObj[angle.GetId()] = i 975 angle = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data['GonioAngles'],i,nDig=(8,2),typeHint=float) 1178 976 gonioSizer.Add(angle,0,WACV) 1179 977 globEdit = wx.Button(G2frame.dataDisplay,-1,'Global edit') … … 1630 1428 Source = G2frame.PatternTree.GetItemText(G2frame.Image) 1631 1429 Names.pop(Names.index(Source)) 1632 # GSASIIpath.IPyBreak()1633 1430 dlg = G2G.G2MultiChoiceDialog(G2frame,'Copy stress/strain controls','Copy controls from '+Source+' to:',Names) 1634 1431 try: … … 1879 1676 data['Type'] = strType.GetValue() 1880 1677 1881 def OnSamPhi(event):1882 event.Skip()1883 try:1884 value = float(samPhi.GetValue())1885 except ValueError:1886 value = data['Sample phi']1887 data['Sample phi'] = value1888 samPhi.SetValue("%.3f" % (data['Sample phi']))1889 1890 def OnSamZ(event):1891 event.Skip()1892 try:1893 value = float(samZ.GetValue())1894 except ValueError:1895 value = data['Sample z']1896 data['Sample z'] = value1897 samZ.SetValue("%.3f" % (data['Sample z']))1898 1899 def OnSamLoad(event):1900 event.Skip()1901 try:1902 value = float(samLoad.GetValue())1903 except ValueError:1904 value = data['Sample load']1905 data['Sample load'] = value1906 samLoad.SetValue("%.3f" % (data['Sample load']))1907 1908 1678 samSizer = wx.BoxSizer(wx.HORIZONTAL) 1909 1679 samSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,label=' Strain type: '),0,WACV) … … 1915 1685 1916 1686 samSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,label=' Sample phi: '),0,WACV) 1917 samPhi = wx.TextCtrl(G2frame.dataDisplay,-1,value=("%.3f" % (data['Sample phi'])), 1918 style=wx.TE_PROCESS_ENTER) 1687 samPhi = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data,'Sample phi',nDig=(10,3),typeHint=float,min=-360.,max=360.) 1919 1688 samSizer.Add(samPhi,0,WACV) 1920 samPhi.Bind(wx.EVT_TEXT_ENTER,OnSamPhi)1921 samPhi.Bind(wx.EVT_KILL_FOCUS,OnSamPhi)1922 1689 samSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,label=' Sample delta-z(mm): '),0,WACV) 1923 samZ = wx.TextCtrl(G2frame.dataDisplay,-1,value=("%.3f" % (data['Sample z'])), 1924 style=wx.TE_PROCESS_ENTER) 1690 samZ = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data,'Sample z',nDig=(10,3),typeHint=float) 1925 1691 samSizer.Add(samZ,0,WACV) 1926 samZ.Bind(wx.EVT_TEXT_ENTER,OnSamZ)1927 samZ.Bind(wx.EVT_KILL_FOCUS,OnSamZ)1928 1692 samSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,label=' Sample load(MPa): '),0,WACV) 1929 1693 samLoad = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data,'Sample load', … … 1987 1751 for id,dzero in enumerate(data['d-zero']): 1988 1752 dzeroSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,label=(' d-zero #%d: '%(id))),0,WACV) 1753 # azmthOff = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data,'azmthOff',nDig=(10,2),typeHint=float,OnLeave=OnAzmthOff) 1989 1754 dZero = wx.TextCtrl(G2frame.dataDisplay,-1,value=('%.5f'%(dzero['Dset'])), 1990 1755 style=wx.TE_PROCESS_ENTER) … … 1996 1761 1997 1762 dzeroSizer.Add(wx.StaticText(G2frame.dataDisplay,label=' Min ring I/Ib '),0,WACV) 1763 # azmthOff = G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data,'azmthOff',nDig=(10,2),typeHint=float,OnLeave=OnAzmthOff) 1998 1764 cutOff = wx.TextCtrl(parent=G2frame.dataDisplay,value=("%.1f" % (dzero['cutoff'])), 1999 1765 style=wx.TE_PROCESS_ENTER) … … 2356 2122 sizer = wx.BoxSizer(wx.HORIZONTAL) 2357 2123 sizer.Add(wx.StaticText(mnpnl, wx.ID_ANY,'Image filter')) 2358 flterInp = G2G.ValidatedTxtCtrl(mnpnl,self.params,'filter', 2359 OnLeave=self.ShowMatchingFiles) 2124 flterInp = G2G.ValidatedTxtCtrl(mnpnl,self.params,'filter',OnLeave=self.ShowMatchingFiles) 2360 2125 sizer.Add(flterInp) 2361 2126 mnsizer.Add(sizer,0,wx.ALIGN_RIGHT,1) … … 2368 2133 sizer = wx.BoxSizer(wx.HORIZONTAL) 2369 2134 sizer.Add(wx.StaticText(mnpnl, wx.ID_ANY,'Write to: ')) 2370 fInp3 = G2G.ValidatedTxtCtrl(mnpnl,self.params,'outdir', 2371 notBlank=False,size=(300,-1)) 2135 fInp3 = G2G.ValidatedTxtCtrl(mnpnl,self.params,'outdir',notBlank=False,size=(300,-1)) 2372 2136 sizer.Add(fInp3) 2373 2137 btn3 = wx.Button(mnpnl, wx.ID_ANY, "Browse")
Note: See TracChangeset
for help on using the changeset viewer.