Changeset 570 for trunk/GSASII.py


Ignore:
Timestamp:
Apr 24, 2012 12:19:19 PM (10 years ago)
Author:
toby
Message:

Add checks on constraints: if problems display error window when displayed, added/edited & on Refine; handle GPX w/o doPawley flag

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASII.py

    r569 r570  
    304304                primaryReaders.append(reader)
    305305        if len(secondaryReaders) + len(primaryReaders) == 0:
    306             self.ErrorDialog('No matching format for file '+file,'No Format')
     306            self.ErrorDialog('No Format','No matching format for file '+file)
    307307            return
    308308       
     
    321321                    import traceback
    322322                    print traceback.format_exc()
    323                     self.ErrorDialog('Error reading file '+file
    324                         +' with format '+ rd.formatName,'Read Error')
     323                    self.ErrorDialog('Read Error',
     324                                     'Error reading file '+file
     325                                     +' with format '+ rd.formatName)
    325326                    continue
    326327                if not flag: continue
     
    348349            import traceback
    349350            print traceback.format_exc()
    350             self.ErrorDialog('Error on open of file '+file,'Open Error')
     351            self.ErrorDialog('Open Error',
     352                             'Error on open of file '+file)
    351353        finally:
    352354            if fp: fp.close()
     
    16361638    def OnRefine(self,event):
    16371639        self.OnFileSave(event)
     1640        # check that constraints are OK here
     1641        errmsg, warnmsg = G2str.CheckConstraints(self.GSASprojectfile)
     1642        if errmsg:
     1643            print('Error in constraints:\n'+errmsg+
     1644                  '\nRefinement not possible')
     1645            self.ErrorDialog('Constraint Error',
     1646                             'Error in constraints:\n'+errmsg+
     1647                             '\nRefinement not possible')
     1648            return
     1649        if warnmsg:
     1650            print('Conflict between refinment flag settings and constraints:\n'+
     1651                  warnmsg+'\nRefinement not possible')
     1652            self.ErrorDialog('Refinement Flag Error',
     1653                             'Conflict between refinment flag settings and constraints:\n'+
     1654                             warnmsg+
     1655                             '\nRefinement not possible')
     1656            return
    16381657        #works - but it'd be better if it could restore plots
    16391658        dlg = wx.ProgressDialog('Residual','Powder profile Rwp =',101.0,
     
    16751694            self.PatternTree.SetItemPyData(Id,{})           
    16761695        self.OnFileSave(event)
     1696        # check that constraints are OK here
     1697        errmsg, warnmsg = G2str.CheckConstraints(self.GSASprojectfile)
     1698        if errmsg:
     1699            print('Error in constraints:\n'+errmsg+
     1700                  '\nRefinement not possible')
     1701            self.ErrorDialog('Constraint Error',
     1702                             'Error in constraints:\n'+errmsg+
     1703                             '\nRefinement not possible')
     1704            return
     1705        if warnmsg:
     1706            print('Conflict between refinment flag settings and constraints:\n'+
     1707                  warnmsg+'\nRefinement not possible')
     1708            self.ErrorDialog('Refinement Flag Error',
     1709                             'Conflict between refinment flag settings and constraints:\n'+
     1710                             warnmsg+'\nRefinement not possible')
     1711            return
    16771712        dlg = wx.ProgressDialog('Residual for histogram 0','Powder profile Rwp =',101.0,
    16781713            style = wx.PD_ELAPSED_TIME|wx.PD_AUTO_HIDE|wx.PD_CAN_ABORT)
     
    17061741            dlg.Destroy()
    17071742       
    1708     def ErrorDialog(self,title,message):
    1709         dlg = wx.MessageDialog(self, message, title,  wx.OK)
     1743    def ErrorDialog(self,title,message,parent=None, wtype=wx.OK):
     1744        result = None
     1745        if parent is None:
     1746            dlg = wx.MessageDialog(self, message, title,  wtype)
     1747        else:
     1748            dlg = wx.MessageDialog(parent, message, title,  wtype)
     1749            dlg.CenterOnParent() # not working on Mac
    17101750        try:
    17111751            result = dlg.ShowModal()
    17121752        finally:
    17131753            dlg.Destroy()
     1754        return result
    17141755
    17151756class GSASIImain(wx.App):
Note: See TracChangeset for help on using the changeset viewer.