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/GSASIIconstrGUI.py

    r1147 r1160  
    511511        '''
    512512        allcons = []
    513         for key in ['Hist','HAP','Phase','Global']:
     513        for key in data:
     514            if key.startswith('_'): continue
    514515            allcons += data[key]
    515516        allcons += newcons
     
    538539        '''
    539540        allcons = []
    540         for key in 'Hist','HAP','Phase':
     541        for key in data:
     542            if key.startswith('_'): continue
    541543            allcons += data[key]
    542544        if not len(allcons): return True
     
    675677        :returns: wx.Sizer created by method
    676678        '''
    677         constSizer = wx.FlexGridSizer(1,5,0,0)
     679        constSizer = wx.FlexGridSizer(1,6,0,0)
    678680        maxlen = 70 # characters before wrapping a constraint
    679681        for Id,item in enumerate(data[name]):
     682            refineflag = False
    680683            helptext = ""
    681684            eqString = ['',]
     
    693696                Indx[constEdit.GetId()] = [Id,name]
    694697                if item[-1] == 'f':
    695                     helptext = "A new variable is created from a linear combination of the following variables:"
     698                    helptext = "A new variable"
     699                    if item[-3]:
     700                        helptext += " named "+str(item[-3])
     701                    helptext += " is created from a linear combination of the following variables:\n"
    696702                    for term in item[:-3]:
    697703                        var = str(term[1])
     
    712718                            helptext += '\n\n'
    713719                            helptext += data['_Explain'][item[-3]]
    714                     typeString = 'NEWVAR'
     720                    # typeString = 'NEWVAR'
     721                    # if item[-3]:
     722                    #     eqString[-1] += ' = '+item[-3]
     723                    # else:
     724                    #     eqString[-1] += ' = New Variable'
    715725                    if item[-3]:
    716                         eqString[-1] += ' = '+item[-3]
     726                        typeString = item[-3] + ' = '
    717727                    else:
    718                         eqString[-1] += ' = New Variable'
     728                        typeString = 'New Variable = '
     729                    #print 'refine',item[-2]
     730                    refineflag = True
    719731                elif item[-1] == 'c':
    720732                    helptext = "The following variables constrained to equal a constant:"
     
    732744                        helptext += "\n" + var + " ("+ varMean + ")"
    733745                    typeString = 'CONST'
    734                     eqString[-1] += ' = %.3f'%(item[-3])+'  '
     746                    eqString[-1] += ' = '+str(item[-3])
    735747                elif item[-1] == 'e':
    736748                    helptext = "The following variables are set to be equivalent, noting multipliers:"
     
    763775                constSizer.Add(ch,0,wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_CENTER,1)
    764776            else:
     777                constSizer.Add((-1,-1))
     778            if refineflag:
     779                ch = G2gd.G2CheckBox(pageDisplay,'',item,-2)
     780                constSizer.Add(ch,0,wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_CENTER,1)
     781            else:
    765782                constSizer.Add((-1,-1))               
    766             constSizer.Add(wx.StaticText(pageDisplay,-1,typeString),0,wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_CENTER|wx.RIGHT|wx.LEFT,3)
     783            constSizer.Add(wx.StaticText(pageDisplay,-1,typeString),
     784                           0,wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_CENTER|wx.RIGHT|wx.LEFT,3)
    767785            if len(eqString) > 1:
    768786                Eq = wx.BoxSizer(wx.VERTICAL)
     
    815833                result = dlg.GetData()
    816834                for i in range(len(data[name][Id][:-3])):
     835                    if type(data[name][Id][i]) is tuple: # fix non-mutable construct
     836                        data[name][Id][i] = list(data[name][Id][i])
    817837                    data[name][Id][i][0] = result[i][0]
    818838                if data[name][Id][-1] == 'c':
     
    825845                    varname = varname.replace(':',';')
    826846                    if varname:
    827                         data[name][Id][-3] = '::' + varname
     847                        data[name][Id][-3] = varname
    828848                    else:
    829849                        data[name][Id][-3] = ''
     
    925945    # validate all the constrants -- should not see any errors here normally
    926946    allcons = []
    927     for key in 'Hist','HAP','Phase':
     947    for key in data:
     948        if key.startswith('_'): continue
    928949        allcons += data[key]
    929950    if not len(allcons): return
Note: See TracChangeset for help on using the changeset viewer.