- Timestamp:
- Jul 4, 2017 6:19:31 PM (6 years ago)
- Location:
- branch/2frame
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branch/2frame/GSASIIIO.py
r2905 r2907 1222 1222 1223 1223 This class is subclassed in the various exports/G2export_*.py files. Those files 1224 are imported in :meth:`GSASII .GSASII._init_Exports` which defines the1224 are imported in :meth:`GSASIIdataGUI.GSASII._init_Exports` which defines the 1225 1225 appropriate menu items for each one and the .Exporter method is called 1226 1226 directly from the menu item. … … 2124 2124 2125 2125 if __name__ == '__main__': 2126 import GSASII 2127 application = GSASII .GSASIImain(0)2126 import GSASIIdataGUI 2127 application = GSASIIdataGUI.GSASIImain(0) 2128 2128 G2frame = application.main 2129 2129 #app = wx.PySimpleApp() -
branch/2frame/GSASIIctrlGUI.py
r2905 r2907 53 53 they were retrieved from. 54 54 ''' 55 #def SelectItem(self,event): 56 # print 'Select Item' 57 # import GSASIIobj as G2obj 58 # G2obj.HowDidIgetHere() 59 # wx.TreeCtrl.SelectItem(self,event) 60 55 61 def __init__(self,parent=None,*args,**kwargs): 56 62 super(self.__class__,self).__init__(parent=parent,*args,**kwargs) -
branch/2frame/GSASIIdataGUI.py
r2906 r2907 334 334 self.EndModal(wx.ID_CANCEL) 335 335 336 # class GSASIIsplit(wx.SplitterWindow):337 # def __init__(self,parent,ID):338 # wx.SplitterWindow.__init__(self, parent, ID,style = wx.SP_BORDER|wx.SP_LIVE_UPDATE)339 # self.Bind(wx.EVT_SPLITTER_SASH_POS_CHANGED, self.OnSashChanged)340 # self.Bind(wx.EVT_SPLITTER_SASH_POS_CHANGING, self.OnSashChanging)341 342 # def OnSashChanged(self, evt):343 # evt.Skip()344 # # print "sash changed to %s\n" % str(evt.GetSashPosition())345 346 # def OnSashChanging(self, evt):347 # evt.Skip()348 # # print "sash changing to %s\n" % str(evt.GetSashPosition())349 350 336 def GUIpatches(): 351 337 'Misc fixes that only needs to be done when running a GUI' … … 2950 2936 self.FillMainMenu(self.GSASIIMenu) 2951 2937 self.SetMenuBar(self.GSASIIMenu) 2952 #self.Bind(wx.EVT_SIZE, self.OnSize)2953 2938 self.Status = self.CreateStatusBar() 2954 #self.mainPanel = GSASIIsplit(self,-1) 2955 self.mainPanel = wx.SplitterWindow(self, wx.ID_ANY, style=wx.SP_BORDER|wx.SP_LIVE_UPDATE) 2939 # Bob: note different ways to display the SplitterWindow. I like the 3d effect on the Mac 2940 # as it makes the splitter bar a bit easier to "grab" -- this might need to be platform selected. 2941 #self.mainPanel = wx.SplitterWindow(self, wx.ID_ANY, style=wx.SP_BORDER|wx.SP_LIVE_UPDATE) 2942 #self.mainPanel = wx.SplitterWindow(self, wx.ID_ANY, style=wx.SP_BORDER|wx.SP_LIVE_UPDATE|wx.SP_3DSASH) 2943 self.mainPanel = wx.SplitterWindow(self, wx.ID_ANY, style=wx.SP_LIVE_UPDATE|wx.SP_3D) 2956 2944 self.mainPanel.SetMinimumPaneSize(100) 2957 2945 self.treePanel = wx.Panel(self.mainPanel, wx.ID_ANY, 2958 2946 style = wx.TAB_TRAVERSAL|wx.SUNKEN_BORDER) 2959 #self.dataPanel = wx.Panel(self.mainPanel, wx.ID_ANY,2960 # style = wx.TAB_TRAVERSAL|wx.SUNKEN_BORDER)2961 #self.mainPanel.SplitVertically(self.treePanel, self.dataPanel, 200)2962 2947 2963 2948 self.dataWindow = G2DataWindow(self.mainPanel) 2964 #self.dataWindow = wxscroll.ScrolledPanel(self.mainPanel,style=wx.BORDER_SUNKEN)2965 2949 dataSizer = wx.BoxSizer(wx.VERTICAL) 2966 2950 self.dataWindow.SetSizer(dataSizer) … … 2998 2982 #FillWindow(self.dataWindow) 2999 2983 3000 #self.dataWindow = G2DataWindow(self.dataPanel)3001 #self.dataWindow.SetSize(self.dataPanel.GetClientSize())3002 #self.dataWindow.SetInitialSize()3003 2984 self.dataWindow.SetupScrolling() 3004 2985 self.dataFrame = self.dataWindow #kluge!! 3005 # self.SetDataSize()3006 3007 2986 3008 2987 plotFrame = wx.Frame(None,-1,'GSASII Plots',size=wx.Size(700,600), \ … … 3155 3134 def OnGPXtreeItemExpanded(self, event): 3156 3135 'Called when a tree item is expanded' 3157 self.OnDataTreeSelChanged(event)3136 #self.OnDataTreeSelChanged(event) # removed -- why select & show a tree item when expanding it? BHT 3158 3137 event.Skip() 3159 3138 … … 3910 3889 import traceback 3911 3890 print traceback.format_exc() 3912 3891 3913 3892 def StartProject(self): 3914 3893 '''Opens a GSAS-II project file & selects the 1st available data set to … … 5747 5726 '''Initializes the contents of the dataWindow panel 5748 5727 ''' 5749 self.SetBackgroundColour(wx.WHITE) 5728 #self.SetBackgroundColour(wx.WHITE) # BHT: I prefer a gray background. Makes TextCtrls stand out 5729 self.SetBackgroundColour(wx.Colour(248,248,248)) # BHT: I prefer a gray background. Makes TextCtrls stand out, but 5730 # a bit lighter than the splitter bar 5731 5750 5732 Sizer = self.GetSizer() 5751 5733 if Sizer: … … 5754 5736 print 'No sizer in dataWindow' 5755 5737 if GSASIIpath.GetConfigValue('debug'): raise Exception 5756 #self.SetSize(self.GetParent().GetSize())5757 #self.SetAutoLayout(True)5758 #self.SetupScrolling()5759 5738 5760 5739 def SetDataSize(self): 5761 5740 '''Sizes the contents of the dataWindow panel 5762 5741 ''' 5763 self.SetBackgroundColour(wx.WHITE)5764 5742 Sizer = self.GetSizer() 5765 if Sizer: 5766 Sizer.Fit(self) 5767 else: 5743 if GSASIIpath.GetConfigValue('debug') and not Sizer: 5768 5744 print 'No sizer in dataWindow' 5769 if GSASIIpath.GetConfigValue('debug'):raise Exception5745 raise Exception 5770 5746 self.Layout() 5771 5747 self.SendSizeEvent() 5772 #self.SetSize(self.GetParent().GetSize())5773 #self.SetAutoLayout(True)5774 #self.SetupScrolling()5775 5776 5748 5777 5749 #TODO - remove … … 5850 5822 5851 5823 G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Notebook') 5852 G2frame.dataWindow.ClearData() 5853 G2frame.dataWindow.SetupScrolling() 5854 mainSizer = wx.BoxSizer() 5855 text = wx.TextCtrl(parent=G2frame.dataWindow,size=G2frame.dataWindow.GetSize(), 5856 style=wx.TE_MULTILINE|wx.TE_PROCESS_ENTER | wx.TE_DONTWRAP) 5824 text = wx.TextCtrl(G2frame.dataWindow,wx.ID_ANY, 5825 style=wx.TE_MULTILINE|wx.TE_PROCESS_ENTER | wx.TE_DONTWRAP) 5857 5826 text.Bind(wx.EVT_TEXT_ENTER,OnNoteBook) 5858 5827 text.Bind(wx.EVT_KILL_FOCUS,OnNoteBook) … … 5860 5829 text.AppendText(line+"\n") 5861 5830 text.AppendText('Notebook entry @ '+time.ctime()+"\n") 5862 mainSizer.Add(text,1,wx.EXPAND) 5863 G2frame.dataWindow.SetAutoLayout(True) 5864 G2frame.dataWindow.Layout() 5865 G2frame.dataWindow.SetSizer(mainSizer) 5866 5867 # G2frame.SetDataSize() 5831 G2frame.dataWindow.GetSizer().Add(wx.StaticText(G2frame.dataWindow,-1,' Add notes on project here: '),0,WACV) 5832 G2frame.dataWindow.GetSizer().Add(text,1,wx.ALL|wx.EXPAND) 5868 5833 5869 5834 ################################################################################ … … 5874 5839 5875 5840 G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Comments') 5876 G2frame.dataWindow.ClearData() 5877 # G2frame.dataWindow.SetupScrolling() 5878 text = wx.TextCtrl(parent=G2frame.dataWindow,size=G2frame.dataWindow.GetSize(), 5879 style=wx.TE_MULTILINE|wx.TE_READONLY|wx.TE_DONTWRAP) 5841 lines = "" 5880 5842 for line in data: 5881 if '\n' not in line: 5882 text.AppendText(line+'\n') 5883 else: 5884 text.AppendText(line) 5885 mainSizer = wx.BoxSizer() 5886 mainSizer.Add(text,1,wx.EXPAND) 5887 G2frame.dataWindow.SetAutoLayout(True) 5888 G2frame.dataWindow.Layout() 5889 G2frame.dataWindow.SetSizer(mainSizer) 5890 # G2frame.SetDataSize() 5843 lines += line.rstrip()+'\n' 5844 text = wx.StaticText(G2frame.dataWindow,wx.ID_ANY,lines) 5845 G2frame.dataWindow.GetSizer().Add(text,1,wx.ALL|wx.EXPAND) 5846 5891 5847 5892 5848 ################################################################################ … … 7588 7544 7589 7545 G2frame.dataWindow.ClearData() 7590 mainSizer = wx.BoxSizer(wx.VERTICAL)7546 mainSizer = G2frame.dataWindow.GetSizer() 7591 7547 mainSizer.Add((5,5),) 7592 7548 wtSizer = wx.BoxSizer(wx.HORIZONTAL) … … 7643 7599 (data[0][pfx+'Rf^2'],data[0][pfx+'Rf'],data[0][value]))) 7644 7600 7645 mainSizer.Add((5,5),)7646 mainSizer.Layout()7647 G2frame.dataWindow.SetSizer(mainSizer)7648 mainSizer.Fit(G2frame.dataWindow)7649 G2frame.SetDataSize()7650 7651 7601 G2frame.GPXtree.SetItemPyData(item,data) 7652 7602 G2frame.PatternId = item … … 7722 7672 7723 7673 def SelectDataTreeItem(G2frame,item,oldFocus=None): 7724 '''Called from :meth:`GSASII .GSASII.OnDataTreeSelChanged` when a item is selected on the tree.7674 '''Called from :meth:`GSASIIdataGUI.GSASII.OnDataTreeSelChanged` when a item is selected on the tree. 7725 7675 Also called from GSASII.OnGPXtreeEndDrag, OnAddPhase -- might be better to select item, triggering 7726 7676 the the bind to SelectDataTreeItem … … 7771 7721 G2frame.helpKey = "Data tree" 7772 7722 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 ) 7723 wx.StaticText(G2frame.dataWindow, wx.ID_ANY, 7724 'Select an item from the tree to see/edit parameters')) 7776 7725 G2frame.dataWindow.SetDataSize() 7777 7726 return 7778 7727 else: 7779 # what does this code do? Is it still needed?7780 try: #don't know why here when opening new project from inside phase data!7728 # Set up the help entry for the current selected tree item 7729 try: #don't know why we get here when opening new project 7781 7730 parentID = G2frame.GPXtree.GetItemParent(item) 7782 7731 # save name of calling tree item for help. N.B. may want to override this later 7783 prfx = G2frame.GPXtree.GetItemText(item).split()[0] 7732 prfx = G2frame.GPXtree.GetItemText(item).split()[0].upper() 7784 7733 prfx1 = G2frame.GPXtree.GetItemText(parentID).split()[0] 7785 if prfx in ('IMG','PKS','PWDR','SASD','HKLF','PDF',' refd',):7734 if prfx in ('IMG','PKS','PWDR','SASD','HKLF','PDF','REFD',): 7786 7735 G2frame.dataWindow.helpKey = prfx 7736 elif prfx1 == 'Phases': 7737 G2frame.dataWindow.helpKey = 'Phases' 7787 7738 elif prfx1 in ('IMG','PKS','PWDR','SASD','HKLF','PDF','REFD',): 7788 7739 suffix = G2frame.GPXtree.GetItemText(item) … … 7793 7744 G2frame.dataWindow.helpKey = G2frame.GPXtree.GetItemText(item) # save name of calling tree item for help 7794 7745 except IndexError: 7795 print 'bug: why here?' 7796 return 7746 G2frame.dataWindow.helpKey = '' 7747 if GSASIIpath.GetConfigValue('debug'): 7748 print 'bug: why here?' 7749 G2obj.HowDidIgetHere() 7750 7797 7751 # clear out the old panel contents 7798 7752 G2frame.dataWindow.ClearData() … … 7822 7776 Nvars = len(data['varyList']) 7823 7777 Rvals = data['Rvals'] 7824 text = '\nFinal residuals: \nwR = %.3f%% \nchi**2 = %.1f \nGOF = %.2f ' \ 7825 %(Rvals['Rwp'],Rvals['chisq'],Rvals['GOF']) 7826 text += '\nNobs = %d \nNvals = %d \nSVD zeros = %d'%(Rvals['Nobs'],Nvars,Rvals.get('SVD0',0.)) 7778 text = ('Residuals after last refinement:\n'+ 7779 '\twR = {:.3f}\n\tchi**2 = {:.1f}\n\tGOF = {:.2f}').format( 7780 Rvals['Rwp'],Rvals['chisq'],Rvals['GOF']) 7781 text += '\n\tNobs = {}\n\tNvals = {}\n\tSVD zeros = {}'.format( 7782 Rvals['Nobs'],Nvars,Rvals.get('SVD0',0.)) 7827 7783 if 'lamMax' in Rvals: 7828 text += '\n log10 MaxLambda = %.1f'%(np.log10(Rvals['lamMax']))7829 G2frame.dataWindow.ClearData()7830 wx.TextCtrl(parent=G2frame.dataWindow,size=G2frame.dataWindow.GetSize(),7831 value='See plot window for covariance display'+text,style=wx.TE_MULTILINE)7784 text += '\n\tlog10 MaxLambda = {:.1f}'.format(np.log10(Rvals['lamMax'])) 7785 G2frame.dataWindow.GetSizer().Add( 7786 wx.StaticText(G2frame.dataWindow,wx.ID_ANY,text) 7787 ) 7832 7788 G2plt.PlotCovariance(G2frame,data) 7833 7789 elif G2frame.GPXtree.GetItemText(item) == 'Constraints': -
branch/2frame/GSASIIobj.py
r2905 r2907 469 469 diffraction data for that information are directly associated with 470 470 that tree item and there are a series of children to that item. The 471 routines :func:`GSASII .GSASII.GetUsedHistogramsAndPhasesfromTree`471 routines :func:`GSASIIdataGUI.GSASII.GetUsedHistogramsAndPhasesfromTree` 472 472 and :func:`GSASIIstrIO.GetUsedHistogramsAndPhases` will 473 473 load this information into a dictionary where the child tree name is … … 632 632 diffraction data for that information are directly associated with 633 633 that tree item and there are a series of children to that item. The 634 routines :func:`GSASII .GSASII.GetUsedHistogramsAndPhasesfromTree`634 routines :func:`GSASIIdataGUI.GSASII.GetUsedHistogramsAndPhasesfromTree` 635 635 and :func:`GSASIIstrIO.GetUsedHistogramsAndPhases` will 636 636 load this information into a dictionary where the child tree name is … … 719 719 with a top-level entry named beginning with the string "IMG ". The 720 720 image data are directly associated with that tree item and there 721 are a series of children to that item. The routines :func:`GSASII .GSASII.GetUsedHistogramsAndPhasesfromTree`721 are a series of children to that item. The routines :func:`GSASIIdataGUI.GSASII.GetUsedHistogramsAndPhasesfromTree` 722 722 and :func:`GSASIIstrIO.GetUsedHistogramsAndPhases` will 723 723 load this information into a dictionary where the child tree name is … … 845 845 The dictionary keys are the name of the parameter (<phase>:<hist>:<name>:<atom>). 846 846 It is prepared in two ways. When loaded from the tree 847 (in :meth:`GSASII .GSASII.MakeLSParmDict` and847 (in :meth:`GSASIIdataGUI.GSASII.MakeLSParmDict` and 848 848 :meth:`GSASIIIO.ExportBaseclass.loadParmDict`), 849 849 the values are lists with two elements: ``[value, refine flag]`` … … 1093 1093 This is called in three places (only): :func:`GSASIIstrIO.GetUsedHistogramsAndPhases` 1094 1094 (which loads the histograms and phases from a GPX file), 1095 :meth:`~GSASII .GSASII.GetUsedHistogramsAndPhasesfromTree`1095 :meth:`~GSASIIdataGUI.GSASII.GetUsedHistogramsAndPhasesfromTree` 1096 1096 (which loads the histograms and phases from the data tree.) and 1097 1097 :meth:`GSASIIconstrGUI.UpdateConstraints` … … 1887 1887 1888 1888 Objects constructed that subclass this (in import/G2phase_*.py etc.) will be used 1889 in :meth:`GSASII .GSASII.OnImportPhase`.1889 in :meth:`GSASIIdataGUI.GSASII.OnImportPhase`. 1890 1890 See :ref:`Writing a Import Routine<Import_Routines>` 1891 1891 for an explanation on how to use this class. … … 1905 1905 of structure factors. 1906 1906 1907 Structure factors are read with a call to :meth:`GSASII .GSASII.OnImportSfact`1908 which in turn calls :meth:`GSASII .GSASII.OnImportGeneric`, which calls1907 Structure factors are read with a call to :meth:`GSASIIdataGUI.GSASII.OnImportSfact` 1908 which in turn calls :meth:`GSASIIdataGUI.GSASII.OnImportGeneric`, which calls 1909 1909 methods :meth:`ExtensionValidator`, :meth:`ContentsValidator` and 1910 1910 :meth:`Reader`. … … 1965 1965 1966 1966 Objects constructed that subclass this (in import/G2pwd_*.py etc.) will be used 1967 in :meth:`GSASII .GSASII.OnImportPowder`.1967 in :meth:`GSASIIdataGUI.GSASII.OnImportPowder`. 1968 1968 See :ref:`Writing a Import Routine<Import_Routines>` 1969 1969 for an explanation on how to use this class. … … 2106 2106 2107 2107 * Initial reading is typically done from a menu item 2108 with a call to :meth:`GSASII .GSASII.OnImportImage`2109 which in turn calls :meth:`GSASII .GSASII.OnImportGeneric`. That calls2108 with a call to :meth:`GSASIIdataGUI.GSASII.OnImportImage` 2109 which in turn calls :meth:`GSASIIdataGUI.GSASII.OnImportGeneric`. That calls 2110 2110 methods :meth:`ExtensionValidator`, :meth:`ContentsValidator` and 2111 2111 :meth:`Reader`. This returns a list of reader objects for each read image. -
branch/2frame/GSASIIphsGUI.py
r2905 r2907 1066 1066 in the main (data tree) window. 1067 1067 Called only from :meth:`GSASIIdataGUI.SelectDataTreeItem`, 1068 which in turn is called from :meth:`GSASII .GSASII.OnDataTreeSelChanged`1068 which in turn is called from :meth:`GSASIIdataGUI.GSASII.OnDataTreeSelChanged` 1069 1069 when a Phase tree item is selected. This creates all tabs on the page and fills 1070 1070 their contents. Routine OnPageChanged is called each time a tab is pressed … … 1302 1302 pages = [G2frame.phaseDisplay.GetPageText(PageNum) for PageNum in range(G2frame.phaseDisplay.GetPageCount())] 1303 1303 if generalData['Type'] == 'faulted': 1304 G2frame.data Frame.Bind(wx.EVT_MENU, OnLoadDIFFaX, id=G2gd.wxID_LOADDIFFAX)1305 G2frame.data Frame.Bind(wx.EVT_MENU, OnSimulate, id=G2gd.wxID_LAYERSIMULATE)1306 G2frame.data Frame.Bind(wx.EVT_MENU, OnSeqSimulate, id=G2gd.wxID_SEQUENCESIMULATE)1307 G2frame.data Frame.Bind(wx.EVT_MENU, OnFitLayers, id=G2gd.wxID_LAYERSFIT)1304 G2frame.dataWindow.Bind(wx.EVT_MENU, OnLoadDIFFaX, id=G2gd.wxID_LOADDIFFAX) 1305 G2frame.dataWindow.Bind(wx.EVT_MENU, OnSimulate, id=G2gd.wxID_LAYERSIMULATE) 1306 G2frame.dataWindow.Bind(wx.EVT_MENU, OnSeqSimulate, id=G2gd.wxID_SEQUENCESIMULATE) 1307 G2frame.dataWindow.Bind(wx.EVT_MENU, OnFitLayers, id=G2gd.wxID_LAYERSFIT) 1308 1308 if 'Wave Data' in pages: 1309 1309 pass … … 1899 1899 def OnRefList(event): 1900 1900 if not refsList: 1901 G2G.G2MessageBox(G2frame .dataFrame,'No reflections')1901 G2G.G2MessageBox(G2frame,'No reflections') 1902 1902 return 1903 1903 dlg = G2G.G2MultiChoiceDialog(G2frame, 'Select reflection sets to use', … … 2300 2300 2301 2301 if generalData['Modulated']: 2302 G2frame.data Frame.GeneralCalc.Enable(G2gd.wxID_SINGLEMCSA,False)2303 G2frame.data Frame.GeneralCalc.Enable(G2gd.wxID_MULTIMCSA,False)2304 G2frame.data Frame.GeneralCalc.Enable(G2gd.wxID_4DCHARGEFLIP,True)2302 G2frame.dataWindow.GeneralCalc.Enable(G2gd.wxID_SINGLEMCSA,False) 2303 G2frame.dataWindow.GeneralCalc.Enable(G2gd.wxID_MULTIMCSA,False) 2304 G2frame.dataWindow.GeneralCalc.Enable(G2gd.wxID_4DCHARGEFLIP,True) 2305 2305 mainSizer.Add(ModulatedSizer(generalData['Type'])) 2306 2306 G2G.HorizontalLine(mainSizer,General) 2307 2307 else: 2308 G2frame.data Frame.GeneralCalc.Enable(G2gd.wxID_SINGLEMCSA,True)2309 G2frame.data Frame.GeneralCalc.Enable(G2gd.wxID_MULTIMCSA,True)2310 G2frame.data Frame.GeneralCalc.Enable(G2gd.wxID_4DCHARGEFLIP,False)2308 G2frame.dataWindow.GeneralCalc.Enable(G2gd.wxID_SINGLEMCSA,True) 2309 G2frame.dataWindow.GeneralCalc.Enable(G2gd.wxID_MULTIMCSA,True) 2310 G2frame.dataWindow.GeneralCalc.Enable(G2gd.wxID_4DCHARGEFLIP,False) 2311 2311 2312 2312 mainSizer.Add(PawleySizer()) … … 2321 2321 mainSizer.Add(MCSASizer()) 2322 2322 G2frame.GetStatusBar().SetStatusText('') 2323 SetPhaseWindow(G2frame.data Frame,General,mainSizer,Scroll=Scroll)2323 SetPhaseWindow(G2frame.dataWindow,General,mainSizer,Scroll=Scroll) 2324 2324 2325 2325 def OnTransform(event): … … 2758 2758 Atoms.SetCellStyle(row,c,VERY_LIGHT_GREY,True) 2759 2759 Atoms.AutoSizeColumns(False) 2760 SetPhaseWindow(G2frame.data Frame,Atoms,size=[700,300])2760 SetPhaseWindow(G2frame.dataWindow,Atoms,size=[700,300]) 2761 2761 2762 2762 # FillAtomsGrid executable code starts here … … 2785 2785 if atomData: 2786 2786 for item in Items: 2787 G2frame.data Frame.AtomsMenu.Enable(item,True)2787 G2frame.dataWindow.AtomsMenu.Enable(item,True) 2788 2788 else: 2789 2789 for item in Items: 2790 G2frame.data Frame.AtomsMenu.Enable(item,False)2790 G2frame.dataWindow.AtomsMenu.Enable(item,False) 2791 2791 Items = [G2gd.wxID_ATOMVIEWINSERT, G2gd.wxID_ATOMSVIEWADD,G2gd.wxID_ATOMMOVE] 2792 2792 if 'showABC' in data['Drawing']: 2793 2793 for item in Items: 2794 G2frame.data Frame.AtomsMenu.Enable(item,True)2794 G2frame.dataWindow.AtomsMenu.Enable(item,True) 2795 2795 else: 2796 2796 for item in Items: 2797 G2frame.data Frame.AtomsMenu.Enable(item,False)2797 G2frame.dataWindow.AtomsMenu.Enable(item,False) 2798 2798 parmChoice = ': ,X,XU,U,F,FX,FXU,FU' 2799 2799 if generalData['Type'] == 'magnetic': … … 2990 2990 SetupGeneral() 2991 2991 data['General']['HydIds'].update(HydIds) 2992 G2frame.data Frame.AtomEdit.Enable(G2gd.wxID_UPDATEHATOM,True)2992 G2frame.dataWindow.AtomEdit.Enable(G2gd.wxID_UPDATEHATOM,True) 2993 2993 data['Drawing']['Atoms'] = [] 2994 2994 UpdateDrawAtoms() … … 3021 3021 del HydIds[HId] 3022 3022 if not len(HydIds): 3023 G2frame.data Frame.AtomEdit.Enable(G2gd.wxID_UPDATEHATOM,False)3023 G2frame.dataWindow.AtomEdit.Enable(G2gd.wxID_UPDATEHATOM,False) 3024 3024 data['Drawing']['Atoms'] = [] 3025 3025 UpdateDrawAtoms() … … 3144 3144 SetupGeneral() 3145 3145 if not len(HydIds): 3146 G2frame.data Frame.AtomEdit.Enable(G2gd.wxID_UPDATEHATOM,False)3146 G2frame.dataWindow.AtomEdit.Enable(G2gd.wxID_UPDATEHATOM,False) 3147 3147 event.StopPropagation() 3148 3148 … … 3438 3438 msg = 'Density of phase {:s} = {:.3f} g/cc'.format(data['General']['Name'],density) 3439 3439 print(msg) 3440 G2G.G2MessageBox(G2frame .dataFrame,msg,'Density')3440 G2G.G2MessageBox(G2frame,msg,'Density') 3441 3441 3442 3442 def OnValidProtein(event): … … 3680 3680 generalData = data['General'] 3681 3681 cx,ct,cs,cia = generalData['AtomPtrs'] 3682 reqrdr = G2frame.data Frame.ReImportMenuId.get(event.GetId())3682 reqrdr = G2frame.dataWindow.ReImportMenuId.get(event.GetId()) 3683 3683 rdlist = G2frame.OnImportGeneric(reqrdr, 3684 3684 G2frame.ImportPhaseReaderlist,'phase') … … 4374 4374 bottomSizer.Add(StackSizer()) 4375 4375 mainSizer.Add(bottomSizer) 4376 SetPhaseWindow(G2frame.data Frame,G2frame.layerData,mainSizer,Scroll=Scroll)4376 SetPhaseWindow(G2frame.dataWindow,G2frame.layerData,mainSizer,Scroll=Scroll) 4377 4377 4378 4378 def OnCopyPhase(event): … … 4649 4649 mainSizer.Add(G2frame.bottomSizer) 4650 4650 mainSizer.Layout() 4651 G2frame.data Frame.Refresh()4651 G2frame.dataWindow.Refresh() 4652 4652 waveData.SetVirtualSize(mainSizer.GetMinSize()) 4653 4653 waveData.Scroll(0,Scroll) 4654 G2frame.data Frame.SendSizeEvent()4654 G2frame.dataWindow.SendSizeEvent() 4655 4655 4656 4656 def ShowAtomInfo(): … … 4811 4811 G2frame.bottomSizer = ShowAtomInfo() 4812 4812 mainSizer.Add(G2frame.bottomSizer) 4813 SetPhaseWindow(G2frame.data Frame,G2frame.waveData,mainSizer,Scroll=Scroll)4813 SetPhaseWindow(G2frame.dataWindow,G2frame.waveData,mainSizer,Scroll=Scroll) 4814 4814 4815 4815 def OnWaveVary(event): … … 5181 5181 if colLabels[c] not in ['Style','Label','Color']: 5182 5182 drawAtoms.SetColAttr(c,attr) 5183 SetPhaseWindow(G2frame.data Frame,drawAtoms,size=[600,300])5183 SetPhaseWindow(G2frame.dataWindow,drawAtoms,size=[600,300]) 5184 5184 5185 5185 FindBondsDraw(data) … … 6092 6092 mainSizer.Add((5,5),0) 6093 6093 mainSizer.Add(PlaneSizer(),0,) 6094 SetPhaseWindow(G2frame.data Frame,drawOptions,mainSizer)6094 SetPhaseWindow(G2frame.dataWindow,drawOptions,mainSizer) 6095 6095 6096 6096 ################################################################################ … … 6473 6473 mainSizer.Add(angSizer,0,WACV|wx.LEFT,5) 6474 6474 # mainSizer.Add(SHPenalty(textureData['Penalty']),0,WACV|wx.LEFT,5) for future 6475 SetPhaseWindow(G2frame.data Frame,Texture,mainSizer)6475 SetPhaseWindow(G2frame.dataWindow,Texture,mainSizer) 6476 6476 6477 6477 ################################################################################ … … 6492 6492 item, cookie = G2frame.GPXtree.GetNextChild(G2frame.root, cookie) 6493 6493 if not TextList: 6494 G2G.G2MessageBox(G2frame .dataFrame,'No reflections')6494 G2G.G2MessageBox(G2frame,'No reflections') 6495 6495 return 6496 6496 dlg = G2G.G2MultiChoiceDialog(G2frame, 'Select reflection sets to use', … … 6549 6549 hist = G2frame.hist 6550 6550 if data['Histograms']: 6551 dlg = G2G.G2MultiChoiceDialog(G2frame .dataFrame, 'Use histograms',6552 'Use which histograms?',G2frame.data Frame.HistsInPhase)6551 dlg = G2G.G2MultiChoiceDialog(G2frame, 'Use histograms', 6552 'Use which histograms?',G2frame.dataWindow.HistsInPhase) 6553 6553 try: 6554 6554 if dlg.ShowModal() == wx.ID_OK: 6555 6555 sel = dlg.GetSelections() 6556 for id,item in enumerate(G2frame.data Frame.HistsInPhase):6556 for id,item in enumerate(G2frame.dataWindow.HistsInPhase): 6557 6557 if id in sel: 6558 6558 data['Histograms'][item]['Use'] = True … … 6597 6597 def OnDataCopy(event): 6598 6598 hist = G2frame.hist 6599 keyList = G2frame.data Frame.HistsInPhase[:]6599 keyList = G2frame.dataWindow.HistsInPhase[:] 6600 6600 if hist in keyList: keyList.remove(hist) 6601 6601 if not keyList: 6602 G2G.G2MessageBox(G2frame .dataFrame,'No histograms to copy to')6602 G2G.G2MessageBox(G2frame,'No histograms to copy to') 6603 6603 return 6604 6604 sourceDict = data['Histograms'][hist] … … 6610 6610 for name in copyNames: 6611 6611 copyDict[name] = copy.deepcopy(sourceDict[name]) #force copy 6612 dlg = G2G.G2MultiChoiceDialog(G2frame .dataFrame,6612 dlg = G2G.G2MultiChoiceDialog(G2frame, 6613 6613 u'Copy phase/histogram parameters\nfrom '+hist[5:][:35], 6614 6614 'Copy phase/hist parameters', keyList) … … 6653 6653 for bab in babNames: 6654 6654 copyDict[name][bab] = sourceDict[name][bab][1] 6655 keyList = G2frame.data Frame.HistsInPhase[:]6655 keyList = G2frame.dataWindow.HistsInPhase[:] 6656 6656 if hist in keyList: keyList.remove(hist) 6657 6657 if not keyList: 6658 G2G.G2MessageBox(G2frame .dataFrame,'No histograms to copy to')6658 G2G.G2MessageBox(G2frame,'No histograms to copy to') 6659 6659 return 6660 dlg = G2G.G2MultiChoiceDialog(G2frame .dataFrame,6660 dlg = G2G.G2MultiChoiceDialog(G2frame, 6661 6661 u'Copy phase/histogram flags\nfrom '+hist[5:][:35], 6662 6662 'Copy phase/hist flags', keyList) … … 6699 6699 hist = G2frame.hist 6700 6700 sourceDict = data['Histograms'][hist] 6701 keyList = G2frame.data Frame.HistsInPhase[:]6701 keyList = G2frame.dataWindow.HistsInPhase[:] 6702 6702 if hist in keyList: keyList.remove(hist) 6703 6703 if not keyList: 6704 G2G.G2MessageBox(G2frame .dataFrame,'No histograms to copy to')6704 G2G.G2MessageBox(G2frame,'No histograms to copy to') 6705 6705 return 6706 6706 copyDict = {} … … 6709 6709 else: #PWDR 6710 6710 copyNames = ['Scale','Pref.Ori.','Size','Mustrain','HStrain','Extinction','Babinet','LeBail'] 6711 dlg = G2G.G2MultiChoiceDialog(G2frame .dataFrame,'Select which parameters to copy',6711 dlg = G2G.G2MultiChoiceDialog(G2frame,'Select which parameters to copy', 6712 6712 'Select phase data parameters', copyNames) 6713 6713 selectedItems = [] … … 6721 6721 for parm in selectedItems: 6722 6722 copyDict[parm] = copy.deepcopy(sourceDict[parm]) 6723 dlg = G2G.G2MultiChoiceDialog(G2frame .dataFrame,6723 dlg = G2G.G2MultiChoiceDialog(G2frame, 6724 6724 u'Copy selected phase/histogram parameters\nfrom '+hist[5:][:35], 6725 6725 'Copy selected phase/hist parameters', keyList) … … 6747 6747 item, cookie = G2frame.GPXtree.GetNextChild(G2frame.root, cookie) 6748 6748 if not TextList: 6749 G2G.G2MessageBox(G2frame .dataFrame,'No histograms')6749 G2G.G2MessageBox(G2frame,'No histograms') 6750 6750 return 6751 6751 dlg = G2G.G2MultiChoiceDialog(G2frame, 'Select powder histograms to use', … … 6774 6774 6775 6775 def OnDataDelete(event): 6776 if G2frame.data Frame.HistsInPhase:6776 if G2frame.dataWindow.HistsInPhase: 6777 6777 DelList = [] 6778 dlg = G2G.G2MultiChoiceDialog(G2frame .dataFrame, 'Delete histogram',6779 'Which histogram to delete from this phase?',G2frame.data Frame.HistsInPhase)6778 dlg = G2G.G2MultiChoiceDialog(G2frame, 'Delete histogram', 6779 'Which histogram to delete from this phase?',G2frame.dataWindow.HistsInPhase) 6780 6780 try: 6781 6781 if dlg.ShowModal() == wx.ID_OK: 6782 DelList = [G2frame.data Frame.HistsInPhase[i] for i in dlg.GetSelections()]6782 DelList = [G2frame.dataWindow.HistsInPhase[i] for i in dlg.GetSelections()] 6783 6783 for i in DelList: 6784 6784 del data['Histograms'][i] … … 7087 7087 mainSizer.Add(G2frame.bottomSizer) 7088 7088 mainSizer.Layout() 7089 G2frame.data Frame.Refresh()7089 G2frame.dataWindow.Refresh() 7090 7090 RigidBodies.SetVirtualSize(mainSizer.GetMinSize()) 7091 7091 RigidBodies.Scroll(0,Scroll) 7092 G2frame.data Frame.SendSizeEvent()7092 G2frame.dataWindow.SendSizeEvent() 7093 7093 G2plt.PlotStructure(G2frame,data) 7094 7094 wx.CallAfter(oldFocus.SetFocus) … … 7145 7145 mainSizer.Add(VecrbSizer(RBObj)) 7146 7146 7147 SetPhaseWindow(G2frame.data Frame,RigidBodies,mainSizer)7147 SetPhaseWindow(G2frame.dataWindow,RigidBodies,mainSizer) 7148 7148 7149 7149 def OnRBCopyParms(event): … … 7475 7475 btnSizer.Add((20,20),1) 7476 7476 mainSizer.Add(btnSizer,0,wx.EXPAND|wx.BOTTOM|wx.TOP, 10) 7477 SetPhaseWindow(G2frame.data Frame,RigidBodies,mainSizer)7477 SetPhaseWindow(G2frame.dataWindow,RigidBodies,mainSizer) 7478 7478 wx.CallAfter(Draw) 7479 7479 … … 8042 8042 mainSizer.Add(ResultsSizer(Results)) 8043 8043 8044 SetPhaseWindow(G2frame.data Frame,G2frame.MCSA,mainSizer)8044 SetPhaseWindow(G2frame.dataWindow,G2frame.MCSA,mainSizer) 8045 8045 8046 8046 def SetSolution(result,Models): … … 8176 8176 print '**** ERROR - no rigid bodies defined ****' 8177 8177 return 8178 dlg = wx.SingleChoiceDialog(G2frame .dataFrame,'Select','Rigid body',rbNames.keys())8178 dlg = wx.SingleChoiceDialog(G2frame,'Select','Rigid body',rbNames.keys()) 8179 8179 if dlg.ShowModal() == wx.ID_OK: 8180 8180 sel = dlg.GetSelection() … … 8275 8275 G2frame.PawleyRefl.SetMargins(0,0) 8276 8276 G2frame.PawleyRefl.AutoSizeColumns(False) 8277 SetPhaseWindow(G2frame.data Frame,G2frame.PawleyRefl,size=[450,300])8277 SetPhaseWindow(G2frame.dataWindow,G2frame.PawleyRefl,size=[450,300]) 8278 8278 8279 8279 def OnPawleySet(event): … … 8287 8287 generalData = data['General'] 8288 8288 startDmin = generalData['Pawley dmin'] 8289 General = wx.Dialog(G2frame.dataFrame,wx.ID_ANY,'Set Pawley Parameters',8289 genDlg = wx.Dialog(G2frame,wx.ID_ANY,'Set Pawley Parameters', 8290 8290 style=wx.DEFAULT_DIALOG_STYLE) 8291 8291 mainSizer = wx.BoxSizer(wx.VERTICAL) 8292 mainSizer.Add(wx.StaticText( General,wx.ID_ANY,8292 mainSizer.Add(wx.StaticText(genDlg,wx.ID_ANY, 8293 8293 'Set Pawley Extraction Parameters for phase '+ 8294 8294 generalData.get('Name','?'))) 8295 8295 mainSizer.Add([5,10]) 8296 8296 pawleySizer = wx.BoxSizer(wx.HORIZONTAL) 8297 pawleySizer.Add(wx.StaticText( General,label=' Do Pawley refinement?: '),0,WACV)8298 pawlRef = G2G.G2CheckBox( General,'',generalData,'doPawley',8297 pawleySizer.Add(wx.StaticText(genDlg,label=' Do Pawley refinement?: '),0,WACV) 8298 pawlRef = G2G.G2CheckBox(genDlg,'',generalData,'doPawley', 8299 8299 DisablePawleyOpts) 8300 8300 pawleySizer.Add(pawlRef,0,WACV) 8301 8301 mainSizer.Add(pawleySizer) 8302 8302 pawleySizer = wx.BoxSizer(wx.HORIZONTAL) 8303 pawleySizer.Add(wx.StaticText( General,label=' Pawley dmin: '),0,WACV)8303 pawleySizer.Add(wx.StaticText(genDlg,label=' Pawley dmin: '),0,WACV) 8304 8304 def d2Q(*a,**kw): 8305 8305 temp['Qmax'] = 2 * math.pi / generalData['Pawley dmin'] 8306 8306 pawlQVal.SetValue(temp['Qmax']) 8307 pawlVal = G2G.ValidatedTxtCtrl( General,generalData,'Pawley dmin',8307 pawlVal = G2G.ValidatedTxtCtrl(genDlg,generalData,'Pawley dmin', 8308 8308 min=0.25,max=20.,nDig=(10,5),typeHint=float,OnLeave=d2Q) 8309 8309 pawleySizer.Add(pawlVal,0,WACV) 8310 pawleySizer.Add(wx.StaticText( General,label=' Qmax: '),0,WACV)8310 pawleySizer.Add(wx.StaticText(genDlg,label=' Qmax: '),0,WACV) 8311 8311 temp = {'Qmax':2 * math.pi / generalData['Pawley dmin']} 8312 8312 def Q2D(*args,**kw): 8313 8313 generalData['Pawley dmin'] = 2 * math.pi / temp['Qmax'] 8314 8314 pawlVal.SetValue(generalData['Pawley dmin']) 8315 pawlQVal = G2G.ValidatedTxtCtrl( General,temp,'Qmax',8315 pawlQVal = G2G.ValidatedTxtCtrl(genDlg,temp,'Qmax', 8316 8316 min=0.314,max=25.,nDig=(10,5),typeHint=float,OnLeave=Q2D) 8317 8317 pawleySizer.Add(pawlQVal,0,WACV) 8318 8318 mainSizer.Add(pawleySizer) 8319 8319 pawleySizer = wx.BoxSizer(wx.HORIZONTAL) 8320 pawleySizer.Add(wx.StaticText( General,label=' Pawley neg. wt.: '),0,WACV)8321 pawlNegWt = G2G.ValidatedTxtCtrl( General,generalData,'Pawley neg wt',8320 pawleySizer.Add(wx.StaticText(genDlg,label=' Pawley neg. wt.: '),0,WACV) 8321 pawlNegWt = G2G.ValidatedTxtCtrl(genDlg,generalData,'Pawley neg wt', 8322 8322 min=0.,max=1.,nDig=(10,4),typeHint=float) 8323 8323 pawleySizer.Add(pawlNegWt,0,WACV) … … 8325 8325 8326 8326 # make OK button 8327 def OnOK(event): General.EndModal(wx.ID_OK)8327 def OnOK(event): genDlg.EndModal(wx.ID_OK) 8328 8328 mainSizer.Add([5,5]) 8329 8329 btnsizer = wx.StdDialogButtonSizer() 8330 btn = wx.Button( General, wx.ID_OK)8330 btn = wx.Button(genDlg, wx.ID_OK) 8331 8331 btn.Bind(wx.EVT_BUTTON, OnOK) 8332 8332 btn.SetDefault() 8333 8333 btnsizer.AddButton(btn) 8334 btn = wx.Button( General, wx.ID_CANCEL)8334 btn = wx.Button(genDlg, wx.ID_CANCEL) 8335 8335 btnsizer.AddButton(btn) 8336 8336 btnsizer.Realize() 8337 8337 mainSizer.Add(btnsizer, 0, wx.ALIGN_CENTER|wx.ALL, 5) 8338 8338 8339 General.SetSizer(mainSizer)8340 mainSizer.Fit( General)8341 General.CenterOnParent()8342 res = General.ShowModal()8343 General.Destroy()8339 genDlg.SetSizer(mainSizer) 8340 mainSizer.Fit(genDlg) 8341 genDlg.CenterOnParent() 8342 res = genDlg.ShowModal() 8343 genDlg.Destroy() 8344 8344 8345 8345 if generalData['doPawley'] and res == wx.ID_OK and startDmin != generalData['Pawley dmin']: … … 8576 8576 MapPeaks.SetMargins(0,0) 8577 8577 MapPeaks.AutoSizeColumns(False) 8578 SetPhaseWindow(G2frame.data Frame,MapPeaks,size=[440,300])8578 SetPhaseWindow(G2frame.dataWindow,MapPeaks,size=[440,300]) 8579 8579 8580 8580 def OnPeaksMove(event): … … 8625 8625 if generalData['Map'].get('Show bonds',False): 8626 8626 generalData['Map']['Show bonds'] = False 8627 G2frame.data Frame.MapPeaksEdit.SetLabel(G2gd.wxID_SHOWBONDS,'Show bonds')8627 G2frame.dataWindow.MapPeaksEdit.SetLabel(G2gd.wxID_SHOWBONDS,'Show bonds') 8628 8628 else: 8629 8629 generalData['Map']['Show bonds'] = True 8630 G2frame.data Frame.MapPeaksEdit.SetLabel(G2gd.wxID_SHOWBONDS,'Hide bonds')8630 G2frame.dataWindow.MapPeaksEdit.SetLabel(G2gd.wxID_SHOWBONDS,'Hide bonds') 8631 8631 FillMapPeaksGrid() 8632 8632 G2plt.PlotStructure(G2frame,data) … … 8965 8965 text = G2frame.phaseDisplay.GetPageText(page) 8966 8966 G2frame.phaseDisplayPhaseText = text 8967 G2frame.data Frame.helpKey = text # use name of Phase tab for help lookup8967 G2frame.dataWindow.helpKey = text # use name of Phase tab for help lookup 8968 8968 if text == 'General': 8969 8969 G2gd.SetDataMenuBar(G2frame,G2frame.dataWindow.DataGeneral) … … 9058 9058 G2frame.Bind(wx.EVT_MENU, OnIsoDistortCalc, id=G2gd.wxID_ISODISP) 9059 9059 if 'HydIds' in data['General']: 9060 G2frame.data Frame.AtomEdit.Enable(G2gd.wxID_UPDATEHATOM,True)9060 G2frame.dataWindow.AtomEdit.Enable(G2gd.wxID_UPDATEHATOM,True) 9061 9061 else: 9062 G2frame.data Frame.AtomEdit.Enable(G2gd.wxID_UPDATEHATOM,False)9063 for id in G2frame.data Frame.ReImportMenuId: #loop over submenu items9062 G2frame.dataWindow.AtomEdit.Enable(G2gd.wxID_UPDATEHATOM,False) 9063 for id in G2frame.dataWindow.ReImportMenuId: #loop over submenu items 9064 9064 G2frame.Bind(wx.EVT_MENU, OnReImport, id=id) 9065 9065 # Wave Data … … 9159 9159 G2gd.SetDataMenuBar(G2frame) 9160 9160 G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Phase Data for '+PhaseName) 9161 G2frame.dataWindow.ClearData() 9162 if GSASIIpath.GetConfigValue('debug'): 9163 G2frame.phaseDisplay = G2G.GSNoteBook(parent=G2frame.dataWindow,size=G2frame.dataWindow.GetClientSize(), 9164 style=wx.aui.AUI_NB_TOP | wx.aui.AUI_NB_TAB_SPLIT | wx.aui.AUI_NB_TAB_MOVE) 9165 else: 9166 G2frame.phaseDisplay = G2G.GSNoteBook(parent=G2frame.dataWindow,size=G2frame.dataWindow.GetClientSize()) 9161 # Bob: why do this differently in debug mode? Is this code to test if tabs can be moved around? 9162 # if GSASIIpath.GetConfigValue('debug'): 9163 # G2frame.phaseDisplay = G2G.GSNoteBook(parent=G2frame.dataWindow,size=G2frame.dataWindow.GetClientSize(), 9164 # style=wx.aui.AUI_NB_TOP | wx.aui.AUI_NB_TAB_SPLIT | wx.aui.AUI_NB_TAB_MOVE) 9165 # else: 9166 # G2frame.phaseDisplay = G2G.GSNoteBook(parent=G2frame.dataWindow,size=G2frame.dataWindow.GetClientSize()) 9167 G2frame.phaseDisplay = G2G.GSNoteBook(parent=G2frame.dataWindow) 9168 G2frame.dataWindow.GetSizer().Add(G2frame.phaseDisplay,1,wx.ALL|wx.EXPAND,1) 9167 9169 G2frame.phaseDisplay.gridList = [] # list of all grids in notebook 9168 9170 Pages = [] … … 9212 9214 G2frame.phaseDisplay.AddPage(G2frame.PawleyRefl,'Pawley reflections') 9213 9215 Pages.append('Pawley reflections') 9214 G2frame.data Frame.AtomCompute.Enable(G2gd.wxID_ISODISP,'ISODISTORT' in data)9215 G2frame.data Frame.AtomCompute.Enable(G2gd.wxID_VALIDPROTEIN,'macro' in data['General']['Type'])9216 G2frame.dataWindow.AtomCompute.Enable(G2gd.wxID_ISODISP,'ISODISTORT' in data) 9217 G2frame.dataWindow.AtomCompute.Enable(G2gd.wxID_VALIDPROTEIN,'macro' in data['General']['Type']) 9216 9218 G2frame.phaseDisplay.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CHANGED, OnPageChanged) 9217 9219 FillMenus() 9218 9220 if oldPage is None or oldPage == 0: 9219 9221 ChangePage(0) 9220 wx.CallAfter(G2frame.phaseDisplay.SendSizeEvent)9222 #wx.CallAfter(G2frame.phaseDisplay.SendSizeEvent) 9221 9223 elif oldPage: 9222 9224 SetupGeneral() # not sure why one might need this when moving from phase to phase; but does not hurt -
branch/2frame/GSASIIplot.py
r2905 r2907 212 212 def RaiseLastPage(self,lastRaisedPlotTab,treeItemPlot): 213 213 '''Raises either the Last tab clicked on or what is drawn by the selected tree item 214 This is called after a refinement is completed by :meth:`GSASII .GSASII.ResetPlots`214 This is called after a refinement is completed by :meth:`GSASIIdataGUI.GSASII.ResetPlots` 215 215 ''' 216 216 plotNum = None
Note: See TracChangeset
for help on using the changeset viewer.