Changeset 2906


Ignore:
Timestamp:
Jul 4, 2017 2:14:54 PM (4 years ago)
Author:
toby
Message:

more refactoring while debugging dataWindow

Location:
branch/2frame
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branch/2frame/GSASII.py

    r2900 r2906  
    1616'''
    1717
    18 import os
    19 import sys
    2018import GSASIIpath
    2119GSASIIpath.SetVersionNumber("$Revision$")
  • branch/2frame/GSASIIdataGUI.py

    r2905 r2906  
    158158Define_wxId('wxID_MCRON', 'wxID_MCRLIST', 'wxID_MCRSAVE', 'wxID_MCRPLAY',)
    159159
    160 # these data definitions probably should be moved
     160# these data definitions probably should be moved -- to lattice?
    161161commonTrans = {'abc':np.eye(3),'a-cb':np.array([[1.,0.,0.],[0.,0.,-1.],[0.,1.,0.]]),
    162162    '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.]]),
     
    29452945        #
    29462946        self.GSASIIMenu = wx.MenuBar()
    2947         # create a list of all dataframe menus (appended in PrefillDataMenu)
     2947        # create a list of all menus (appended in PrefillDataMenu)
    29482948        self.dataMenuBars = [self.GSASIIMenu]
    29492949        self.MacroStatusList = []
     
    29612961        #self.mainPanel.SplitVertically(self.treePanel, self.dataPanel, 200)
    29622962       
    2963         self.dataWindow = DataWindow(self.mainPanel)
     2963        self.dataWindow = G2DataWindow(self.mainPanel)
    29642964        #self.dataWindow = wxscroll.ScrolledPanel(self.mainPanel,style=wx.BORDER_SUNKEN)
     2965        dataSizer = wx.BoxSizer(wx.VERTICAL)
     2966        self.dataWindow.SetSizer(dataSizer)
    29652967        self.mainPanel.SplitVertically(self.treePanel, self.dataWindow, 200)
    29662968       
     
    29862988            self.OnGPXtreeEndDrag, id=wxID_PATTERNTREE)       
    29872989        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)
    29973001        #self.dataWindow.SetSize(self.dataPanel.GetClientSize())
    29983002        #self.dataWindow.SetInitialSize()
     
    31243128       
    31253129    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()
    31333134                               
    31343135    def OnDataTreeSelChanged(self, event):
     
    37053706        'Delete a phase from the tree. Called by Data/Delete Phase menu'
    37063707        #Hmm, also need to delete this phase from Reflection Lists for each PWDR histogram
    3707         if self.dataFrame:
    3708             self.dataFrame.Clear()
     3708        if self.dataWindow:
     3709            self.dataWindow.ClearData()
    37093710        TextList = []
    37103711        DelList = []
     
    38663867        self.EnablePlot = False
    38673868        if self.GPXtree.GetChildrenCount(self.root,False):
    3868             if self.dataFrame:
    3869                 self.dataFrame.ClearData()
     3869            if self.dataWindow:
     3870                self.dataWindow.ClearData()
    38703871            dlg = wx.MessageDialog(
    38713872                self,
     
    40594060        if self.G2plotNB:
    40604061            self.G2plotNB.Destroy()
    4061         if self.dataFrame:
    4062             self.dataFrame.Destroy()
    40634062        if self.undofile:
    40644063            os.remove(self.undofile)
     
    40694068        if self.G2plotNB:
    40704069            self.G2plotNB.Destroy()
    4071         if self.dataFrame:
    4072             self.dataFrame.Destroy()
    40734070        self.Close()
    40744071       
     
    47404737# Data window side of main GUI
    47414738################################################################################
    4742 class DataWindow(wxscroll.ScrolledPanel):
     4739class G2DataWindow(wxscroll.ScrolledPanel):
    47434740    '''Create the data item window entries in menus used in
    47444741    that window. The menu entries are created for all
     
    47714768##                wx.Window.Bind(self,eventtype,self.MenuBinding,*args,**kwargs)
    47724769##                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()
    47744775       
    47754776    def PrefillDataMenu(self,menu,empty=False):
     
    57445745       
    57455746    def ClearData(self):
    5746 #        if self.GetSizer():
    5747 #            self.GetSizer().Destroy()
     5747        '''Initializes the contents of the dataWindow panel
     5748        '''
    57485749        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       
    57535776       
    57545777#TODO - remove         
     
    59225945            except ValueError:  #data changed somehow - start fresh
    59235946                sel = []
    5924             dlg = G2G.G2MultiChoiceDialog(G2frame.dataFrame, 'Sequential refinement',
     5947            dlg = G2G.G2MultiChoiceDialog(G2frame, 'Sequential refinement',
    59255948                'Select dataset to include',choices)
    59265949            dlg.SetSelections(sel)
     
    63986421        choices = data['SeqPseudoVars'].keys()
    63996422        selected = G2G.ItemSelector(
    6400             choices,G2frame.dataFrame,
     6423            choices,G2frame,
    64016424            multiple=True,
    64026425            title='Select expressions to remove',
     
    64156438        else:
    64166439            selected = G2G.ItemSelector(
    6417                 choices,G2frame.dataFrame,
     6440                choices,G2frame,
    64186441                multiple=False,
    64196442                title='Select an expression to edit',
     
    66356658        else:
    66366659            val = False
    6637         G2frame.dataFrame.SequentialPfit.Enable(wxDELPARFIT,val)
    6638         G2frame.dataFrame.SequentialPfit.Enable(wxEDITPARFIT,val)
    6639         G2frame.dataFrame.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)
    66406663
    66416664    def ParEqEval(Values,calcObjList,varyList):
     
    67456768        txtlst = [obj.GetDepVar()+' = '+obj.expression for obj in data['SeqParFitEqList']]
    67466769        selected = G2G.ItemSelector(
    6747             txtlst,G2frame.dataFrame,
     6770            txtlst,G2frame,
    67486771            multiple=True,
    67496772            title='Select a parametric equation(s) to remove',
     
    67616784        else:
    67626785            selected = G2G.ItemSelector(
    6763                 txtlst,G2frame.dataFrame,
     6786                txtlst,G2frame,
    67646787                multiple=False,
    67656788                title='Select a parametric equation to edit',
     
    68076830        else:
    68086831            selected = G2G.ItemSelector(
    6809                 txtlst,G2frame.dataFrame,
     6832                txtlst,G2frame,
    68106833                multiple=False,
    68116834                title='Select a parametric equation to copy',
     
    68526875        var = colLabels[col]
    68536876        lbl = variableLabels.get(var,G2obj.fmtVarDescr(var))
    6854         dlg = G2G.SingleStringDialog(G2frame.dataFrame,'Set variable label',
     6877        dlg = G2G.SingleStringDialog(G2frame,'Set variable label',
    68556878                                 'Set a new name for variable '+var,lbl,size=(400,-1))
    68566879        if dlg.Show():
     
    68616884        '''Event handler for all Sequential Export menu items
    68626885        '''
    6863         vals = G2frame.dataFrame.SeqExportLookup.get(event.GetId())
     6886        vals = G2frame.dataWindow.SeqExportLookup.get(event.GetId())
    68646887        if vals is None:
    68656888            print('Error: Id not found. This should not happen!')
     
    68686891    def onSelectSeqVars(event):
    68696892        '''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',
    68716894                'Hide columns',colLabels[1:])
    68726895        if dlg.ShowModal() == wx.ID_OK:
     
    69656988
    69666989    SetDataMenuBar(G2frame,G2frame.dataWindow.SequentialMenu)
    6967     G2frame.dataFrame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Sequential refinement results')
     6990    G2frame.dataWindow.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Sequential refinement results')
    69686991    G2frame.GetStatusBar().SetStatusText('')
    6969     G2frame.dataFrame.Bind(wx.EVT_MENU, OnRenameSelSeq, id=wxID_RENAMESEQSEL)
    6970     G2frame.dataFrame.Bind(wx.EVT_MENU, OnSaveSelSeq, id=wxID_SAVESEQSEL)
    6971     G2frame.dataFrame.Bind(wx.EVT_MENU, OnSaveSelSeqCSV, id=wxID_SAVESEQSELCSV)
    6972     G2frame.dataFrame.Bind(wx.EVT_MENU, OnSaveSeqCSV, id=wxID_SAVESEQCSV)
    6973     G2frame.dataFrame.Bind(wx.EVT_MENU, OnPlotSelSeq, id=wxID_PLOTSEQSEL)
    6974     G2frame.dataFrame.Bind(wx.EVT_MENU, OnAveSelSeq, id=wxID_AVESEQSEL)
    6975     #G2frame.dataFrame.Bind(wx.EVT_MENU, OnReOrgSelSeq, id=wxID_ORGSEQSEL)
    6976     G2frame.dataFrame.Bind(wx.EVT_MENU, onSelectSeqVars, id=wxID_ORGSEQINC)
    6977     G2frame.dataFrame.Bind(wx.EVT_MENU, AddNewPseudoVar, id=wxADDSEQVAR)
    6978     G2frame.dataFrame.Bind(wx.EVT_MENU, AddNewDistPseudoVar, id=wxADDSEQDIST)
    6979     G2frame.dataFrame.Bind(wx.EVT_MENU, AddNewAnglePseudoVar, id=wxADDSEQANGLE)
    6980     G2frame.dataFrame.Bind(wx.EVT_MENU, DelPseudoVar, id=wxDELSEQVAR)
    6981     G2frame.dataFrame.Bind(wx.EVT_MENU, EditPseudoVar, id=wxEDITSEQVAR)
    6982     G2frame.dataFrame.Bind(wx.EVT_MENU, AddNewParFitEq, id=wxADDPARFIT)
    6983     G2frame.dataFrame.Bind(wx.EVT_MENU, CopyParFitEq, id=wxCOPYPARFIT)
    6984     G2frame.dataFrame.Bind(wx.EVT_MENU, DelParFitEq, id=wxDELPARFIT)
    6985     G2frame.dataFrame.Bind(wx.EVT_MENU, EditParFitEq, id=wxEDITPARFIT)
    6986     G2frame.dataFrame.Bind(wx.EVT_MENU, DoParEqFit, id=wxDOPARFIT)
    6987 
    6988     for id in G2frame.dataFrame.SeqExportLookup:       
    6989         G2frame.dataFrame.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)
    69907013
    69917014    EnablePseudoVarMenus()
     
    70347057        print ' Warning: Total of %d data sets missing from sequential results'%(missing)
    70357058    #if len(VaryListChanges) > 1:
    7036     #    G2frame.dataFrame.SequentialFile.Enable(wxID_ORGSEQSEL,True)
     7059    #    G2frame.dataWindow.SequentialFile.Enable(wxID_ORGSEQSEL,True)
    70377060    #else:
    7038     #    G2frame.dataFrame.SequentialFile.Enable(wxID_ORGSEQSEL,False)
     7061    #    G2frame.dataWindow.SequentialFile.Enable(wxID_ORGSEQSEL,False)
    70397062    #-----------------------------------------------------------------------------------
    70407063    # build up the data table by columns -----------------------------------------------
     
    73067329
    73077330    G2frame.dataWindow.ClearData()
    7308     G2frame.dataFrame.currentGrids = []
     7331    G2frame.dataWindow.currentGrids = []
    73097332    G2frame.dataDisplay = G2G.GSGrid(parent=G2frame.dataWindow)
    73107333    G2frame.dataDisplay.SetSize(G2frame.dataWindow.GetSize())
     
    77087731        return
    77097732    oldPage = None # will be set later if already on a Phase item
    7710     if G2frame.dataFrame:
    7711         # save or finish processing of outstanding events
    7712         for grid in G2frame.dataFrame.currentGrids:  # complete any open wx.Grid edits
    7713             #if GSASIIpath.GetConfigValue('debug'): print 'Testing grid edit in',grid
    7714             try:
    7715                 if grid.IsCellEditControlEnabled(): # complete any grid edits in progress
    7716                     if GSASIIpath.GetConfigValue('debug'): print 'Completing grid edit in',grid
    7717                     grid.HideCellEditControl()
    7718                     grid.DisableCellEditControl()
    7719             except:
    7720                 pass
    7721         if G2frame.dataFrame.GetLabel() == 'Comments': # save any recently entered comments
    7722             try:
    7723                 data = [G2frame.dataDisplay.GetValue()]
    7724                 G2frame.dataDisplay.Clear()
    7725                 Id = GetGPXtreeItemId(G2frame,G2frame.root, 'Comments')
    7726                 if Id: G2frame.GPXtree.SetItemPyData(Id,data)
    7727             except:     #clumsy but avoids dead window problem when opening another project
    7728                 pass
    7729         elif G2frame.dataFrame.GetLabel() == 'Notebook': # save any recent notebook entries
    7730             try:
    7731                 data = [G2frame.dataDisplay.GetValue()]
    7732                 G2frame.dataDisplay.Clear()
    7733                 Id = GetGPXtreeItemId(G2frame,G2frame.root, 'Notebook')
    7734                 if Id: G2frame.GPXtree.SetItemPyData(Id,data)
    7735             except:     #clumsy but avoids dead window problem when opening another project
    7736                 pass
    7737         elif 'Phase Data for' in G2frame.dataFrame.GetLabel():
    7738             if G2frame.dataDisplay:
    7739                 oldPage = G2frame.dataDisplay.GetSelection()
    7740         G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'')
     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]+' || '+'')
    77417764       
    77427765    SetDataMenuBar(G2frame)
     
    77457768    parentID = G2frame.root
    77467769    if item == G2frame.root:
     7770        G2frame.dataWindow.ClearData()
    77477771        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()
    77507777        return
    77517778    else:
     7779        # what does this code do? Is it still needed?
    77527780        try:    #don't know why here when opening new project  from inside phase data!
    77537781            parentID = G2frame.GPXtree.GetItemParent(item)
     
    77567784            prfx1 = G2frame.GPXtree.GetItemText(parentID).split()[0]
    77577785            if prfx in ('IMG','PKS','PWDR','SASD','HKLF','PDF','refd',):
    7758                 G2frame.dataFrame.helpKey = prfx
     7786                G2frame.dataWindow.helpKey = prfx
    77597787            elif prfx1 in ('IMG','PKS','PWDR','SASD','HKLF','PDF','REFD',):
    77607788                suffix = G2frame.GPXtree.GetItemText(item)
    77617789                suffix1 = suffix.split()[0]
    77627790                if '(Q)' in suffix1 or '(R)' in suffix1: suffix = suffix1
    7763                 G2frame.dataFrame.helpKey = prfx1 + '_' + suffix
     7791                G2frame.dataWindow.helpKey = prfx1 + '_' + suffix
    77647792            else:
    7765                 G2frame.dataFrame.helpKey = G2frame.GPXtree.GetItemText(item) # save name of calling tree item for help
     7793                G2frame.dataWindow.helpKey = G2frame.GPXtree.GetItemText(item) # save name of calling tree item for help
    77667794        except IndexError:
    77677795            print 'bug: why here?'
    77687796            return
     7797    # clear out the old panel contents
     7798    G2frame.dataWindow.ClearData()
     7799    # process first-level entries in tree
    77697800    if G2frame.GPXtree.GetItemParent(item) == G2frame.root:
    77707801        G2frame.PatternId = 0
     
    77827813            UpdateControls(G2frame,data)
    77837814        elif G2frame.GPXtree.GetItemText(item).startswith('Sequential '):
    7784             G2frame.dataFrame.helpKey = 'Sequential'  # for now all sequential refinements are documented in one place
     7815            G2frame.dataWindow.helpKey = 'Sequential'  # for now all sequential refinements are documented in one place
    77857816            data = G2frame.GPXtree.GetItemPyData(item)
    77867817            UpdateSeqResults(G2frame,data)
     
    78487879                G2plt.PlotISFG(G2frame,data,plotType='G(R)')
    78497880        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           
    78527887    elif G2frame.GPXtree.GetItemText(item) == 'PDF Peaks':
    78537888        G2frame.PatternId = G2frame.GPXtree.GetItemParent(item)
     
    78597894    elif G2frame.GPXtree.GetItemText(item) == 'PDF Controls':
    78607895        for i in G2frame.ExportPDF: i.Enable(True) # this should be done on .gpx load; is done on OnMakePDFs (GSASII.py)
    7861         G2frame.dataFrame.helpKey = G2frame.GPXtree.GetItemText(item) # special treatment to avoid PDF_PDF Controls
     7896        G2frame.dataWindow.helpKey = G2frame.GPXtree.GetItemText(item) # special treatment to avoid PDF_PDF Controls
    78627897        G2frame.PatternId = G2frame.GPXtree.GetItemParent(item)
    78637898        data = G2frame.GPXtree.GetItemPyData(item)
     
    80108045    if G2frame.PickId:
    80118046        G2frame.PickIdText = G2frame.GetTreeItemsList(G2frame.PickId)
     8047    # window has been filled, now resize scroll bars
     8048    G2frame.dataWindow.SetDataSize()
     8049
    80128050    G2frame.Raise()
    80138051    if oldFocus:
    80148052        oldFocus.GetTopLevelParent().Raise()
    80158053        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)
    80168064       
    80178065def SetDataMenuBar(G2frame,menu=None):
  • branch/2frame/GSASIIpwdGUI.py

    r2905 r2906  
    308308    histList = GetHistsLikeSelected(G2frame)
    309309    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)
    311311        return
    312312    sourceData = G2frame.GPXtree.GetItemPyData(G2frame.PatternId)
     
    318318       
    319319    dlg = G2G.G2MultiChoiceDialog(
    320         G2frame.dataFrame,
     320        G2frame,
    321321        'Copy plot controls from\n'+str(hst[5:])+' to...',
    322322        'Copy plot controls', histList)
     
    346346    histList = GetHistsLikeSelected(G2frame)
    347347    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)
    349349        return
    350350    choices = ['Limits','Background','Instrument Parameters','Sample Parameters']
    351351    dlg = G2G.G2MultiChoiceDialog(
    352         G2frame.dataFrame,
     352        G2frame,
    353353        'Copy which histogram sections from\n'+str(hst[5:]),
    354354        'Select copy sections', choices, filterBox=False)
     
    360360   
    361361    dlg = G2G.G2MultiChoiceDialog(
    362         G2frame.dataFrame,
     362        G2frame,
    363363        'Copy parameters from\n'+str(hst[5:])+' to...',
    364364        'Copy parameters', histList)
     
    463463        histList = GetHistsLikeSelected(G2frame)
    464464        if not histList:
    465             G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame.dataFrame)
     465            G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame)
    466466            return
    467467        copyList = []
    468468        dlg = G2G.G2MultiChoiceDialog(
    469             G2frame.dataFrame,
     469            G2frame,
    470470            'Copy peak list from\n'+str(hst[5:])+' to...',
    471471            'Copy peaks', histList)
     
    483483    def OnUnDo(event):
    484484        DoUnDo()
    485         G2frame.dataFrame.UnDo.Enable(False)
     485        G2frame.dataWindow.UnDo.Enable(False)
    486486       
    487487    def DoUnDo():
     
    508508            cPickle.dump(G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId,item)),file,1)
    509509        file.close()
    510         G2frame.dataFrame.UnDo.Enable(True)
     510        G2frame.dataWindow.UnDo.Enable(True)
    511511       
    512512    def OnLSQPeakFit(event):
     
    526526    def OnSeqPeakFit(event):
    527527        histList = G2gd.GetGPXtreeDataNames(G2frame,['PWDR',])
    528         dlg = G2G.G2MultiChoiceDialog(G2frame.dataFrame, 'Sequential peak fits',
     528        dlg = G2G.G2MultiChoiceDialog(G2frame, 'Sequential peak fits',
    529529             'Select dataset to include',histList)
    530530        names = []
     
    546546        CopyForward = False
    547547        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)
    549549        if dlg.ShowModal() == wx.ID_OK:
    550550            for sel in dlg.GetSelections():
     
    738738        refOpts = {reflGrid.GetColLabelValue(i):i+1 for i in range(reflGrid.GetNumberCols()) if reflGrid.GetColLabelValue(i) != "refine"}
    739739        dlg = G2G.G2MultiChoiceDialog(
    740             G2frame.dataFrame,
     740            G2frame,
    741741            'Select columns to refine',
    742742            'Refinement Selection', sorted(refOpts.keys()),
     
    797797            if reflGrid.GetColLabelValue(c) != 'refine': return
    798798            choice = ['Y - vary all','N - vary none',]
    799             dlg = wx.SingleChoiceDialog(G2frame.dataFrame,
     799            dlg = wx.SingleChoiceDialog(G2frame,
    800800                                        'Select refinement option for '+reflGrid.GetColLabelValue(c-1),
    801801                                        'Refinement controls',choice)
     
    818818    G2frame.Bind(wx.EVT_MENU, OnCopyPeaks, id=G2gd.wxID_PEAKSCOPY)
    819819    G2frame.Bind(wx.EVT_MENU, OnUnDo, id=G2gd.wxID_UNDO)
    820     G2frame.Bind(wx.EVT_MENU, OnRefineSelected, id=G2frame.dataFrame.peaksSel.GetId())
    821     G2frame.Bind(wx.EVT_MENU, OnRefineAll, id=G2frame.dataFrame.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())
    822822    G2frame.Bind(wx.EVT_MENU, OnLSQPeakFit, id=G2gd.wxID_LSQPEAKFIT)
    823823    G2frame.Bind(wx.EVT_MENU, OnOneCycle, id=G2gd.wxID_LSQONECYCLE)
     
    870870    G2frame.PeakTable = G2G.Table(data['peaks'],rowLabels=rowLabels,colLabels=colLabels,types=Types)
    871871    G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Peak List')
    872     G2frame.dataFrame.currentGrids = []
     872    G2frame.dataWindow.currentGrids = []
    873873    reflGrid = G2G.GSGrid(parent=G2frame.dataWindow)
    874874    reflGrid.SetTable(G2frame.PeakTable, True)
     
    901901    if 'nPeaks' not in data[1]:
    902902        data[1].update({'nPeaks':0,'peaksList':[]})
    903     G2frame.dataFrame.currentGrids = []
     903    G2frame.dataWindow.currentGrids = []
    904904   
    905905    def OnBackFlagCopy(event):
     
    917917        histList = GetHistsLikeSelected(G2frame)
    918918        if not histList:
    919             G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame.dataFrame)
     919            G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame)
    920920            return
    921921        dlg = G2G.G2MultiChoiceDialog(
    922             G2frame.dataFrame,
     922            G2frame,
    923923            'Copy bkg ref. flags from\n'+str(hst[5:])+' to...',
    924924            'Copy bkg flags', histList)
     
    946946        histList = GetHistsLikeSelected(G2frame)
    947947        if not histList:
    948             G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame.dataFrame)
     948            G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame)
    949949            return
    950950        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...',
    952952            'Copy parameters', histList)
    953953        try:
     
    12351235        topSizer.Add((5,0),0)
    12361236        peaksSizer.Add(topSizer)
    1237         G2frame.dataFrame.currentGrids = []
     1237        G2frame.dataWindow.currentGrids = []
    12381238        if data[1]['nPeaks']:
    12391239            peaksSizer.Add(wx.StaticText(G2frame.dataWindow,-1,' Peak list:'),0,WACV)       
     
    12591259    G2frame.Bind(wx.EVT_MENU,OnPeaksMove,id=G2gd.wxID_PEAKSMOVE)
    12601260    G2frame.Bind(wx.EVT_MENU,OnMakeRDF,id=G2gd.wxID_MAKEBACKRDF)
    1261     G2frame.Bind(wx.EVT_MENU,OnBkgFit,id=G2frame.dataFrame.wxID_BackPts['Fit'])
    1262     G2frame.Bind(wx.EVT_MENU,OnBkgClear,id=G2frame.dataFrame.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'])   
    12631263    BackId = G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Background')
    12641264    Choices = ['chebyschev','cosine','Q^2 power series','Q^-2 power series','lin interpolate','inv interpolate','log interpolate']
     
    12711271    mainSizer.Layout()   
    12721272    G2frame.dataWindow.SetSizer(mainSizer)
    1273     mainSizer.Fit(G2frame.dataFrame)
     1273    mainSizer.Fit(G2frame.dataWindow)
    12741274    G2frame.SetDataSize()
    12751275       
     
    13291329        histList = GetHistsLikeSelected(G2frame)
    13301330        if not histList:
    1331             G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame.dataFrame)
     1331            G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame)
    13321332            return
    13331333        dlg = G2G.G2MultiChoiceDialog(
    1334             G2frame.dataFrame,
     1334            G2frame,
    13351335            'Copy limits from\n'+str(hst[5:])+' to...',
    13361336            'Copy limits', histList)
     
    13541354        mainSizer.Layout()   
    13551355        G2frame.dataWindow.SetSizer(mainSizer)
    1356         mainSizer.Fit(G2frame.dataFrame)
     1356        mainSizer.Fit(G2frame.dataWindow)
    13571357        G2frame.SetDataSize()
    13581358       
    1359     if G2frame.dataWindow:
    1360         G2frame.dataFrame.DestroyChildren()
     1359    #if G2frame.dataWindow:
     1360    #    G2frame.dataWindow.DestroyChildren()
     1361    G2frame.dataWindow.ClearData()
    13611362    G2frame.ifGetExclude = False
    13621363    G2gd.SetDataMenuBar(G2frame,G2frame.dataWindow.LimitMenu)
     
    15011502                    RefreshInstrumentGrid(event,doAnyway=True)          #to get peaks updated
    15021503                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)
    15041505                UpdateInstrumentGrid(G2frame,data)
    15051506                G2plt.PlotPeakWidths(G2frame)
     
    15401541        saveList = []
    15411542        dlg = G2G.G2MultiChoiceDialog(
    1542             G2frame.dataFrame,
     1543            G2frame,
    15431544            'Save instrument parameters from',
    15441545            'Save instrument parameters', histList)
     
    15851586        histList = GetHistsLikeSelected(G2frame)
    15861587        if not histList:
    1587             G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame.dataFrame)
     1588            G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame)
    15881589            return
    15891590        keys = data.keys()
     
    15961597        copyList = []
    15971598        dlg = G2G.G2MultiChoiceDialog(
    1598             G2frame.dataFrame,
     1599            G2frame,
    15991600            'Copy inst ref. flags from\n'+hst[5:],
    16001601            'Copy refinement flags', histList)
     
    16231624        histList = GetHistsLikeSelected(G2frame)
    16241625        if not histList:
    1625             G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame.dataFrame)
     1626            G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame)
    16261627            return
    16271628        copyList = []
    16281629        instType = data['Type'][0]
    16291630        dlg = G2G.G2MultiChoiceDialog(
    1630             G2frame.dataFrame,
     1631            G2frame,
    16311632            'Copy inst params from\n'+hst,
    16321633            'Copy parameters', histList)
     
    16981699    def MakeParameterWindow():
    16991700        'Displays the Instrument parameters in the dataWindow frame'
    1700         G2frame.dataFrame.ClearData()
     1701        G2frame.dataWindow.ClearData()
    17011702        G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Instrument Parameters')
    17021703        mainSizer = wx.BoxSizer(wx.VERTICAL)
     
    21842185        x0,y0,w0 = G2frame.GPXtree.GetItemPyData(G2frame.PatternId)[1][:3]
    21852186        if not histList:
    2186             G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame.dataFrame)
     2187            G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame)
    21872188            return
    21882189        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,
    21902191            'Do scaling from\n'+str(hst[5:])+' to...','Rescale histograms', histList,extraOpts=od)
    21912192        try:
     
    22222223        histList = GetHistsLikeSelected(G2frame)
    22232224        if not histList:
    2224             G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame.dataFrame)
     2225            G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame)
    22252226            return
    2226         dlg = G2G.G2MultiChoiceDialog(G2frame.dataFrame,
     2227        dlg = G2G.G2MultiChoiceDialog(G2frame,
    22272228            'Copy sample params from\n'+str(hst[5:])+' to...',
    22282229            'Copy sample parameters', histList)
     
    22442245        histList = GetHistsLikeSelected(G2frame)
    22452246        if not histList:
    2246             G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame.dataFrame)
     2247            G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame)
    22472248            return
    22482249        # Assemble a list of item labels
     
    22612262        selectedKeys = []
    22622263        dlg = G2G.G2MultiChoiceDialog(
    2263             G2frame.dataFrame,
     2264            G2frame,
    22642265            'Select which sample parameters\nto copy',
    22652266            'Select sample parameters', keyText)
     
    22742275            copyDict[parm] = data[parm]
    22752276        dlg = G2G.G2MultiChoiceDialog(
    2276             G2frame.dataFrame,
     2277            G2frame,
    22772278            'Copy sample params from\n'+str(hst[5:])+' to...',
    22782279            'Copy sample parameters', histList)
     
    22972298        histList = GetHistsLikeSelected(G2frame)
    22982299        if not histList:
    2299             G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame.dataFrame)
     2300            G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame)
    23002301            return
    23012302        dlg = G2G.G2MultiChoiceDialog(
    2302             G2frame.dataFrame,
     2303            G2frame,
    23032304            'Copy sample ref. flags from\n'+str(hst[5:])+' to...',
    23042305            'Copy sample flags', histList)
     
    23742375    G2frame.Bind(wx.EVT_MENU, OnRescaleAll, id=G2gd.wxID_RESCALEALL)
    23752376    if histName[:4] in ['SASD','REFD','PWDR']:
    2376         G2frame.dataFrame.SetScale.Enable(True)
     2377        G2frame.dataWindow.SetScale.Enable(True)
    23772378    Controls = G2frame.GPXtree.GetItemPyData(
    23782379        G2gd.GetGPXtreeItemId(G2frame,G2frame.root, 'Controls'))
     
    27902791    def OnSpcSel(event):
    27912792        controls[13] = spcSel.GetString(spcSel.GetSelection())
    2792         G2frame.dataFrame.RefineCell.Enable(True)
     2793        G2frame.dataWindow.RefineCell.Enable(True)
    27932794        OnHklShow(event)
    27942795       
     
    29362937        controls[13] = spaceGroups[bravaisSymb.index(controls[5])]
    29372938        G2frame.GPXtree.SetItemPyData(UnitCellsId,[controls,bravais,cells,dmin,ssopt])
    2938         G2frame.dataFrame.RefineCell.Enable(True)
     2939        G2frame.dataWindow.RefineCell.Enable(True)
    29392940        wx.CallAfter(UpdateUnitCellsGrid,G2frame,data)       
    29402941               
     
    30523053            G2frame.ErrorDialog('Error','You need to reload Index Peaks List first')
    30533054            return
    3054         G2frame.dataFrame.CopyCell.Enable(False)
    3055         G2frame.dataFrame.RefineCell.Enable(False)
     3055        G2frame.dataWindow.CopyCell.Enable(False)
     3056        G2frame.dataWindow.RefineCell.Enable(False)
    30563057        dlg = wx.ProgressDialog("Generated reflections",'0 '+" cell search for "+bravaisNames[ibrav],101,
    30573058#            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
     
    30793080                else:
    30803081                    G2plt.PlotPatterns(G2frame)
    3081             G2frame.dataFrame.CopyCell.Enable(True)
    3082             G2frame.dataFrame.IndexPeaks.Enable(True)
    3083             G2frame.dataFrame.MakeNewPhase.Enable(True)
     3082            G2frame.dataWindow.CopyCell.Enable(True)
     3083            G2frame.dataWindow.IndexPeaks.Enable(True)
     3084            G2frame.dataWindow.MakeNewPhase.Enable(True)
    30843085            G2frame.ifX20 = True
    30853086            wx.CallAfter(UpdateUnitCellsGrid,G2frame,data)
     
    31693170        [True,True,True,False,True,True,True],[0,1,2,0,3,4,5])]]
    31703171   
    3171     G2frame.dataFrame.IndexPeaks.Enable(False)
     3172    G2frame.dataWindow.IndexPeaks.Enable(False)
    31723173    peaks = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Index Peak List'))
    31733174    if peaks:
    3174         G2frame.dataFrame.IndexPeaks.Enable(True)
    3175     G2frame.dataFrame.RefineCell.Enable(False)
     3175        G2frame.dataWindow.IndexPeaks.Enable(True)
     3176    G2frame.dataWindow.RefineCell.Enable(False)
    31763177    if controls[12] > 1.0:                               #if a "real" volume (i.e. not default)
    3177         G2frame.dataFrame.RefineCell.Enable(True)   
    3178     G2frame.dataFrame.CopyCell.Enable(False)
    3179     G2frame.dataFrame.MakeNewPhase.Enable(False)       
    3180     G2frame.dataFrame.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)
    31813182    if cells:
    3182         G2frame.dataFrame.CopyCell.Enable(True)
    3183         G2frame.dataFrame.MakeNewPhase.Enable(True)
    3184         G2frame.dataFrame.ExportCells.Enable(True)
     3183        G2frame.dataWindow.CopyCell.Enable(True)
     3184        G2frame.dataWindow.MakeNewPhase.Enable(True)
     3185        G2frame.dataWindow.ExportCells.Enable(True)
    31853186    mainSizer = wx.BoxSizer(wx.VERTICAL)
    31863187    mainSizer.Add(wx.StaticText(parent=G2frame.dataWindow,label=' Indexing controls: '),0,WACV)
     
    33253326        mainSizer.Add(ssSizer,0)
    33263327
    3327     G2frame.dataFrame.currentGrids = []
     3328    G2frame.dataWindow.currentGrids = []
    33283329    if cells:
    33293330        mainSizer.Add(wx.StaticText(parent=G2frame.dataWindow,label='\n Indexing Result:'),0,WACV)
     
    33473348        gridDisplay = G2G.GSGrid(G2frame.dataWindow)
    33483349        gridDisplay.SetTable(UnitCellsTable, True)
    3349         G2frame.dataFrame.CopyCell.Enable(True)
     3350        G2frame.dataWindow.CopyCell.Enable(True)
    33503351        gridDisplay.Bind(wg.EVT_GRID_CELL_LEFT_CLICK,RefreshUnitCellsGrid)
    33513352        gridDisplay.Bind(wg.EVT_GRID_LABEL_LEFT_DCLICK,OnSortCells)
     
    33623363    mainSizer.Layout()   
    33633364    G2frame.dataWindow.SetSizer(mainSizer)
    3364     mainSizer.Fit(G2frame.dataFrame)
     3365    mainSizer.Fit(G2frame.dataWindow)
    33653366    G2frame.SetDataSize()
    33663367   
     
    34563457        else:
    34573458            if len(data) > 1:
    3458                 G2frame.dataFrame.SelectPhase.Enable(True)
     3459                G2frame.dataWindow.SelectPhase.Enable(True)
    34593460            try:            #patch for old reflection lists
    34603461                if not len(data[phaseName]):
     
    35923593        phaseName = G2frame.RefList
    35933594        phases = data.keys()
    3594     G2frame.dataFrame.ClearData()
     3595    G2frame.dataWindow.ClearData()
    35953596    Inst = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))[0]
    35963597    G2gd.SetDataMenuBar(G2frame,G2frame.dataWindow.ReflMenu)
     
    37113712        histList = GetHistsLikeSelected(G2frame)
    37123713        if not histList:
    3713             G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame.dataFrame)
     3714            G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame)
    37143715            return
    37153716        copyList = []
    37163717        dlg = G2G.G2MultiChoiceDialog(
    3717             G2frame.dataFrame,
     3718            G2frame,
    37183719            'Copy substances from\n'+hst[5:]+' to...',
    37193720            'Copy substances', histList)
     
    39633964    G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Substances')
    39643965    G2frame.dataWindow.ClearData()
    3965     G2frame.dataFrame.Bind(wx.EVT_MENU, OnLoadSubstance, id=G2gd.wxID_LOADSUBSTANCE)   
    3966     G2frame.dataFrame.Bind(wx.EVT_MENU, OnReloadSubstances, id=G2gd.wxID_RELOADSUBSTANCES)   
    3967     G2frame.dataFrame.Bind(wx.EVT_MENU, OnAddSubstance, id=G2gd.wxID_ADDSUBSTANCE)
    3968     G2frame.dataFrame.Bind(wx.EVT_MENU, OnCopySubstance, id=G2gd.wxID_COPYSUBSTANCE)
    3969     G2frame.dataFrame.Bind(wx.EVT_MENU, OnDeleteSubstance, id=G2gd.wxID_DELETESUBSTANCE)   
    3970     G2frame.dataFrame.Bind(wx.EVT_MENU, OnAddElement, id=G2gd.wxID_ELEMENTADD)
    3971     G2frame.dataFrame.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)
    39723973    mainSizer = wx.BoxSizer(wx.VERTICAL)
    39733974    mainSizer.Add(SubstSizer(),0)
     
    39763977    G2frame.dataWindow.SetSizer(mainSizer)
    39773978    G2frame.dataWindow.SetAutoLayout(1)
    3978     mainSizer.Fit(G2frame.dataFrame)
     3979    mainSizer.Fit(G2frame.dataWindow)
    39793980    G2frame.SetDataSize()
    39803981       
     
    40404041        histList = GetHistsLikeSelected(G2frame)
    40414042        if not histList:
    4042             G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame.dataFrame)
     4043            G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame)
    40434044            return
    40444045        copyList = []
    40454046        dlg = G2G.G2MultiChoiceDialog(
    4046             G2frame.dataFrame,
     4047            G2frame,
    40474048            'Copy models from\n'+hst[5:]+' to...',
    40484049            'Copy models', histList)
     
    40714072        histList = GetHistsLikeSelected(G2frame)
    40724073        if not histList:
    4073             G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame.dataFrame)
     4074            G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame)
    40744075            return
    40754076        dlg = G2G.G2MultiChoiceDialog(
    4076             G2frame.dataFrame,
     4077            G2frame,
    40774078            'Copy sample ref. flags from\n'+str(hst[5:])+' to...',
    40784079            'Copy sample flags', histList)
     
    41064107    def OnFitModelAll(event):
    41074108        choices = G2gd.GetGPXtreeDataNames(G2frame,['SASD',])
    4108         dlg = G2G.G2MultiChoiceDialog(G2frame.dataFrame, 'Sequential SASD refinement',
     4109        dlg = G2G.G2MultiChoiceDialog(G2frame, 'Sequential SASD refinement',
    41094110             'Select dataset to include',choices)
    41104111        names = []
     
    41274128        CopyForward = False
    41284129        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)
    41304131        if dlg.ShowModal() == wx.ID_OK:
    41314132            for sel in dlg.GetSelections():
     
    42034204        data = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,
    42044205            G2frame.PatternId,'Models'))
    4205         G2frame.dataFrame.SasdUndo.Enable(False)
     4206        G2frame.dataWindow.SasdUndo.Enable(False)
    42064207        UpdateModelsGrid(G2frame,data)
    42074208        G2sasd.ModelFxn(Profile,ProfDict,Limits,Sample,data)
     
    42234224            cPickle.dump(G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId,item)),file,1)
    42244225        file.close()
    4225         G2frame.dataFrame.SasdUndo.Enable(True)
     4226        G2frame.dataWindow.SasdUndo.Enable(True)
    42264227       
    42274228    def OnSelectFit(event):
     
    46284629    G2frame.dataWindow.ClearData()
    46294630    G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Modelling')
    4630     G2frame.dataFrame.Bind(wx.EVT_MENU, OnCopyModel, id=G2gd.wxID_MODELCOPY)
    4631     G2frame.dataFrame.Bind(wx.EVT_MENU, OnCopyFlags, id=G2gd.wxID_MODELCOPYFLAGS)
    4632     G2frame.dataFrame.Bind(wx.EVT_MENU, OnFitModel, id=G2gd.wxID_MODELFIT)
    4633     G2frame.dataFrame.Bind(wx.EVT_MENU, OnFitModelAll, id=G2gd.wxID_MODELFITALL)
    4634     G2frame.dataFrame.Bind(wx.EVT_MENU, OnUnDo, id=G2gd.wxID_MODELUNDO)
    4635     G2frame.dataFrame.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)
    46364637    Indx = {}
    46374638    mainSizer = wx.BoxSizer(wx.VERTICAL)
     
    46824683    G2frame.dataWindow.SetSizer(mainSizer)
    46834684    G2frame.dataWindow.SetAutoLayout(1)
    4684     mainSizer.Fit(G2frame.dataFrame)
     4685    mainSizer.Fit(G2frame.dataWindow)
    46854686    G2frame.SetDataSize()
    46864687   
     
    46964697        histList = GetHistsLikeSelected(G2frame)
    46974698        if not histList:
    4698             G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame.dataFrame)
     4699            G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame)
    46994700            return
    47004701        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...',
    47024703            'Copy parameters', histList)
    47034704        try:
     
    47274728#        histList += GetHistsLikeSelected(G2frame)
    47284729        if not histList:
    4729             G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame.dataFrame)
     4730            G2frame.ErrorDialog('No match','No histograms match '+hst,G2frame)
    47304731            return
    47314732        plotList = []
    47324733        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:',
    47344735            'Plot SLD models', histList,extraOpts=od)
    47354736        try:
     
    47694770    def OnFitModelAll(event):
    47704771        choices = G2gd.GetGPXtreeDataNames(G2frame,['REFD',])
    4771         dlg = G2G.G2MultiChoiceDialog(G2frame.dataFrame, 'Sequential REFD refinement',
     4772        dlg = G2G.G2MultiChoiceDialog(G2frame, 'Sequential REFD refinement',
    47724773             'Select dataset to include',choices)
    47734774        names = []
     
    47904791        CopyForward = False
    47914792        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)
    47934794        if dlg.ShowModal() == wx.ID_OK:
    47944795            for sel in dlg.GetSelections():
     
    48594860        data = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,
    48604861            G2frame.PatternId,'Models'))
    4861         G2frame.dataFrame.REFDUndo.Enable(False)
     4862        G2frame.dataWindow.REFDUndo.Enable(False)
    48624863        G2pwd.REFDModelFxn(Profile,Inst,Limits,Substances,data)
    48634864        x,xr,y = G2pwd.makeSLDprofile(data,Substances)
     
    48804881        cPickle.dump(G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId,'Models')),file,1)
    48814882        file.close()
    4882         G2frame.dataFrame.REFDUndo.Enable(True)
     4883        G2frame.dataWindow.REFDUndo.Enable(True)
    48834884   
    48844885    def ControlSizer():
     
    52185219    G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Modelling')
    52195220    G2frame.dataWindow.ClearData()
    5220     G2frame.dataFrame.Bind(wx.EVT_MENU, OnCopyModel, id=G2gd.wxID_MODELCOPY)
    5221     G2frame.dataFrame.Bind(wx.EVT_MENU, OnModelPlot, id=G2gd.wxID_MODELPLOT)
    5222     G2frame.dataFrame.Bind(wx.EVT_MENU, OnFitModel, id=G2gd.wxID_MODELFIT)
    5223     G2frame.dataFrame.Bind(wx.EVT_MENU, OnFitModelAll, id=G2gd.wxID_MODELFITALL)
    5224     G2frame.dataFrame.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)
    52255226    mainSizer = wx.BoxSizer(wx.VERTICAL)
    52265227   
     
    52545255    G2frame.dataWindow.SetSizer(mainSizer)
    52555256    G2frame.dataWindow.SetAutoLayout(1)
    5256     mainSizer.FitInside(G2frame.dataFrame)
     5257    mainSizer.FitInside(G2frame.dataWindow)
    52575258    G2frame.SetDataSize()   
    52585259   
     
    59275928            return
    59285929        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',
    59305931            choices,extraOpts=od)
    59315932        try:
     
    60226023        if 'diffMult' not in data:
    60236024            data['diffMult'] = 1.0
    6024     G2frame.dataFrame.ClearData()
     6025    G2frame.dataWindow.ClearData()
    60256026    G2gd.SetDataMenuBar(G2frame,G2frame.dataWindow.PDFMenu)
    60266027    if powId:
    6027         G2frame.dataFrame.PDFMenu.EnableTop(0,enable=True)
     6028        G2frame.dataWindow.PDFMenu.EnableTop(0,enable=True)
    60286029    else:
    6029         G2frame.dataFrame.PDFMenu.EnableTop(0,enable=False)
    6030     G2frame.dataFrame.Bind(wx.EVT_MENU, OnCopyPDFControls, id=G2gd.wxID_PDFCOPYCONTROLS)
    6031     G2frame.dataFrame.Bind(wx.EVT_MENU, OnSavePDFControls, id=G2gd.wxID_PDFSAVECONTROLS)
    6032     G2frame.dataFrame.Bind(wx.EVT_MENU, OnLoadPDFControls, id=G2gd.wxID_PDFLOADCONTROLS)
    6033     G2frame.dataFrame.Bind(wx.EVT_MENU, OnAddElement, id=G2gd.wxID_PDFADDELEMENT)
    6034     G2frame.dataFrame.Bind(wx.EVT_MENU, OnDeleteElement, id=G2gd.wxID_PDFDELELEMENT)
    6035     G2frame.dataFrame.Bind(wx.EVT_MENU, OnComputePDF, id=G2gd.wxID_PDFCOMPUTE)
    6036     G2frame.dataFrame.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)
    60376038
    60386039    mainSizer = wx.BoxSizer(wx.VERTICAL)
     
    60486049    mainSizer.Layout()   
    60496050    G2frame.dataWindow.SetSizer(mainSizer)
    6050     mainSizer.Fit(G2frame.dataFrame)
     6051    mainSizer.Fit(G2frame.dataWindow)
    60516052    G2frame.SetDataSize()
    60526053
     
    62146215        wx.CallAfter(UpdatePDFPeaks,G2frame,peaks,data)
    62156216
    6216     G2frame.dataFrame.ClearData()
     6217    G2frame.dataWindow.ClearData()
    62176218    G2gd.SetDataMenuBar(G2frame,G2frame.dataWindow.PDFPksMenu)
    6218     G2frame.dataFrame.Bind(wx.EVT_MENU, OnCopyPDFPeaks, id=G2gd.wxID_PDFCOPYPEAKS)
    6219     G2frame.dataFrame.Bind(wx.EVT_MENU, OnFitPDFpeaks, id=G2gd.wxID_PDFPKSFIT)
    6220     G2frame.dataFrame.Bind(wx.EVT_MENU, OnFitAllPDFpeaks, id=G2gd.wxID_PDFPKSFITALL)
    6221     G2frame.dataFrame.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)
    62226223    mainSizer = wx.BoxSizer(wx.VERTICAL)
    62236224    mainSizer.Add((5,5),0)
     
    62326233    mainSizer.Layout()   
    62336234    G2frame.dataWindow.SetSizer(mainSizer)
    6234     mainSizer.Fit(G2frame.dataFrame)
     6235    mainSizer.Fit(G2frame.dataWindow)
    62356236    G2frame.SetDataSize()
    62366237   
Note: See TracChangeset for help on using the changeset viewer.