Changeset 1160 for trunk/GSASIIgrid.py


Ignore:
Timestamp:
Nov 28, 2013 9:16:02 PM (8 years ago)
Author:
toby
Message:

finish ISODISPLACE fixes; improve show var window; improve help window; add refine checkbox for newvars in constraints display

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIgrid.py

    r1147 r1160  
    15671567    '''Create frame to show least-squares parameters
    15681568    '''
    1569     def __init__(self,parent,title,parmDict,varyList=None,
     1569    def __init__(self,parent,title,parmDict,varyList,fullVaryList,
    15701570                 size=(300,430)):
    15711571        wx.Dialog.__init__(self,parent,wx.ID_ANY,title,size=size,
     
    15771577            #size=size,
    15781578            style = wx.TAB_TRAVERSAL|wx.SUNKEN_BORDER)
    1579         if varyList:
    1580             num = len(varyList)
    1581             mainSizer.Add(wx.StaticText(self,wx.ID_ANY,'Number of refined variables: '+str(num)))
     1579        num = len(varyList)
     1580        mainSizer.Add(wx.StaticText(self,wx.ID_ANY,'Number of refined variables: '+str(num)))
     1581        num = len(fullVaryList)
     1582        mainSizer.Add(wx.StaticText(self,wx.ID_ANY,'Number dependent and refined variables: '+str(num)))
    15821583
    15831584        subSizer = wx.FlexGridSizer(rows=len(parmDict)+1,cols=4,hgap=2,vgap=2)
    15841585        parmNames = parmDict.keys()
    15851586        parmNames.sort()
    1586         #parmText = ' p:h:Parameter       refine?              value\n'
    15871587        subSizer.Add((-1,-1))
    15881588        subSizer.Add(wx.StaticText(panel,wx.ID_ANY,'Parameter name  '))
    15891589        subSizer.Add(wx.StaticText(panel,wx.ID_ANY,'refine?'))
    15901590        subSizer.Add(wx.StaticText(panel,wx.ID_ANY,'value'),0,wx.ALIGN_RIGHT)
     1591        explainRefine = False
    15911592        for name in parmNames:
     1593            # skip entries without numerical values
     1594            if isinstance(parmDict[name],basestring): continue
     1595            try:
     1596                value = G2py3.FormatValue(parmDict[name])
     1597            except TypeError:
     1598                value = str(parmDict[name])+' -?' # unexpected
     1599                #continue
    15921600            v = G2obj.getVarDescr(name)
    15931601            if v is None or v[-1] is None:
     
    15971605                subSizer.Add(ch,0,wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_CENTER,1)
    15981606            subSizer.Add(wx.StaticText(panel,wx.ID_ANY,str(name)))
    1599             subSizer.Add(wx.StaticText(panel,wx.ID_ANY,str(parmDict[name][1])))
    1600             try:
    1601                 value = G2py3.FormatValue(parmDict[name][0])
    1602             except TypeError:
    1603                 value = str(parmDict[name][0])
     1607            if name in varyList:
     1608                subSizer.Add(wx.StaticText(panel,wx.ID_ANY,'R'))
     1609            elif name in fullVaryList:
     1610                subSizer.Add(wx.StaticText(panel,wx.ID_ANY,'C'))
     1611                explainRefine = True
     1612            else:
     1613                subSizer.Add((-1,-1))
    16041614            subSizer.Add(wx.StaticText(panel,wx.ID_ANY,value),0,wx.ALIGN_RIGHT)
    16051615
     
    16101620        mainSizer.Add(panel,1, wx.ALL|wx.EXPAND,1)
    16111621
     1622        if explainRefine:
     1623            mainSizer.Add(
     1624                wx.StaticText(self,wx.ID_ANY,
     1625                          '"R" indicates a refined variable\n'+
     1626                          '"C" is generated from a constraint'
     1627                          ),
     1628                0, wx.ALL,0)
    16121629        # make OK button
    16131630        btnsizer = wx.BoxSizer(wx.HORIZONTAL)
     
    16181635        # Allow window to be enlarged but not made smaller
    16191636        self.SetSizer(mainSizer)
    1620         #mainSizer.Fit(self)
    16211637        self.SetMinSize(self.GetSize())
    16221638
     
    19741990        self.msg=msg
    19751991        self.parent = parent
     1992    def _onClose(self,event):
     1993        self.dlg.EndModal(wx.ID_CANCEL)
    19761994    def _onPress(self,event):
    19771995        'Respond to a button press by displaying the requested text'
    1978         dlg = wx.MessageDialog(self.parent,self.msg,'Help info',wx.OK)
    1979         dlg.ShowModal()
    1980         dlg.Destroy()
     1996        #dlg = wx.MessageDialog(self.parent,self.msg,'Help info',wx.OK)
     1997        self.dlg = wx.Dialog(self.parent,wx.ID_ANY,'Help information',
     1998                        style=wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER)
     1999        #self.dlg.SetBackgroundColour(wx.WHITE)
     2000        mainSizer = wx.BoxSizer(wx.VERTICAL)
     2001        txt = wx.StaticText(self.dlg,wx.ID_ANY,self.msg)
     2002        mainSizer.Add(txt,1,wx.ALL|wx.EXPAND,10)
     2003        txt.SetBackgroundColour(wx.WHITE)
     2004
     2005        btnsizer = wx.BoxSizer(wx.HORIZONTAL)
     2006        btn = wx.Button(self.dlg, wx.ID_CLOSE)
     2007        btn.Bind(wx.EVT_BUTTON,self._onClose)
     2008        btnsizer.Add(btn)
     2009        mainSizer.Add(btnsizer, 0, wx.ALIGN_CENTER|wx.ALL, 5)
     2010        self.dlg.SetSizer(mainSizer)
     2011        mainSizer.Fit(self.dlg)
     2012        self.dlg.ShowModal()
     2013        self.dlg.Destroy()
    19812014################################################################################
    19822015class MyHtmlPanel(wx.Panel):
     
    24962529        self.AtomCompute.ISOcalc = self.AtomCompute.Append(
    24972530            id=wxID_ISODISP, kind=wx.ITEM_NORMAL,
    2498             text='Compute ISODISPLACE mode values',
    2499             help='Compute values of ISODISPLACE modes from atom parameters')
     2531            text='Compute ISODISTORT mode values',
     2532            help='Compute values of ISODISTORT modes from atom parameters')
    25002533        self.PostfillDataMenu()
    25012534                 
Note: See TracChangeset for help on using the changeset viewer.