- Timestamp:
- Jul 4, 2017 2:14:54 PM (6 years ago)
- Location:
- branch/2frame
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branch/2frame/GSASII.py
r2900 r2906 16 16 ''' 17 17 18 import os19 import sys20 18 import GSASIIpath 21 19 GSASIIpath.SetVersionNumber("$Revision$") -
branch/2frame/GSASIIdataGUI.py
r2905 r2906 158 158 Define_wxId('wxID_MCRON', 'wxID_MCRLIST', 'wxID_MCRSAVE', 'wxID_MCRPLAY',) 159 159 160 # these data definitions probably should be moved 160 # these data definitions probably should be moved -- to lattice? 161 161 commonTrans = {'abc':np.eye(3),'a-cb':np.array([[1.,0.,0.],[0.,0.,-1.],[0.,1.,0.]]), 162 162 'ba-c':np.array([[0.,1.,0.],[1.,0.,0.],[0.,0.,-1.]]),'-cba':np.array([[0.,0.,-1.],[0.,1.,0.],[1.,0.,0.]]), … … 2945 2945 # 2946 2946 self.GSASIIMenu = wx.MenuBar() 2947 # create a list of all dataframemenus (appended in PrefillDataMenu)2947 # create a list of all menus (appended in PrefillDataMenu) 2948 2948 self.dataMenuBars = [self.GSASIIMenu] 2949 2949 self.MacroStatusList = [] … … 2961 2961 #self.mainPanel.SplitVertically(self.treePanel, self.dataPanel, 200) 2962 2962 2963 self.dataWindow = DataWindow(self.mainPanel)2963 self.dataWindow = G2DataWindow(self.mainPanel) 2964 2964 #self.dataWindow = wxscroll.ScrolledPanel(self.mainPanel,style=wx.BORDER_SUNKEN) 2965 dataSizer = wx.BoxSizer(wx.VERTICAL) 2966 self.dataWindow.SetSizer(dataSizer) 2965 2967 self.mainPanel.SplitVertically(self.treePanel, self.dataWindow, 200) 2966 2968 … … 2986 2988 self.OnGPXtreeEndDrag, id=wxID_PATTERNTREE) 2987 2989 self.root = self.GPXtree.root 2988 2989 # def FillWindow(panel,sizer,size=1.): 2990 # sizer.Add(wx.StaticText(panel, wx.ID_ANY, "Panel Two: long line "+int(size*40)*'*', (5,5))) 2991 # for i in range(int(size*15)): sizer.Add(wx.StaticText(panel, wx.ID_ANY, "Line "+str(2+i), (5,5))) 2992 2993 # dataSizer = wx.BoxSizer(wx.VERTICAL) 2994 # FillWindow(self.dataWindow,dataSizer) 2995 # self.dataWindow.SetSizer(dataSizer) 2996 #self.dataWindow = DataWindow(self.dataPanel) 2990 2991 # debug code to fill initial window and check scroll bar works 2992 #def FillWindow(panel,size=1.): 2993 # sizer = panel.GetSizer() 2994 # sizer.Add(wx.StaticText(panel, wx.ID_ANY, "Panel Two: long line "+int(size*40)*'*', (5,5))) 2995 # for i in range(int(size*15)): sizer.Add(wx.StaticText(panel, wx.ID_ANY, "Line "+str(2+i), (5,5))) 2996 # panel.Layout() 2997 # panel.SendSizeEvent() 2998 #FillWindow(self.dataWindow) 2999 3000 #self.dataWindow = G2DataWindow(self.dataPanel) 2997 3001 #self.dataWindow.SetSize(self.dataPanel.GetClientSize()) 2998 3002 #self.dataWindow.SetInitialSize() … … 3124 3128 3125 3129 def SetDataSize(self): 3126 self.dataWindow.Layout() 3127 self.dataWindow.SendSizeEvent() 3128 # print 'SetDataSize' 3129 # Size = self.GetSize() 3130 # self.SetSize(Size) 3131 # Size[1] += 1 #kluge to ensure scrollbar settings & window properly displayed 3132 # self.SetSize(Size) 3130 '''this routine is a placeholder until all G2frame.SetDataSize calls are replaced 3131 by G2frame.dataWindow.SetDataSize 3132 ''' 3133 self.dataWindow.SetDataSize() 3133 3134 3134 3135 def OnDataTreeSelChanged(self, event): … … 3705 3706 'Delete a phase from the tree. Called by Data/Delete Phase menu' 3706 3707 #Hmm, also need to delete this phase from Reflection Lists for each PWDR histogram 3707 if self.data Frame:3708 self.data Frame.Clear()3708 if self.dataWindow: 3709 self.dataWindow.ClearData() 3709 3710 TextList = [] 3710 3711 DelList = [] … … 3866 3867 self.EnablePlot = False 3867 3868 if self.GPXtree.GetChildrenCount(self.root,False): 3868 if self.data Frame:3869 self.data Frame.ClearData()3869 if self.dataWindow: 3870 self.dataWindow.ClearData() 3870 3871 dlg = wx.MessageDialog( 3871 3872 self, … … 4059 4060 if self.G2plotNB: 4060 4061 self.G2plotNB.Destroy() 4061 if self.dataFrame:4062 self.dataFrame.Destroy()4063 4062 if self.undofile: 4064 4063 os.remove(self.undofile) … … 4069 4068 if self.G2plotNB: 4070 4069 self.G2plotNB.Destroy() 4071 if self.dataFrame:4072 self.dataFrame.Destroy()4073 4070 self.Close() 4074 4071 … … 4740 4737 # Data window side of main GUI 4741 4738 ################################################################################ 4742 class DataWindow(wxscroll.ScrolledPanel):4739 class G2DataWindow(wxscroll.ScrolledPanel): 4743 4740 '''Create the data item window entries in menus used in 4744 4741 that window. The menu entries are created for all … … 4771 4768 ## wx.Window.Bind(self,eventtype,self.MenuBinding,*args,**kwargs) 4772 4769 ## return 4773 # self.Bind(self,eventtype,handler,*args,**kwargs) 4770 # self.Bind(self,eventtype,handler,*args,**kwargs) 4771 4772 def DestroyChildren(self): 4773 print 'Fix this: DestroyChildren called' 4774 G2obj.HowDidIgetHere() 4774 4775 4775 4776 def PrefillDataMenu(self,menu,empty=False): … … 5744 5745 5745 5746 def ClearData(self): 5746 # if self.GetSizer(): 5747 # self.GetSizer().Destroy() 5747 '''Initializes the contents of the dataWindow panel 5748 ''' 5748 5749 self.SetBackgroundColour(wx.WHITE) 5749 self.DestroyChildren() 5750 self.SetSize(self.GetParent().GetSize()) 5751 self.SetAutoLayout(True) 5752 self.SetupScrolling() 5750 Sizer = self.GetSizer() 5751 if Sizer: 5752 Sizer.Clear(True) 5753 else: 5754 print 'No sizer in dataWindow' 5755 if GSASIIpath.GetConfigValue('debug'): raise Exception 5756 #self.SetSize(self.GetParent().GetSize()) 5757 #self.SetAutoLayout(True) 5758 #self.SetupScrolling() 5759 5760 def SetDataSize(self): 5761 '''Sizes the contents of the dataWindow panel 5762 ''' 5763 self.SetBackgroundColour(wx.WHITE) 5764 Sizer = self.GetSizer() 5765 if Sizer: 5766 Sizer.Fit(self) 5767 else: 5768 print 'No sizer in dataWindow' 5769 if GSASIIpath.GetConfigValue('debug'): raise Exception 5770 self.Layout() 5771 self.SendSizeEvent() 5772 #self.SetSize(self.GetParent().GetSize()) 5773 #self.SetAutoLayout(True) 5774 #self.SetupScrolling() 5775 5753 5776 5754 5777 #TODO - remove … … 5922 5945 except ValueError: #data changed somehow - start fresh 5923 5946 sel = [] 5924 dlg = G2G.G2MultiChoiceDialog(G2frame .dataFrame, 'Sequential refinement',5947 dlg = G2G.G2MultiChoiceDialog(G2frame, 'Sequential refinement', 5925 5948 'Select dataset to include',choices) 5926 5949 dlg.SetSelections(sel) … … 6398 6421 choices = data['SeqPseudoVars'].keys() 6399 6422 selected = G2G.ItemSelector( 6400 choices,G2frame .dataFrame,6423 choices,G2frame, 6401 6424 multiple=True, 6402 6425 title='Select expressions to remove', … … 6415 6438 else: 6416 6439 selected = G2G.ItemSelector( 6417 choices,G2frame .dataFrame,6440 choices,G2frame, 6418 6441 multiple=False, 6419 6442 title='Select an expression to edit', … … 6635 6658 else: 6636 6659 val = False 6637 G2frame.data Frame.SequentialPfit.Enable(wxDELPARFIT,val)6638 G2frame.data Frame.SequentialPfit.Enable(wxEDITPARFIT,val)6639 G2frame.data Frame.SequentialPfit.Enable(wxDOPARFIT,val)6660 G2frame.dataWindow.SequentialPfit.Enable(wxDELPARFIT,val) 6661 G2frame.dataWindow.SequentialPfit.Enable(wxEDITPARFIT,val) 6662 G2frame.dataWindow.SequentialPfit.Enable(wxDOPARFIT,val) 6640 6663 6641 6664 def ParEqEval(Values,calcObjList,varyList): … … 6745 6768 txtlst = [obj.GetDepVar()+' = '+obj.expression for obj in data['SeqParFitEqList']] 6746 6769 selected = G2G.ItemSelector( 6747 txtlst,G2frame .dataFrame,6770 txtlst,G2frame, 6748 6771 multiple=True, 6749 6772 title='Select a parametric equation(s) to remove', … … 6761 6784 else: 6762 6785 selected = G2G.ItemSelector( 6763 txtlst,G2frame .dataFrame,6786 txtlst,G2frame, 6764 6787 multiple=False, 6765 6788 title='Select a parametric equation to edit', … … 6807 6830 else: 6808 6831 selected = G2G.ItemSelector( 6809 txtlst,G2frame .dataFrame,6832 txtlst,G2frame, 6810 6833 multiple=False, 6811 6834 title='Select a parametric equation to copy', … … 6852 6875 var = colLabels[col] 6853 6876 lbl = variableLabels.get(var,G2obj.fmtVarDescr(var)) 6854 dlg = G2G.SingleStringDialog(G2frame .dataFrame,'Set variable label',6877 dlg = G2G.SingleStringDialog(G2frame,'Set variable label', 6855 6878 'Set a new name for variable '+var,lbl,size=(400,-1)) 6856 6879 if dlg.Show(): … … 6861 6884 '''Event handler for all Sequential Export menu items 6862 6885 ''' 6863 vals = G2frame.data Frame.SeqExportLookup.get(event.GetId())6886 vals = G2frame.dataWindow.SeqExportLookup.get(event.GetId()) 6864 6887 if vals is None: 6865 6888 print('Error: Id not found. This should not happen!') … … 6868 6891 def onSelectSeqVars(event): 6869 6892 '''Select which variables will be shown in table''' 6870 dlg = G2G.G2MultiChoiceDialog(G2frame .dataFrame, 'Select columns to hide',6893 dlg = G2G.G2MultiChoiceDialog(G2frame, 'Select columns to hide', 6871 6894 'Hide columns',colLabels[1:]) 6872 6895 if dlg.ShowModal() == wx.ID_OK: … … 6965 6988 6966 6989 SetDataMenuBar(G2frame,G2frame.dataWindow.SequentialMenu) 6967 G2frame.data Frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Sequential refinement results')6990 G2frame.dataWindow.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Sequential refinement results') 6968 6991 G2frame.GetStatusBar().SetStatusText('') 6969 G2frame.data Frame.Bind(wx.EVT_MENU, OnRenameSelSeq, id=wxID_RENAMESEQSEL)6970 G2frame.data Frame.Bind(wx.EVT_MENU, OnSaveSelSeq, id=wxID_SAVESEQSEL)6971 G2frame.data Frame.Bind(wx.EVT_MENU, OnSaveSelSeqCSV, id=wxID_SAVESEQSELCSV)6972 G2frame.data Frame.Bind(wx.EVT_MENU, OnSaveSeqCSV, id=wxID_SAVESEQCSV)6973 G2frame.data Frame.Bind(wx.EVT_MENU, OnPlotSelSeq, id=wxID_PLOTSEQSEL)6974 G2frame.data Frame.Bind(wx.EVT_MENU, OnAveSelSeq, id=wxID_AVESEQSEL)6975 #G2frame.data Frame.Bind(wx.EVT_MENU, OnReOrgSelSeq, id=wxID_ORGSEQSEL)6976 G2frame.data Frame.Bind(wx.EVT_MENU, onSelectSeqVars, id=wxID_ORGSEQINC)6977 G2frame.data Frame.Bind(wx.EVT_MENU, AddNewPseudoVar, id=wxADDSEQVAR)6978 G2frame.data Frame.Bind(wx.EVT_MENU, AddNewDistPseudoVar, id=wxADDSEQDIST)6979 G2frame.data Frame.Bind(wx.EVT_MENU, AddNewAnglePseudoVar, id=wxADDSEQANGLE)6980 G2frame.data Frame.Bind(wx.EVT_MENU, DelPseudoVar, id=wxDELSEQVAR)6981 G2frame.data Frame.Bind(wx.EVT_MENU, EditPseudoVar, id=wxEDITSEQVAR)6982 G2frame.data Frame.Bind(wx.EVT_MENU, AddNewParFitEq, id=wxADDPARFIT)6983 G2frame.data Frame.Bind(wx.EVT_MENU, CopyParFitEq, id=wxCOPYPARFIT)6984 G2frame.data Frame.Bind(wx.EVT_MENU, DelParFitEq, id=wxDELPARFIT)6985 G2frame.data Frame.Bind(wx.EVT_MENU, EditParFitEq, id=wxEDITPARFIT)6986 G2frame.data Frame.Bind(wx.EVT_MENU, DoParEqFit, id=wxDOPARFIT)6987 6988 for id in G2frame.data Frame.SeqExportLookup:6989 G2frame.data Frame.Bind(wx.EVT_MENU, DoSequentialExport, id=id)6992 G2frame.dataWindow.Bind(wx.EVT_MENU, OnRenameSelSeq, id=wxID_RENAMESEQSEL) 6993 G2frame.dataWindow.Bind(wx.EVT_MENU, OnSaveSelSeq, id=wxID_SAVESEQSEL) 6994 G2frame.dataWindow.Bind(wx.EVT_MENU, OnSaveSelSeqCSV, id=wxID_SAVESEQSELCSV) 6995 G2frame.dataWindow.Bind(wx.EVT_MENU, OnSaveSeqCSV, id=wxID_SAVESEQCSV) 6996 G2frame.dataWindow.Bind(wx.EVT_MENU, OnPlotSelSeq, id=wxID_PLOTSEQSEL) 6997 G2frame.dataWindow.Bind(wx.EVT_MENU, OnAveSelSeq, id=wxID_AVESEQSEL) 6998 #G2frame.dataWindow.Bind(wx.EVT_MENU, OnReOrgSelSeq, id=wxID_ORGSEQSEL) 6999 G2frame.dataWindow.Bind(wx.EVT_MENU, onSelectSeqVars, id=wxID_ORGSEQINC) 7000 G2frame.dataWindow.Bind(wx.EVT_MENU, AddNewPseudoVar, id=wxADDSEQVAR) 7001 G2frame.dataWindow.Bind(wx.EVT_MENU, AddNewDistPseudoVar, id=wxADDSEQDIST) 7002 G2frame.dataWindow.Bind(wx.EVT_MENU, AddNewAnglePseudoVar, id=wxADDSEQANGLE) 7003 G2frame.dataWindow.Bind(wx.EVT_MENU, DelPseudoVar, id=wxDELSEQVAR) 7004 G2frame.dataWindow.Bind(wx.EVT_MENU, EditPseudoVar, id=wxEDITSEQVAR) 7005 G2frame.dataWindow.Bind(wx.EVT_MENU, AddNewParFitEq, id=wxADDPARFIT) 7006 G2frame.dataWindow.Bind(wx.EVT_MENU, CopyParFitEq, id=wxCOPYPARFIT) 7007 G2frame.dataWindow.Bind(wx.EVT_MENU, DelParFitEq, id=wxDELPARFIT) 7008 G2frame.dataWindow.Bind(wx.EVT_MENU, EditParFitEq, id=wxEDITPARFIT) 7009 G2frame.dataWindow.Bind(wx.EVT_MENU, DoParEqFit, id=wxDOPARFIT) 7010 7011 for id in G2frame.dataWindow.SeqExportLookup: 7012 G2frame.dataWindow.Bind(wx.EVT_MENU, DoSequentialExport, id=id) 6990 7013 6991 7014 EnablePseudoVarMenus() … … 7034 7057 print ' Warning: Total of %d data sets missing from sequential results'%(missing) 7035 7058 #if len(VaryListChanges) > 1: 7036 # G2frame.data Frame.SequentialFile.Enable(wxID_ORGSEQSEL,True)7059 # G2frame.dataWindow.SequentialFile.Enable(wxID_ORGSEQSEL,True) 7037 7060 #else: 7038 # G2frame.data Frame.SequentialFile.Enable(wxID_ORGSEQSEL,False)7061 # G2frame.dataWindow.SequentialFile.Enable(wxID_ORGSEQSEL,False) 7039 7062 #----------------------------------------------------------------------------------- 7040 7063 # build up the data table by columns ----------------------------------------------- … … 7306 7329 7307 7330 G2frame.dataWindow.ClearData() 7308 G2frame.data Frame.currentGrids = []7331 G2frame.dataWindow.currentGrids = [] 7309 7332 G2frame.dataDisplay = G2G.GSGrid(parent=G2frame.dataWindow) 7310 7333 G2frame.dataDisplay.SetSize(G2frame.dataWindow.GetSize()) … … 7708 7731 return 7709 7732 oldPage = None # will be set later if already on a Phase item 7710 if G2frame.dataFrame: 7711 7712 for grid in G2frame.dataFrame.currentGrids: # complete any open wx.Grid edits7713 7714 7715 7716 7717 7718 7719 7720 7721 if G2frame.dataFrame.GetLabel() == 'Comments': # save any recently entered comments7722 7723 7724 G2frame.dataDisplay.Clear()7725 7726 7727 7728 7729 elif G2frame.dataFrame.GetLabel() == 'Notebook': # save any recent notebook entries7730 7731 7732 G2frame.dataDisplay.Clear()7733 7734 7735 7736 7737 elif 'Phase Data for' in G2frame.dataFrame.GetLabel():7738 7739 7740 7733 7734 # save or finish processing of outstanding events 7735 for grid in G2frame.dataWindow.currentGrids: # complete any open wx.Grid edits 7736 #if GSASIIpath.GetConfigValue('debug'): print 'Testing grid edit in',grid 7737 try: 7738 if grid.IsCellEditControlEnabled(): # complete any grid edits in progress 7739 if GSASIIpath.GetConfigValue('debug'): print 'Completing grid edit in',grid 7740 grid.HideCellEditControl() 7741 grid.DisableCellEditControl() 7742 except: 7743 pass 7744 if G2frame.dataWindow.GetLabel() == 'Comments': # save any recently entered comments 7745 try: 7746 data = [G2frame.dataDisplay.GetValue()] 7747 G2frame.dataDisplay.ClearData() 7748 Id = GetGPXtreeItemId(G2frame,G2frame.root, 'Comments') 7749 if Id: G2frame.GPXtree.SetItemPyData(Id,data) 7750 except: #clumsy but avoids dead window problem when opening another project 7751 pass 7752 elif G2frame.dataWindow.GetLabel() == 'Notebook': # save any recent notebook entries 7753 try: 7754 data = [G2frame.dataDisplay.GetValue()] 7755 G2frame.dataDisplay.ClearData() 7756 Id = GetGPXtreeItemId(G2frame,G2frame.root, 'Notebook') 7757 if Id: G2frame.GPXtree.SetItemPyData(Id,data) 7758 except: #clumsy but avoids dead window problem when opening another project 7759 pass 7760 elif 'Phase Data for' in G2frame.dataWindow.GetLabel(): 7761 if G2frame.dataDisplay: 7762 oldPage = G2frame.dataDisplay.GetSelection() 7763 G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'') 7741 7764 7742 7765 SetDataMenuBar(G2frame) … … 7745 7768 parentID = G2frame.root 7746 7769 if item == G2frame.root: 7770 G2frame.dataWindow.ClearData() 7747 7771 G2frame.helpKey = "Data tree" 7748 wx.TextCtrl(parent=G2frame.dataFrame,size=G2frame.GetClientSize(), 7749 value='Select an item from the tree to see/edit parameters') 7772 G2frame.dataWindow.GetSizer().Add( 7773 wx.TextCtrl(G2frame.dataWindow,size=G2frame.GetClientSize(), 7774 value='Select an item from the tree to see/edit parameters') 7775 ) 7776 G2frame.dataWindow.SetDataSize() 7750 7777 return 7751 7778 else: 7779 # what does this code do? Is it still needed? 7752 7780 try: #don't know why here when opening new project from inside phase data! 7753 7781 parentID = G2frame.GPXtree.GetItemParent(item) … … 7756 7784 prfx1 = G2frame.GPXtree.GetItemText(parentID).split()[0] 7757 7785 if prfx in ('IMG','PKS','PWDR','SASD','HKLF','PDF','refd',): 7758 G2frame.data Frame.helpKey = prfx7786 G2frame.dataWindow.helpKey = prfx 7759 7787 elif prfx1 in ('IMG','PKS','PWDR','SASD','HKLF','PDF','REFD',): 7760 7788 suffix = G2frame.GPXtree.GetItemText(item) 7761 7789 suffix1 = suffix.split()[0] 7762 7790 if '(Q)' in suffix1 or '(R)' in suffix1: suffix = suffix1 7763 G2frame.data Frame.helpKey = prfx1 + '_' + suffix7791 G2frame.dataWindow.helpKey = prfx1 + '_' + suffix 7764 7792 else: 7765 G2frame.data Frame.helpKey = G2frame.GPXtree.GetItemText(item) # save name of calling tree item for help7793 G2frame.dataWindow.helpKey = G2frame.GPXtree.GetItemText(item) # save name of calling tree item for help 7766 7794 except IndexError: 7767 7795 print 'bug: why here?' 7768 7796 return 7797 # clear out the old panel contents 7798 G2frame.dataWindow.ClearData() 7799 # process first-level entries in tree 7769 7800 if G2frame.GPXtree.GetItemParent(item) == G2frame.root: 7770 7801 G2frame.PatternId = 0 … … 7782 7813 UpdateControls(G2frame,data) 7783 7814 elif G2frame.GPXtree.GetItemText(item).startswith('Sequential '): 7784 G2frame.data Frame.helpKey = 'Sequential' # for now all sequential refinements are documented in one place7815 G2frame.dataWindow.helpKey = 'Sequential' # for now all sequential refinements are documented in one place 7785 7816 data = G2frame.GPXtree.GetItemPyData(item) 7786 7817 UpdateSeqResults(G2frame,data) … … 7848 7879 G2plt.PlotISFG(G2frame,data,plotType='G(R)') 7849 7880 elif G2frame.GPXtree.GetItemText(item) == 'Phases': 7850 wx.TextCtrl(parent=G2frame.dataFrame,size=G2frame.dataFrame.GetClientSize(), 7851 value='Select one phase to see its parameters') 7881 G2frame.dataWindow.GetSizer().Add( 7882 wx.TextCtrl(G2frame.dataWindow,size=G2frame.dataWindow.GetClientSize(), 7883 value='Select one phase to see its parameters') 7884 ) 7885 ############################################################################ 7886 # process second-level entries in tree 7852 7887 elif G2frame.GPXtree.GetItemText(item) == 'PDF Peaks': 7853 7888 G2frame.PatternId = G2frame.GPXtree.GetItemParent(item) … … 7859 7894 elif G2frame.GPXtree.GetItemText(item) == 'PDF Controls': 7860 7895 for i in G2frame.ExportPDF: i.Enable(True) # this should be done on .gpx load; is done on OnMakePDFs (GSASII.py) 7861 G2frame.data Frame.helpKey = G2frame.GPXtree.GetItemText(item) # special treatment to avoid PDF_PDF Controls7896 G2frame.dataWindow.helpKey = G2frame.GPXtree.GetItemText(item) # special treatment to avoid PDF_PDF Controls 7862 7897 G2frame.PatternId = G2frame.GPXtree.GetItemParent(item) 7863 7898 data = G2frame.GPXtree.GetItemPyData(item) … … 8010 8045 if G2frame.PickId: 8011 8046 G2frame.PickIdText = G2frame.GetTreeItemsList(G2frame.PickId) 8047 # window has been filled, now resize scroll bars 8048 G2frame.dataWindow.SetDataSize() 8049 8012 8050 G2frame.Raise() 8013 8051 if oldFocus: 8014 8052 oldFocus.GetTopLevelParent().Raise() 8015 8053 oldFocus.SetFocus() 8054 #debug code 8055 # print 'Got here!' 8056 # def FillWindow(panel,size=1.): 8057 # sizer = panel.GetSizer() 8058 # sizer.Add(wx.StaticText(panel, wx.ID_ANY, "Panel Two: long line "+int(size*40)*'*', (5,5))) 8059 # for i in range(int(size*15)): sizer.Add(wx.StaticText(panel, wx.ID_ANY, "Line "+str(2+i), (5,5))) 8060 # panel.Layout() 8061 # panel.SendSizeEvent() 8062 # G2frame.dataWindow.ClearData() 8063 # FillWindow(G2frame.dataWindow) 8016 8064 8017 8065 def SetDataMenuBar(G2frame,menu=None): -
branch/2frame/GSASIIpwdGUI.py
r2905 r2906 308 308 histList = GetHistsLikeSelected(G2frame) 309 309 if not histList: 310 G2frame.ErrorDialog('No match','No other histograms match '+hst,G2frame .dataFrame)310 G2frame.ErrorDialog('No match','No other histograms match '+hst,G2frame) 311 311 return 312 312 sourceData = G2frame.GPXtree.GetItemPyData(G2frame.PatternId) … … 318 318 319 319 dlg = G2G.G2MultiChoiceDialog( 320 G2frame .dataFrame,320 G2frame, 321 321 'Copy plot controls from\n'+str(hst[5:])+' to...', 322 322 'Copy plot controls', histList) … … 346 346 histList = GetHistsLikeSelected(G2frame) 347 347 if not histList: 348 G2frame.ErrorDialog('No match','No other histograms match '+hst,G2frame .dataFrame)348 G2frame.ErrorDialog('No match','No other histograms match '+hst,G2frame) 349 349 return 350 350 choices = ['Limits','Background','Instrument Parameters','Sample Parameters'] 351 351 dlg = G2G.G2MultiChoiceDialog( 352 G2frame .dataFrame,352 G2frame, 353 353 'Copy which histogram sections from\n'+str(hst[5:]), 354 354 'Select copy sections', choices, filterBox=False) … … 360 360 361 361 dlg = G2G.G2MultiChoiceDialog( 362 G2frame .dataFrame,362 G2frame, 363 363 'Copy parameters from\n'+str(hst[5:])+' to...', 364 364 'Copy parameters', histList) … … 463 463 histList = GetHistsLikeSelected(G2frame) 464 464 if not histList: 465 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame .dataFrame)465 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame) 466 466 return 467 467 copyList = [] 468 468 dlg = G2G.G2MultiChoiceDialog( 469 G2frame .dataFrame,469 G2frame, 470 470 'Copy peak list from\n'+str(hst[5:])+' to...', 471 471 'Copy peaks', histList) … … 483 483 def OnUnDo(event): 484 484 DoUnDo() 485 G2frame.data Frame.UnDo.Enable(False)485 G2frame.dataWindow.UnDo.Enable(False) 486 486 487 487 def DoUnDo(): … … 508 508 cPickle.dump(G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId,item)),file,1) 509 509 file.close() 510 G2frame.data Frame.UnDo.Enable(True)510 G2frame.dataWindow.UnDo.Enable(True) 511 511 512 512 def OnLSQPeakFit(event): … … 526 526 def OnSeqPeakFit(event): 527 527 histList = G2gd.GetGPXtreeDataNames(G2frame,['PWDR',]) 528 dlg = G2G.G2MultiChoiceDialog(G2frame .dataFrame, 'Sequential peak fits',528 dlg = G2G.G2MultiChoiceDialog(G2frame, 'Sequential peak fits', 529 529 'Select dataset to include',histList) 530 530 names = [] … … 546 546 CopyForward = False 547 547 choice = ['Reverse sequence','Copy from prev.',] 548 dlg = wx.MultiChoiceDialog(G2frame .dataFrame,'Sequential controls','Select controls',choice)548 dlg = wx.MultiChoiceDialog(G2frame,'Sequential controls','Select controls',choice) 549 549 if dlg.ShowModal() == wx.ID_OK: 550 550 for sel in dlg.GetSelections(): … … 738 738 refOpts = {reflGrid.GetColLabelValue(i):i+1 for i in range(reflGrid.GetNumberCols()) if reflGrid.GetColLabelValue(i) != "refine"} 739 739 dlg = G2G.G2MultiChoiceDialog( 740 G2frame .dataFrame,740 G2frame, 741 741 'Select columns to refine', 742 742 'Refinement Selection', sorted(refOpts.keys()), … … 797 797 if reflGrid.GetColLabelValue(c) != 'refine': return 798 798 choice = ['Y - vary all','N - vary none',] 799 dlg = wx.SingleChoiceDialog(G2frame .dataFrame,799 dlg = wx.SingleChoiceDialog(G2frame, 800 800 'Select refinement option for '+reflGrid.GetColLabelValue(c-1), 801 801 'Refinement controls',choice) … … 818 818 G2frame.Bind(wx.EVT_MENU, OnCopyPeaks, id=G2gd.wxID_PEAKSCOPY) 819 819 G2frame.Bind(wx.EVT_MENU, OnUnDo, id=G2gd.wxID_UNDO) 820 G2frame.Bind(wx.EVT_MENU, OnRefineSelected, id=G2frame.data Frame.peaksSel.GetId())821 G2frame.Bind(wx.EVT_MENU, OnRefineAll, id=G2frame.data Frame.peaksAll.GetId())820 G2frame.Bind(wx.EVT_MENU, OnRefineSelected, id=G2frame.dataWindow.peaksSel.GetId()) 821 G2frame.Bind(wx.EVT_MENU, OnRefineAll, id=G2frame.dataWindow.peaksAll.GetId()) 822 822 G2frame.Bind(wx.EVT_MENU, OnLSQPeakFit, id=G2gd.wxID_LSQPEAKFIT) 823 823 G2frame.Bind(wx.EVT_MENU, OnOneCycle, id=G2gd.wxID_LSQONECYCLE) … … 870 870 G2frame.PeakTable = G2G.Table(data['peaks'],rowLabels=rowLabels,colLabels=colLabels,types=Types) 871 871 G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Peak List') 872 G2frame.data Frame.currentGrids = []872 G2frame.dataWindow.currentGrids = [] 873 873 reflGrid = G2G.GSGrid(parent=G2frame.dataWindow) 874 874 reflGrid.SetTable(G2frame.PeakTable, True) … … 901 901 if 'nPeaks' not in data[1]: 902 902 data[1].update({'nPeaks':0,'peaksList':[]}) 903 G2frame.data Frame.currentGrids = []903 G2frame.dataWindow.currentGrids = [] 904 904 905 905 def OnBackFlagCopy(event): … … 917 917 histList = GetHistsLikeSelected(G2frame) 918 918 if not histList: 919 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame .dataFrame)919 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame) 920 920 return 921 921 dlg = G2G.G2MultiChoiceDialog( 922 G2frame .dataFrame,922 G2frame, 923 923 'Copy bkg ref. flags from\n'+str(hst[5:])+' to...', 924 924 'Copy bkg flags', histList) … … 946 946 histList = GetHistsLikeSelected(G2frame) 947 947 if not histList: 948 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame .dataFrame)948 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame) 949 949 return 950 950 copyList = [] 951 dlg = G2G.G2MultiChoiceDialog(G2frame .dataFrame,'Copy bkg params from\n'+str(hst[5:])+' to...',951 dlg = G2G.G2MultiChoiceDialog(G2frame,'Copy bkg params from\n'+str(hst[5:])+' to...', 952 952 'Copy parameters', histList) 953 953 try: … … 1235 1235 topSizer.Add((5,0),0) 1236 1236 peaksSizer.Add(topSizer) 1237 G2frame.data Frame.currentGrids = []1237 G2frame.dataWindow.currentGrids = [] 1238 1238 if data[1]['nPeaks']: 1239 1239 peaksSizer.Add(wx.StaticText(G2frame.dataWindow,-1,' Peak list:'),0,WACV) … … 1259 1259 G2frame.Bind(wx.EVT_MENU,OnPeaksMove,id=G2gd.wxID_PEAKSMOVE) 1260 1260 G2frame.Bind(wx.EVT_MENU,OnMakeRDF,id=G2gd.wxID_MAKEBACKRDF) 1261 G2frame.Bind(wx.EVT_MENU,OnBkgFit,id=G2frame.data Frame.wxID_BackPts['Fit'])1262 G2frame.Bind(wx.EVT_MENU,OnBkgClear,id=G2frame.data Frame.wxID_BackPts['Clear'])1261 G2frame.Bind(wx.EVT_MENU,OnBkgFit,id=G2frame.dataWindow.wxID_BackPts['Fit']) 1262 G2frame.Bind(wx.EVT_MENU,OnBkgClear,id=G2frame.dataWindow.wxID_BackPts['Clear']) 1263 1263 BackId = G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Background') 1264 1264 Choices = ['chebyschev','cosine','Q^2 power series','Q^-2 power series','lin interpolate','inv interpolate','log interpolate'] … … 1271 1271 mainSizer.Layout() 1272 1272 G2frame.dataWindow.SetSizer(mainSizer) 1273 mainSizer.Fit(G2frame.data Frame)1273 mainSizer.Fit(G2frame.dataWindow) 1274 1274 G2frame.SetDataSize() 1275 1275 … … 1329 1329 histList = GetHistsLikeSelected(G2frame) 1330 1330 if not histList: 1331 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame .dataFrame)1331 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame) 1332 1332 return 1333 1333 dlg = G2G.G2MultiChoiceDialog( 1334 G2frame .dataFrame,1334 G2frame, 1335 1335 'Copy limits from\n'+str(hst[5:])+' to...', 1336 1336 'Copy limits', histList) … … 1354 1354 mainSizer.Layout() 1355 1355 G2frame.dataWindow.SetSizer(mainSizer) 1356 mainSizer.Fit(G2frame.data Frame)1356 mainSizer.Fit(G2frame.dataWindow) 1357 1357 G2frame.SetDataSize() 1358 1358 1359 if G2frame.dataWindow: 1360 G2frame.dataFrame.DestroyChildren() 1359 #if G2frame.dataWindow: 1360 # G2frame.dataWindow.DestroyChildren() 1361 G2frame.dataWindow.ClearData() 1361 1362 G2frame.ifGetExclude = False 1362 1363 G2gd.SetDataMenuBar(G2frame,G2frame.dataWindow.LimitMenu) … … 1501 1502 RefreshInstrumentGrid(event,doAnyway=True) #to get peaks updated 1502 1503 else: 1503 G2frame.ErrorDialog('No match','Bank %d not in %s'%(bank,filename),G2frame .dataFrame)1504 G2frame.ErrorDialog('No match','Bank %d not in %s'%(bank,filename),G2frame) 1504 1505 UpdateInstrumentGrid(G2frame,data) 1505 1506 G2plt.PlotPeakWidths(G2frame) … … 1540 1541 saveList = [] 1541 1542 dlg = G2G.G2MultiChoiceDialog( 1542 G2frame .dataFrame,1543 G2frame, 1543 1544 'Save instrument parameters from', 1544 1545 'Save instrument parameters', histList) … … 1585 1586 histList = GetHistsLikeSelected(G2frame) 1586 1587 if not histList: 1587 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame .dataFrame)1588 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame) 1588 1589 return 1589 1590 keys = data.keys() … … 1596 1597 copyList = [] 1597 1598 dlg = G2G.G2MultiChoiceDialog( 1598 G2frame .dataFrame,1599 G2frame, 1599 1600 'Copy inst ref. flags from\n'+hst[5:], 1600 1601 'Copy refinement flags', histList) … … 1623 1624 histList = GetHistsLikeSelected(G2frame) 1624 1625 if not histList: 1625 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame .dataFrame)1626 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame) 1626 1627 return 1627 1628 copyList = [] 1628 1629 instType = data['Type'][0] 1629 1630 dlg = G2G.G2MultiChoiceDialog( 1630 G2frame .dataFrame,1631 G2frame, 1631 1632 'Copy inst params from\n'+hst, 1632 1633 'Copy parameters', histList) … … 1698 1699 def MakeParameterWindow(): 1699 1700 'Displays the Instrument parameters in the dataWindow frame' 1700 G2frame.data Frame.ClearData()1701 G2frame.dataWindow.ClearData() 1701 1702 G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Instrument Parameters') 1702 1703 mainSizer = wx.BoxSizer(wx.VERTICAL) … … 2184 2185 x0,y0,w0 = G2frame.GPXtree.GetItemPyData(G2frame.PatternId)[1][:3] 2185 2186 if not histList: 2186 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame .dataFrame)2187 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame) 2187 2188 return 2188 2189 od = {'label_1':'Scaling range min','value_1':0.0,'label_2':'Scaling range max','value_2':10.} 2189 dlg = G2G.G2MultiChoiceDialog(G2frame .dataFrame,2190 dlg = G2G.G2MultiChoiceDialog(G2frame, 2190 2191 'Do scaling from\n'+str(hst[5:])+' to...','Rescale histograms', histList,extraOpts=od) 2191 2192 try: … … 2222 2223 histList = GetHistsLikeSelected(G2frame) 2223 2224 if not histList: 2224 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame .dataFrame)2225 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame) 2225 2226 return 2226 dlg = G2G.G2MultiChoiceDialog(G2frame .dataFrame,2227 dlg = G2G.G2MultiChoiceDialog(G2frame, 2227 2228 'Copy sample params from\n'+str(hst[5:])+' to...', 2228 2229 'Copy sample parameters', histList) … … 2244 2245 histList = GetHistsLikeSelected(G2frame) 2245 2246 if not histList: 2246 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame .dataFrame)2247 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame) 2247 2248 return 2248 2249 # Assemble a list of item labels … … 2261 2262 selectedKeys = [] 2262 2263 dlg = G2G.G2MultiChoiceDialog( 2263 G2frame .dataFrame,2264 G2frame, 2264 2265 'Select which sample parameters\nto copy', 2265 2266 'Select sample parameters', keyText) … … 2274 2275 copyDict[parm] = data[parm] 2275 2276 dlg = G2G.G2MultiChoiceDialog( 2276 G2frame .dataFrame,2277 G2frame, 2277 2278 'Copy sample params from\n'+str(hst[5:])+' to...', 2278 2279 'Copy sample parameters', histList) … … 2297 2298 histList = GetHistsLikeSelected(G2frame) 2298 2299 if not histList: 2299 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame .dataFrame)2300 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame) 2300 2301 return 2301 2302 dlg = G2G.G2MultiChoiceDialog( 2302 G2frame .dataFrame,2303 G2frame, 2303 2304 'Copy sample ref. flags from\n'+str(hst[5:])+' to...', 2304 2305 'Copy sample flags', histList) … … 2374 2375 G2frame.Bind(wx.EVT_MENU, OnRescaleAll, id=G2gd.wxID_RESCALEALL) 2375 2376 if histName[:4] in ['SASD','REFD','PWDR']: 2376 G2frame.data Frame.SetScale.Enable(True)2377 G2frame.dataWindow.SetScale.Enable(True) 2377 2378 Controls = G2frame.GPXtree.GetItemPyData( 2378 2379 G2gd.GetGPXtreeItemId(G2frame,G2frame.root, 'Controls')) … … 2790 2791 def OnSpcSel(event): 2791 2792 controls[13] = spcSel.GetString(spcSel.GetSelection()) 2792 G2frame.data Frame.RefineCell.Enable(True)2793 G2frame.dataWindow.RefineCell.Enable(True) 2793 2794 OnHklShow(event) 2794 2795 … … 2936 2937 controls[13] = spaceGroups[bravaisSymb.index(controls[5])] 2937 2938 G2frame.GPXtree.SetItemPyData(UnitCellsId,[controls,bravais,cells,dmin,ssopt]) 2938 G2frame.data Frame.RefineCell.Enable(True)2939 G2frame.dataWindow.RefineCell.Enable(True) 2939 2940 wx.CallAfter(UpdateUnitCellsGrid,G2frame,data) 2940 2941 … … 3052 3053 G2frame.ErrorDialog('Error','You need to reload Index Peaks List first') 3053 3054 return 3054 G2frame.data Frame.CopyCell.Enable(False)3055 G2frame.data Frame.RefineCell.Enable(False)3055 G2frame.dataWindow.CopyCell.Enable(False) 3056 G2frame.dataWindow.RefineCell.Enable(False) 3056 3057 dlg = wx.ProgressDialog("Generated reflections",'0 '+" cell search for "+bravaisNames[ibrav],101, 3057 3058 # style = wx.PD_ELAPSED_TIME|wx.PD_AUTO_HIDE|wx.PD_REMAINING_TIME|wx.PD_CAN_SKIP|wx.PD_CAN_ABORT) #desn't work in 32 bit versions … … 3079 3080 else: 3080 3081 G2plt.PlotPatterns(G2frame) 3081 G2frame.data Frame.CopyCell.Enable(True)3082 G2frame.data Frame.IndexPeaks.Enable(True)3083 G2frame.data Frame.MakeNewPhase.Enable(True)3082 G2frame.dataWindow.CopyCell.Enable(True) 3083 G2frame.dataWindow.IndexPeaks.Enable(True) 3084 G2frame.dataWindow.MakeNewPhase.Enable(True) 3084 3085 G2frame.ifX20 = True 3085 3086 wx.CallAfter(UpdateUnitCellsGrid,G2frame,data) … … 3169 3170 [True,True,True,False,True,True,True],[0,1,2,0,3,4,5])]] 3170 3171 3171 G2frame.data Frame.IndexPeaks.Enable(False)3172 G2frame.dataWindow.IndexPeaks.Enable(False) 3172 3173 peaks = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Index Peak List')) 3173 3174 if peaks: 3174 G2frame.data Frame.IndexPeaks.Enable(True)3175 G2frame.data Frame.RefineCell.Enable(False)3175 G2frame.dataWindow.IndexPeaks.Enable(True) 3176 G2frame.dataWindow.RefineCell.Enable(False) 3176 3177 if controls[12] > 1.0: #if a "real" volume (i.e. not default) 3177 G2frame.data Frame.RefineCell.Enable(True)3178 G2frame.data Frame.CopyCell.Enable(False)3179 G2frame.data Frame.MakeNewPhase.Enable(False)3180 G2frame.data Frame.ExportCells.Enable(False)3178 G2frame.dataWindow.RefineCell.Enable(True) 3179 G2frame.dataWindow.CopyCell.Enable(False) 3180 G2frame.dataWindow.MakeNewPhase.Enable(False) 3181 G2frame.dataWindow.ExportCells.Enable(False) 3181 3182 if cells: 3182 G2frame.data Frame.CopyCell.Enable(True)3183 G2frame.data Frame.MakeNewPhase.Enable(True)3184 G2frame.data Frame.ExportCells.Enable(True)3183 G2frame.dataWindow.CopyCell.Enable(True) 3184 G2frame.dataWindow.MakeNewPhase.Enable(True) 3185 G2frame.dataWindow.ExportCells.Enable(True) 3185 3186 mainSizer = wx.BoxSizer(wx.VERTICAL) 3186 3187 mainSizer.Add(wx.StaticText(parent=G2frame.dataWindow,label=' Indexing controls: '),0,WACV) … … 3325 3326 mainSizer.Add(ssSizer,0) 3326 3327 3327 G2frame.data Frame.currentGrids = []3328 G2frame.dataWindow.currentGrids = [] 3328 3329 if cells: 3329 3330 mainSizer.Add(wx.StaticText(parent=G2frame.dataWindow,label='\n Indexing Result:'),0,WACV) … … 3347 3348 gridDisplay = G2G.GSGrid(G2frame.dataWindow) 3348 3349 gridDisplay.SetTable(UnitCellsTable, True) 3349 G2frame.data Frame.CopyCell.Enable(True)3350 G2frame.dataWindow.CopyCell.Enable(True) 3350 3351 gridDisplay.Bind(wg.EVT_GRID_CELL_LEFT_CLICK,RefreshUnitCellsGrid) 3351 3352 gridDisplay.Bind(wg.EVT_GRID_LABEL_LEFT_DCLICK,OnSortCells) … … 3362 3363 mainSizer.Layout() 3363 3364 G2frame.dataWindow.SetSizer(mainSizer) 3364 mainSizer.Fit(G2frame.data Frame)3365 mainSizer.Fit(G2frame.dataWindow) 3365 3366 G2frame.SetDataSize() 3366 3367 … … 3456 3457 else: 3457 3458 if len(data) > 1: 3458 G2frame.data Frame.SelectPhase.Enable(True)3459 G2frame.dataWindow.SelectPhase.Enable(True) 3459 3460 try: #patch for old reflection lists 3460 3461 if not len(data[phaseName]): … … 3592 3593 phaseName = G2frame.RefList 3593 3594 phases = data.keys() 3594 G2frame.data Frame.ClearData()3595 G2frame.dataWindow.ClearData() 3595 3596 Inst = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))[0] 3596 3597 G2gd.SetDataMenuBar(G2frame,G2frame.dataWindow.ReflMenu) … … 3711 3712 histList = GetHistsLikeSelected(G2frame) 3712 3713 if not histList: 3713 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame .dataFrame)3714 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame) 3714 3715 return 3715 3716 copyList = [] 3716 3717 dlg = G2G.G2MultiChoiceDialog( 3717 G2frame .dataFrame,3718 G2frame, 3718 3719 'Copy substances from\n'+hst[5:]+' to...', 3719 3720 'Copy substances', histList) … … 3963 3964 G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Substances') 3964 3965 G2frame.dataWindow.ClearData() 3965 G2frame.data Frame.Bind(wx.EVT_MENU, OnLoadSubstance, id=G2gd.wxID_LOADSUBSTANCE)3966 G2frame.data Frame.Bind(wx.EVT_MENU, OnReloadSubstances, id=G2gd.wxID_RELOADSUBSTANCES)3967 G2frame.data Frame.Bind(wx.EVT_MENU, OnAddSubstance, id=G2gd.wxID_ADDSUBSTANCE)3968 G2frame.data Frame.Bind(wx.EVT_MENU, OnCopySubstance, id=G2gd.wxID_COPYSUBSTANCE)3969 G2frame.data Frame.Bind(wx.EVT_MENU, OnDeleteSubstance, id=G2gd.wxID_DELETESUBSTANCE)3970 G2frame.data Frame.Bind(wx.EVT_MENU, OnAddElement, id=G2gd.wxID_ELEMENTADD)3971 G2frame.data Frame.Bind(wx.EVT_MENU, OnDeleteElement, id=G2gd.wxID_ELEMENTDELETE)3966 G2frame.dataWindow.Bind(wx.EVT_MENU, OnLoadSubstance, id=G2gd.wxID_LOADSUBSTANCE) 3967 G2frame.dataWindow.Bind(wx.EVT_MENU, OnReloadSubstances, id=G2gd.wxID_RELOADSUBSTANCES) 3968 G2frame.dataWindow.Bind(wx.EVT_MENU, OnAddSubstance, id=G2gd.wxID_ADDSUBSTANCE) 3969 G2frame.dataWindow.Bind(wx.EVT_MENU, OnCopySubstance, id=G2gd.wxID_COPYSUBSTANCE) 3970 G2frame.dataWindow.Bind(wx.EVT_MENU, OnDeleteSubstance, id=G2gd.wxID_DELETESUBSTANCE) 3971 G2frame.dataWindow.Bind(wx.EVT_MENU, OnAddElement, id=G2gd.wxID_ELEMENTADD) 3972 G2frame.dataWindow.Bind(wx.EVT_MENU, OnDeleteElement, id=G2gd.wxID_ELEMENTDELETE) 3972 3973 mainSizer = wx.BoxSizer(wx.VERTICAL) 3973 3974 mainSizer.Add(SubstSizer(),0) … … 3976 3977 G2frame.dataWindow.SetSizer(mainSizer) 3977 3978 G2frame.dataWindow.SetAutoLayout(1) 3978 mainSizer.Fit(G2frame.data Frame)3979 mainSizer.Fit(G2frame.dataWindow) 3979 3980 G2frame.SetDataSize() 3980 3981 … … 4040 4041 histList = GetHistsLikeSelected(G2frame) 4041 4042 if not histList: 4042 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame .dataFrame)4043 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame) 4043 4044 return 4044 4045 copyList = [] 4045 4046 dlg = G2G.G2MultiChoiceDialog( 4046 G2frame .dataFrame,4047 G2frame, 4047 4048 'Copy models from\n'+hst[5:]+' to...', 4048 4049 'Copy models', histList) … … 4071 4072 histList = GetHistsLikeSelected(G2frame) 4072 4073 if not histList: 4073 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame .dataFrame)4074 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame) 4074 4075 return 4075 4076 dlg = G2G.G2MultiChoiceDialog( 4076 G2frame .dataFrame,4077 G2frame, 4077 4078 'Copy sample ref. flags from\n'+str(hst[5:])+' to...', 4078 4079 'Copy sample flags', histList) … … 4106 4107 def OnFitModelAll(event): 4107 4108 choices = G2gd.GetGPXtreeDataNames(G2frame,['SASD',]) 4108 dlg = G2G.G2MultiChoiceDialog(G2frame .dataFrame, 'Sequential SASD refinement',4109 dlg = G2G.G2MultiChoiceDialog(G2frame, 'Sequential SASD refinement', 4109 4110 'Select dataset to include',choices) 4110 4111 names = [] … … 4127 4128 CopyForward = False 4128 4129 choice = ['Reverse sequence','Copy from prev.'] 4129 dlg = wx.MultiChoiceDialog(G2frame .dataFrame,'Sequential controls','Select controls',choice)4130 dlg = wx.MultiChoiceDialog(G2frame,'Sequential controls','Select controls',choice) 4130 4131 if dlg.ShowModal() == wx.ID_OK: 4131 4132 for sel in dlg.GetSelections(): … … 4203 4204 data = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame, 4204 4205 G2frame.PatternId,'Models')) 4205 G2frame.data Frame.SasdUndo.Enable(False)4206 G2frame.dataWindow.SasdUndo.Enable(False) 4206 4207 UpdateModelsGrid(G2frame,data) 4207 4208 G2sasd.ModelFxn(Profile,ProfDict,Limits,Sample,data) … … 4223 4224 cPickle.dump(G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId,item)),file,1) 4224 4225 file.close() 4225 G2frame.data Frame.SasdUndo.Enable(True)4226 G2frame.dataWindow.SasdUndo.Enable(True) 4226 4227 4227 4228 def OnSelectFit(event): … … 4628 4629 G2frame.dataWindow.ClearData() 4629 4630 G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Modelling') 4630 G2frame.data Frame.Bind(wx.EVT_MENU, OnCopyModel, id=G2gd.wxID_MODELCOPY)4631 G2frame.data Frame.Bind(wx.EVT_MENU, OnCopyFlags, id=G2gd.wxID_MODELCOPYFLAGS)4632 G2frame.data Frame.Bind(wx.EVT_MENU, OnFitModel, id=G2gd.wxID_MODELFIT)4633 G2frame.data Frame.Bind(wx.EVT_MENU, OnFitModelAll, id=G2gd.wxID_MODELFITALL)4634 G2frame.data Frame.Bind(wx.EVT_MENU, OnUnDo, id=G2gd.wxID_MODELUNDO)4635 G2frame.data Frame.Bind(wx.EVT_MENU, OnAddModel, id=G2gd.wxID_MODELADD)4631 G2frame.dataWindow.Bind(wx.EVT_MENU, OnCopyModel, id=G2gd.wxID_MODELCOPY) 4632 G2frame.dataWindow.Bind(wx.EVT_MENU, OnCopyFlags, id=G2gd.wxID_MODELCOPYFLAGS) 4633 G2frame.dataWindow.Bind(wx.EVT_MENU, OnFitModel, id=G2gd.wxID_MODELFIT) 4634 G2frame.dataWindow.Bind(wx.EVT_MENU, OnFitModelAll, id=G2gd.wxID_MODELFITALL) 4635 G2frame.dataWindow.Bind(wx.EVT_MENU, OnUnDo, id=G2gd.wxID_MODELUNDO) 4636 G2frame.dataWindow.Bind(wx.EVT_MENU, OnAddModel, id=G2gd.wxID_MODELADD) 4636 4637 Indx = {} 4637 4638 mainSizer = wx.BoxSizer(wx.VERTICAL) … … 4682 4683 G2frame.dataWindow.SetSizer(mainSizer) 4683 4684 G2frame.dataWindow.SetAutoLayout(1) 4684 mainSizer.Fit(G2frame.data Frame)4685 mainSizer.Fit(G2frame.dataWindow) 4685 4686 G2frame.SetDataSize() 4686 4687 … … 4696 4697 histList = GetHistsLikeSelected(G2frame) 4697 4698 if not histList: 4698 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame .dataFrame)4699 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame) 4699 4700 return 4700 4701 copyList = [] 4701 dlg = G2G.G2MultiChoiceDialog(G2frame .dataFrame,'Copy reflectivity models from\n'+str(hst[5:])+' to...',4702 dlg = G2G.G2MultiChoiceDialog(G2frame,'Copy reflectivity models from\n'+str(hst[5:])+' to...', 4702 4703 'Copy parameters', histList) 4703 4704 try: … … 4727 4728 # histList += GetHistsLikeSelected(G2frame) 4728 4729 if not histList: 4729 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame .dataFrame)4730 G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame) 4730 4731 return 4731 4732 plotList = [] 4732 4733 od = {'label_1':'Zero at substrate','value_1':False,'label_2':'Show layer transitions','value_2':True} 4733 dlg = G2G.G2MultiChoiceDialog(G2frame .dataFrame,'Plot reflectivity models for:',4734 dlg = G2G.G2MultiChoiceDialog(G2frame,'Plot reflectivity models for:', 4734 4735 'Plot SLD models', histList,extraOpts=od) 4735 4736 try: … … 4769 4770 def OnFitModelAll(event): 4770 4771 choices = G2gd.GetGPXtreeDataNames(G2frame,['REFD',]) 4771 dlg = G2G.G2MultiChoiceDialog(G2frame .dataFrame, 'Sequential REFD refinement',4772 dlg = G2G.G2MultiChoiceDialog(G2frame, 'Sequential REFD refinement', 4772 4773 'Select dataset to include',choices) 4773 4774 names = [] … … 4790 4791 CopyForward = False 4791 4792 choice = ['Reverse sequence','Copy from prev.'] 4792 dlg = wx.MultiChoiceDialog(G2frame .dataFrame,'Sequential controls','Select controls',choice)4793 dlg = wx.MultiChoiceDialog(G2frame,'Sequential controls','Select controls',choice) 4793 4794 if dlg.ShowModal() == wx.ID_OK: 4794 4795 for sel in dlg.GetSelections(): … … 4859 4860 data = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame, 4860 4861 G2frame.PatternId,'Models')) 4861 G2frame.data Frame.REFDUndo.Enable(False)4862 G2frame.dataWindow.REFDUndo.Enable(False) 4862 4863 G2pwd.REFDModelFxn(Profile,Inst,Limits,Substances,data) 4863 4864 x,xr,y = G2pwd.makeSLDprofile(data,Substances) … … 4880 4881 cPickle.dump(G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId,'Models')),file,1) 4881 4882 file.close() 4882 G2frame.data Frame.REFDUndo.Enable(True)4883 G2frame.dataWindow.REFDUndo.Enable(True) 4883 4884 4884 4885 def ControlSizer(): … … 5218 5219 G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Modelling') 5219 5220 G2frame.dataWindow.ClearData() 5220 G2frame.data Frame.Bind(wx.EVT_MENU, OnCopyModel, id=G2gd.wxID_MODELCOPY)5221 G2frame.data Frame.Bind(wx.EVT_MENU, OnModelPlot, id=G2gd.wxID_MODELPLOT)5222 G2frame.data Frame.Bind(wx.EVT_MENU, OnFitModel, id=G2gd.wxID_MODELFIT)5223 G2frame.data Frame.Bind(wx.EVT_MENU, OnFitModelAll, id=G2gd.wxID_MODELFITALL)5224 G2frame.data Frame.Bind(wx.EVT_MENU, OnUnDo, id=G2gd.wxID_MODELUNDO)5221 G2frame.dataWindow.Bind(wx.EVT_MENU, OnCopyModel, id=G2gd.wxID_MODELCOPY) 5222 G2frame.dataWindow.Bind(wx.EVT_MENU, OnModelPlot, id=G2gd.wxID_MODELPLOT) 5223 G2frame.dataWindow.Bind(wx.EVT_MENU, OnFitModel, id=G2gd.wxID_MODELFIT) 5224 G2frame.dataWindow.Bind(wx.EVT_MENU, OnFitModelAll, id=G2gd.wxID_MODELFITALL) 5225 G2frame.dataWindow.Bind(wx.EVT_MENU, OnUnDo, id=G2gd.wxID_MODELUNDO) 5225 5226 mainSizer = wx.BoxSizer(wx.VERTICAL) 5226 5227 … … 5254 5255 G2frame.dataWindow.SetSizer(mainSizer) 5255 5256 G2frame.dataWindow.SetAutoLayout(1) 5256 mainSizer.FitInside(G2frame.data Frame)5257 mainSizer.FitInside(G2frame.dataWindow) 5257 5258 G2frame.SetDataSize() 5258 5259 … … 5927 5928 return 5928 5929 od = {'label_1':'Optimize PDFs','value_1':True} 5929 dlg = G2G.G2MultiChoiceDialog(G2frame .dataFrame, 'Select PDFs to compute','Select PDFs',5930 dlg = G2G.G2MultiChoiceDialog(G2frame, 'Select PDFs to compute','Select PDFs', 5930 5931 choices,extraOpts=od) 5931 5932 try: … … 6022 6023 if 'diffMult' not in data: 6023 6024 data['diffMult'] = 1.0 6024 G2frame.data Frame.ClearData()6025 G2frame.dataWindow.ClearData() 6025 6026 G2gd.SetDataMenuBar(G2frame,G2frame.dataWindow.PDFMenu) 6026 6027 if powId: 6027 G2frame.data Frame.PDFMenu.EnableTop(0,enable=True)6028 G2frame.dataWindow.PDFMenu.EnableTop(0,enable=True) 6028 6029 else: 6029 G2frame.data Frame.PDFMenu.EnableTop(0,enable=False)6030 G2frame.data Frame.Bind(wx.EVT_MENU, OnCopyPDFControls, id=G2gd.wxID_PDFCOPYCONTROLS)6031 G2frame.data Frame.Bind(wx.EVT_MENU, OnSavePDFControls, id=G2gd.wxID_PDFSAVECONTROLS)6032 G2frame.data Frame.Bind(wx.EVT_MENU, OnLoadPDFControls, id=G2gd.wxID_PDFLOADCONTROLS)6033 G2frame.data Frame.Bind(wx.EVT_MENU, OnAddElement, id=G2gd.wxID_PDFADDELEMENT)6034 G2frame.data Frame.Bind(wx.EVT_MENU, OnDeleteElement, id=G2gd.wxID_PDFDELELEMENT)6035 G2frame.data Frame.Bind(wx.EVT_MENU, OnComputePDF, id=G2gd.wxID_PDFCOMPUTE)6036 G2frame.data Frame.Bind(wx.EVT_MENU, OnComputeAllPDF, id=G2gd.wxID_PDFCOMPUTEALL)6030 G2frame.dataWindow.PDFMenu.EnableTop(0,enable=False) 6031 G2frame.dataWindow.Bind(wx.EVT_MENU, OnCopyPDFControls, id=G2gd.wxID_PDFCOPYCONTROLS) 6032 G2frame.dataWindow.Bind(wx.EVT_MENU, OnSavePDFControls, id=G2gd.wxID_PDFSAVECONTROLS) 6033 G2frame.dataWindow.Bind(wx.EVT_MENU, OnLoadPDFControls, id=G2gd.wxID_PDFLOADCONTROLS) 6034 G2frame.dataWindow.Bind(wx.EVT_MENU, OnAddElement, id=G2gd.wxID_PDFADDELEMENT) 6035 G2frame.dataWindow.Bind(wx.EVT_MENU, OnDeleteElement, id=G2gd.wxID_PDFDELELEMENT) 6036 G2frame.dataWindow.Bind(wx.EVT_MENU, OnComputePDF, id=G2gd.wxID_PDFCOMPUTE) 6037 G2frame.dataWindow.Bind(wx.EVT_MENU, OnComputeAllPDF, id=G2gd.wxID_PDFCOMPUTEALL) 6037 6038 6038 6039 mainSizer = wx.BoxSizer(wx.VERTICAL) … … 6048 6049 mainSizer.Layout() 6049 6050 G2frame.dataWindow.SetSizer(mainSizer) 6050 mainSizer.Fit(G2frame.data Frame)6051 mainSizer.Fit(G2frame.dataWindow) 6051 6052 G2frame.SetDataSize() 6052 6053 … … 6214 6215 wx.CallAfter(UpdatePDFPeaks,G2frame,peaks,data) 6215 6216 6216 G2frame.data Frame.ClearData()6217 G2frame.dataWindow.ClearData() 6217 6218 G2gd.SetDataMenuBar(G2frame,G2frame.dataWindow.PDFPksMenu) 6218 G2frame.data Frame.Bind(wx.EVT_MENU, OnCopyPDFPeaks, id=G2gd.wxID_PDFCOPYPEAKS)6219 G2frame.data Frame.Bind(wx.EVT_MENU, OnFitPDFpeaks, id=G2gd.wxID_PDFPKSFIT)6220 G2frame.data Frame.Bind(wx.EVT_MENU, OnFitAllPDFpeaks, id=G2gd.wxID_PDFPKSFITALL)6221 G2frame.data Frame.Bind(wx.EVT_MENU, OnClearPDFpeaks, id=G2gd.wxID_CLEARPDFPEAKS)6219 G2frame.dataWindow.Bind(wx.EVT_MENU, OnCopyPDFPeaks, id=G2gd.wxID_PDFCOPYPEAKS) 6220 G2frame.dataWindow.Bind(wx.EVT_MENU, OnFitPDFpeaks, id=G2gd.wxID_PDFPKSFIT) 6221 G2frame.dataWindow.Bind(wx.EVT_MENU, OnFitAllPDFpeaks, id=G2gd.wxID_PDFPKSFITALL) 6222 G2frame.dataWindow.Bind(wx.EVT_MENU, OnClearPDFpeaks, id=G2gd.wxID_CLEARPDFPEAKS) 6222 6223 mainSizer = wx.BoxSizer(wx.VERTICAL) 6223 6224 mainSizer.Add((5,5),0) … … 6232 6233 mainSizer.Layout() 6233 6234 G2frame.dataWindow.SetSizer(mainSizer) 6234 mainSizer.Fit(G2frame.data Frame)6235 mainSizer.Fit(G2frame.dataWindow) 6235 6236 G2frame.SetDataSize() 6236 6237
Note: See TracChangeset
for help on using the changeset viewer.