Changeset 1785


Ignore:
Timestamp:
Apr 10, 2015 8:59:24 AM (7 years ago)
Author:
vondreele
Message:

Add new routine to GSAS.py, StartProject?, called by both OpenFile? & the case with project file in arg list. An attempt at using shift/arrow to go to next/prev tree sub entry.
Fix a problem with new phases & sph harm preferred orientation.
Add HKLF rejection to derivative calc.

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASII.py

    r1780 r1785  
    21672167            if self.dirname: os.chdir(self.dirname)
    21682168            try:
    2169                 G2IO.ProjFileOpen(self)
    2170                 self.PatternTree.Expand(self.root)
    2171                 for item in self.Refine: item.Enable(True)
    2172                 self.EnableSeqRefineMenu()
     2169                self.StartProject()         #open the file if possible
    21732170            except:
    21742171                print 'Error opening file',arg[1]
     
    22462243            G2gd.MovePatternTreeToGrid(self,NewId)
    22472244       
    2248     def OnPatternTreeKeyDown(self,event):
     2245    def OnPatternTreeKeyDown(self,event): #doesn't exactly work right with Shift key down
    22492246        'Allows stepping through the tree with the up/down arrow keys'
     2247        self.oldFocus = wx.Window.FindFocus()
    22502248        keyevt = event.GetKeyEvent()
    22512249        key = event.GetKeyCode()
     
    22552253        parent = self.PatternTree.GetItemParent(item)
    22562254        if key == wx.WXK_UP:
    2257             self.oldFocus = wx.Window.FindFocus()
    2258 #            if keyevt.GetModifiers() == wx.MOD_SHIFT:
    2259 #                if type(parent) is int: return # is this the toplevel in tree?
    2260 #                prev = self.PatternTree.GetPrevSibling(parent)
    2261 #                self.PatternTree.Expand(prev)
    2262 #                id = G2gd.GetPatternTreeItemId(self,prev,name)
    2263 #                G2gd.MovePatternTreeToGrid(self,id)
    2264 #            else:   
    2265             self.PatternTree.GetPrevSibling(item)
     2255            if keyevt.GetModifiers() == wx.MOD_SHIFT:
     2256                if type(parent) is int: return # is this the toplevel in tree?
     2257                prev = self.PatternTree.GetPrevSibling(parent)
     2258                self.PatternTree.Collapse(parent)
     2259                self.PatternTree.Expand(prev)
     2260                id = G2gd.GetPatternTreeItemId(self,prev,name)
     2261                self.PatternTree.SelectItem(id)
     2262                self.oldFocus = wx.Window.FindFocus()
     2263            else:   
     2264                self.PatternTree.GetPrevSibling(item)
     2265                self.PatternTree.SelectItem(item)
    22662266        elif key == wx.WXK_DOWN:
    2267 #            if keyevt.GetModifiers() == wx.MOD_SHIFT:
    2268 #                if type(parent) is int: return # is this the toplevel in tree?
    2269 #                next = self.PatternTree.GetNextSibling(parent)
    2270 #                self.PatternTree.Expand(next)
    2271 #                id = G2gd.GetPatternTreeItemId(self,next,name)
    2272 #                G2gd.MovePatternTreeToGrid(self,id)
    2273 #            else:   
    2274             self.PatternTree.GetNextSibling(item)
     2267            if keyevt.GetModifiers() == wx.MOD_SHIFT:
     2268                if type(parent) is int: return # is this the toplevel in tree?
     2269                next = self.PatternTree.GetNextSibling(parent)
     2270                self.PatternTree.Collapse(parent)
     2271                self.PatternTree.Expand(next)
     2272                id = G2gd.GetPatternTreeItemId(self,next,name)
     2273                self.PatternTree.SelectItem(id)
     2274                self.oldFocus = wx.Window.FindFocus()
     2275            else:   
     2276                self.PatternTree.GetNextSibling(item)
     2277                self.PatternTree.SelectItem(item)
    22752278               
    22762279    def OnReadPowderPeaks(self,event):
     
    28472850        Data/DeleteData menu
    28482851        '''
    2849 #        TextList = ['All Data']
    28502852        TextList = []
    28512853        DelList = []
     
    28702872                    TextList.append(name)
    28712873                item, cookie = self.PatternTree.GetNextChild(self.root, cookie)
    2872 #            if ifPWDR: TextList.insert(1,'All PWDR')
    2873 #            if ifSASD: TextList.insert(1,'All SASD')
    2874 #            if ifIMG: TextList.insert(1,'All IMG')
    2875 #            if ifHKLF: TextList.insert(1,'All HKLF')
    2876 #            if ifPDF: TextList.insert(1,'All PDF')               
    28772874            dlg = G2G.G2MultiChoiceDialog(self, 'Which data to delete?', 'Delete data', TextList, wx.CHOICEDLG_STYLE)
    28782875            try:
     
    28802877                    result = dlg.GetSelections()
    28812878                    for i in result: DelList.append(TextList[i])
    2882 #                    if 'All Data' in DelList:
    2883 #                        DelList = [item for item in TextList if item[:3] != 'All']
    2884 #                    elif 'All PWDR' in DelList:
    2885 #                        DelList = [item for item in TextList if item[:4] == 'PWDR']
    2886 #                    elif 'All SASD' in DelList:
    2887 #                        DelList = [item for item in TextList if item[:4] == 'SASD']
    2888 #                    elif 'All IMG' in DelList:
    2889 #                        DelList = [item for item in TextList if item[:3] == 'IMG']
    2890 #                    elif 'All HKLF' in DelList:
    2891 #                        DelList = [item for item in TextList if item[:4] == 'HKLF']
    2892 #                    elif 'All PDF' in DelList:
    2893 #                        DelList = [item for item in TextList if item[:3] == 'PDF']
    28942879                    item, cookie = self.PatternTree.GetFirstChild(self.root)
    28952880                    while item:
     
    29212906
    29222907    def OnFileOpen(self, event, filename=None):
    2923         '''Reads in a GSAS-II .gpx project file in response to the
     2908        '''Gets a GSAS-II .gpx project file in response to the
    29242909        File/Open Project menu button
    29252910        '''
    29262911        result = wx.ID_OK
    2927         Id = 0
    29282912        self.EnablePlot = False
    29292913        if self.PatternTree.GetChildrenCount(self.root,False):
     
    29622946            self.dirname = os.path.split(filename)[0]
    29632947
     2948        try:
     2949            self.StartProject()         #open the file if possible
     2950        except:
     2951            print 'Error opening file ',filename
     2952       
     2953    def StartProject(self):
     2954        '''Opens a GSAS-II project file & selects the 1st available data set to
     2955        display (PWDR, HKLF or SASD)
     2956        '''
     2957       
     2958        Id = 0
    29642959        G2IO.ProjFileOpen(self)
    29652960        self.PatternTree.SetItemText(self.root,'Loaded Data: '+self.GSASprojectfile)
     
    30463041            self.dataFrame.Destroy()
    30473042        self.Close()
    3048        
    3049     # def OnExportPatterns(self,event):
    3050     #     names = ['All']
    3051     #     exports = []
    3052     #     item, cookie = self.PatternTree.GetFirstChild(self.root)
    3053     #     while item:
    3054     #         name = self.PatternTree.GetItemText(item)
    3055     #         if 'PWDR' in name:
    3056     #             names.append(name)
    3057     #         item, cookie = self.PatternTree.GetNextChild(self.root, cookie)
    3058     #     if names:
    3059     #         dlg = wx.MultiChoiceDialog(self,'Select','Powder patterns to export',names)
    3060     #         if dlg.ShowModal() == wx.ID_OK:
    3061     #             sel = dlg.GetSelections()
    3062     #             if sel[0] == 0:
    3063     #                 exports = names[1:]
    3064     #             else:
    3065     #                 for x in sel:
    3066     #                     exports.append(names[x])
    3067     #         dlg.Destroy()
    3068     #     if exports:
    3069     #         dlg = wx.FileDialog(self, 'Choose output powder file name', '.', '',
    3070     #             'GSAS fxye file (*.fxye)|*.fxye|xye file (*.xye)|*.xye',
    3071     #             wx.FD_SAVE|wx.FD_OVERWRITE_PROMPT|wx.CHANGE_DIR)
    3072     #         try:
    3073     #             if dlg.ShowModal() == wx.ID_OK:
    3074     #                 powderfile = dlg.GetPath()
    3075     #                 powderfile = G2IO.FileDlgFixExt(dlg,powderfile)
    3076     #                 if 'fxye' in powderfile:
    3077     #                     G2IO.powderFxyeSave(self,exports,powderfile)
    3078     #                 else:       #just xye
    3079     #                     G2IO.powderXyeSave(self,exports,powderfile)
    3080     #         finally:
    3081     #             dlg.Destroy()
    30823043       
    30833044    def OnExportPeakList(self,event):
  • trunk/GSASIIddataGUI.py

    r1778 r1785  
    905905# patch - add penalty items
    906906            if len(POData) < 7:
    907                 POData.append([''])
     907                POData.append(['',])
    908908                POData.append(0.1)
    909909# end patch
  • trunk/GSASIIphsGUI.py

    r1780 r1785  
    39783978                        Id = G2gd.GetPatternTreeItemId(G2frame,G2frame.root,histoName)
    39793979                        UseList[histoName] = {'Histogram':histoName,'Show':False,
    3980                             'Scale':[1.0,False],'Pref.Ori.':['MD',1.0,False,[0,0,1],0,{},[],0.1],
     3980                            'Scale':[1.0,False],'Pref.Ori.':['MD',1.0,False,[0,0,1],0,{},['',],0.1],
    39813981                            'Size':['isotropic',[1.,1.,1.],[False,False,False],[0,0,1],
    39823982                                [1.,1.,1.,0.,0.,0.],6*[False,]],
  • trunk/GSASIIpwdGUI.py

    r1784 r1785  
    30633063        it = 0
    30643064        if HKLF:
    3065             im = data[1]['Super']
     3065            im = data[1].get('Super',0)
    30663066        else:
    30673067            if 'T' in data[phaseName]['Type']:
  • trunk/GSASIIstrMath.py

    r1784 r1785  
    24242424                dervDict = SCExtinction(ref,im,phfx,hfx,pfx,calcControls,parmDict,varylist+dependentVars)[1]
    24252425                w = 1.0/ref[6+im]
    2426                 if w*ref[5+im] >= calcControls['minF/sig']:
     2426                if w*ref[5+im] >= calcControls['minF/sig'] and ref[3+im] > 0:
    24272427                    wdf[iref] = w*(ref[5+im]-ref[7+im])
    24282428                    for j,var in enumerate(varylist):
     
    24532453                Fc = np.sqrt(ref[7+im])
    24542454                w = 1.0/ref[6+im]
    2455                 if 2.0*Fo*w*Fo >= calcControls['minF/sig']:
     2455                if 2.0*Fo*w*Fo >= calcControls['minF/sig'] and ref[3+im] > 0:
    24562456                    wdf[iref] = 2.0*Fo*w*(Fo-Fc)
    24572457                    for j,var in enumerate(varylist):
Note: See TracChangeset for help on using the changeset viewer.