Changeset 402 for trunk/GSASIIphsGUI.py


Ignore:
Timestamp:
Oct 27, 2011 2:12:00 PM (10 years ago)
Author:
vondreele
Message:

refactor some of DData stuff

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIphsGUI.py

    r399 r402  
    21642164                except ValueError:
    21652165                    pass
    2166             Obj.SetValue("%.1f"%(UseList[hist]['Size'][1][pid]))          #reset in case of error
     2166            Obj.SetValue("%.3f"%(UseList[hist]['Size'][1][pid]))          #reset in case of error
    21672167           
    21682168        def OnSizeAxis(event):           
     
    22142214                Obj.SetValue("%.3f"%(UseList[hist]['Mustrain'][4][pid]))          #reset in case of error
    22152215            else:
    2216                 Obj.SetValue("%.3f"%(UseList[hist]['Mustrain'][1][pid]))          #reset in case of error
     2216                Obj.SetValue("%.1f"%(UseList[hist]['Mustrain'][1][pid]))          #reset in case of error
    22172217            G2plt.PlotStrain(self,data)
    22182218           
     
    23232323            return axis
    23242324           
     2325        def ScaleSizer():
     2326            scaleSizer = wx.BoxSizer(wx.HORIZONTAL)
     2327            scaleRef = wx.CheckBox(dataDisplay,-1,label=' Phase fraction: ')
     2328            scaleRef.SetValue(UseList[item]['Scale'][1])
     2329            Indx[scaleRef.GetId()] = item
     2330            scaleRef.Bind(wx.EVT_CHECKBOX, OnScaleRef)
     2331            scaleSizer.Add(scaleRef,0,wx.ALIGN_CENTER_VERTICAL)
     2332            scaleVal = wx.TextCtrl(dataDisplay,wx.ID_ANY,
     2333                '%.4f'%(UseList[item]['Scale'][0]),style=wx.TE_PROCESS_ENTER)
     2334            Indx[scaleVal.GetId()] = item
     2335            scaleVal.Bind(wx.EVT_TEXT_ENTER,OnScaleVal)
     2336            scaleVal.Bind(wx.EVT_KILL_FOCUS,OnScaleVal)
     2337            scaleSizer.Add(scaleVal,0,wx.ALIGN_CENTER_VERTICAL)
     2338            return scaleSizer
     2339           
     2340        def TopSizer(name,choices,parm,OnType):
     2341            topSizer = wx.BoxSizer(wx.HORIZONTAL)
     2342            topSizer.Add(wx.StaticText(dataDisplay,-1,name),0,wx.ALIGN_CENTER_VERTICAL)
     2343            sizeType = wx.ComboBox(dataDisplay,wx.ID_ANY,value=UseList[item][parm][0],choices=choices,
     2344                style=wx.CB_READONLY|wx.CB_DROPDOWN)
     2345            sizeType.Bind(wx.EVT_COMBOBOX, OnType)
     2346            Indx[sizeType.GetId()] = item
     2347            topSizer.Add(sizeType)
     2348            topSizer.Add((5,0),0)
     2349            return topSizer
     2350           
     2351        def IsoSizer(name,parm,fmt,OnVal,OnRef):
     2352            isoSizer = wx.BoxSizer(wx.HORIZONTAL)
     2353            sizeRef = wx.CheckBox(dataDisplay,-1,label=name)
     2354            sizeRef.thisown = False
     2355            sizeRef.SetValue(UseList[item][parm][2][0])
     2356            Indx[sizeRef.GetId()] = [item,0]
     2357            sizeRef.Bind(wx.EVT_CHECKBOX, OnRef)
     2358            isoSizer.Add(sizeRef,0,wx.ALIGN_CENTER_VERTICAL)
     2359            sizeVal = wx.TextCtrl(dataDisplay,wx.ID_ANY,
     2360                fmt%(UseList[item][parm][1][0]),style=wx.TE_PROCESS_ENTER)
     2361            Indx[sizeVal.GetId()] = [item,0]
     2362            sizeVal.Bind(wx.EVT_TEXT_ENTER,OnVal)
     2363            sizeVal.Bind(wx.EVT_KILL_FOCUS,OnVal)
     2364            isoSizer.Add(sizeVal,0,wx.ALIGN_CENTER_VERTICAL)
     2365            return isoSizer
     2366           
     2367        def UniSizer(parm,OnAxis):
     2368            uniSizer = wx.BoxSizer(wx.HORIZONTAL)
     2369            uniSizer.Add(wx.StaticText(dataDisplay,-1,' Unique axis, H K L: '),0,wx.ALIGN_CENTER_VERTICAL)
     2370            h,k,l = UseList[item][parm][3]
     2371            Axis = wx.TextCtrl(dataDisplay,-1,'%3d %3d %3d'%(h,k,l),style=wx.TE_PROCESS_ENTER)
     2372            Indx[Axis.GetId()] = item
     2373            Axis.Bind(wx.EVT_TEXT_ENTER,OnAxis)
     2374            Axis.Bind(wx.EVT_KILL_FOCUS,OnAxis)
     2375            uniSizer.Add(Axis,0,wx.ALIGN_CENTER_VERTICAL)
     2376            return uniSizer
     2377           
     2378        def UniDataSizer(parmName,parm,fmt,OnVal,OnRef):
     2379            dataSizer = wx.BoxSizer(wx.HORIZONTAL)
     2380            parms = zip([' Equatorial '+parmName,' Axial '+parmName],
     2381                UseList[item][parm][1],UseList[item][parm][2],range(2))
     2382            for Pa,val,ref,id in parms:
     2383                sizeRef = wx.CheckBox(dataDisplay,-1,label=Pa)
     2384                sizeRef.thisown = False
     2385                sizeRef.SetValue(ref)
     2386                Indx[sizeRef.GetId()] = [item,id]
     2387                sizeRef.Bind(wx.EVT_CHECKBOX, OnRef)
     2388                dataSizer.Add(sizeRef,0,wx.ALIGN_CENTER_VERTICAL)
     2389                sizeVal = wx.TextCtrl(dataDisplay,wx.ID_ANY,fmt%(val),style=wx.TE_PROCESS_ENTER)
     2390                Indx[sizeVal.GetId()] = [item,id]
     2391                sizeVal.Bind(wx.EVT_TEXT_ENTER,OnVal)
     2392                sizeVal.Bind(wx.EVT_KILL_FOCUS,OnVal)
     2393                dataSizer.Add(sizeVal,0,wx.ALIGN_CENTER_VERTICAL)
     2394                dataSizer.Add((5,0),0)
     2395            return dataSizer
     2396           
     2397        def EllSizeDataSizer():
     2398            parms = zip(['S11','S22','S33','S12','S13','S23'],UseList[item]['Size'][4],
     2399                UseList[item]['Size'][5],range(6))
     2400            dataSizer = wx.FlexGridSizer(2,6,5,5)
     2401            for Pa,val,ref,id in parms:
     2402                sizeRef = wx.CheckBox(dataDisplay,-1,label=Pa)
     2403                sizeRef.thisown = False
     2404                sizeRef.SetValue(ref)
     2405                Indx[sizeRef.GetId()] = [item,id]
     2406                sizeRef.Bind(wx.EVT_CHECKBOX, OnSizeRef)
     2407                dataSizer.Add(sizeRef,0,wx.ALIGN_CENTER_VERTICAL)
     2408                sizeVal = wx.TextCtrl(dataDisplay,wx.ID_ANY,'%.3f'%(val),style=wx.TE_PROCESS_ENTER)
     2409                Indx[sizeVal.GetId()] = [item,id]
     2410                sizeVal.Bind(wx.EVT_TEXT_ENTER,OnSizeVal)
     2411                sizeVal.Bind(wx.EVT_KILL_FOCUS,OnSizeVal)
     2412                dataSizer.Add(sizeVal,0,wx.ALIGN_CENTER_VERTICAL)
     2413            return dataSizer
     2414           
     2415        def GenStrainDataSizer():
     2416            Snames = G2spc.MustrainNames(SGData)
     2417            numb = len(Snames)
     2418            if len(UseList[item]['Mustrain'][4]) < numb:
     2419                UseList[item]['Mustrain'][4] = numb*[0.0,]
     2420                UseList[item]['Mustrain'][5] = numb*[False,]
     2421            parms = zip(Snames,UseList[item]['Mustrain'][4],UseList[item]['Mustrain'][5],range(numb))
     2422            dataSizer = wx.FlexGridSizer(1,6,5,5)
     2423            for Pa,val,ref,id in parms:
     2424                strainRef = wx.CheckBox(dataDisplay,-1,label=Pa)
     2425                strainRef.thisown = False
     2426                strainRef.SetValue(ref)
     2427                Indx[strainRef.GetId()] = [item,id]
     2428                strainRef.Bind(wx.EVT_CHECKBOX, OnStrainRef)
     2429                dataSizer.Add(strainRef,0,wx.ALIGN_CENTER_VERTICAL)
     2430                strainVal = wx.TextCtrl(dataDisplay,wx.ID_ANY,'%.5f'%(val),style=wx.TE_PROCESS_ENTER)
     2431                Indx[strainVal.GetId()] = [item,id]
     2432                strainVal.Bind(wx.EVT_TEXT_ENTER,OnStrainVal)
     2433                strainVal.Bind(wx.EVT_KILL_FOCUS,OnStrainVal)
     2434                dataSizer.Add(strainVal,0,wx.ALIGN_CENTER_VERTICAL)
     2435            return dataSizer
     2436           
     2437        def HstrainSizer():
     2438            hstrainSizer = wx.FlexGridSizer(1,6,5,5)
     2439            Hsnames = G2spc.HStrainNames(SGData)
     2440            parms = zip(Hsnames,UseList[item]['HStrain'][0],UseList[item]['HStrain'][1],range(len(Hsnames)))
     2441            for Pa,val,ref,id in parms:
     2442                hstrainRef = wx.CheckBox(dataDisplay,-1,label=Pa)
     2443                hstrainRef.thisown = False
     2444                hstrainRef.SetValue(ref)
     2445                Indx[hstrainRef.GetId()] = [item,id]
     2446                hstrainRef.Bind(wx.EVT_CHECKBOX, OnHstrainRef)
     2447                hstrainSizer.Add(hstrainRef,0,wx.ALIGN_CENTER_VERTICAL)
     2448                hstrainVal = wx.TextCtrl(dataDisplay,wx.ID_ANY,'%.5f'%(val),style=wx.TE_PROCESS_ENTER)
     2449                Indx[hstrainVal.GetId()] = [item,id]
     2450                hstrainVal.Bind(wx.EVT_TEXT_ENTER,OnHstrainVal)
     2451                hstrainVal.Bind(wx.EVT_KILL_FOCUS,OnHstrainVal)
     2452                hstrainSizer.Add(hstrainVal,0,wx.ALIGN_CENTER_VERTICAL)
     2453            return hstrainSizer
     2454           
     2455                                   
    23252456        DData.DestroyChildren()
    23262457        dataDisplay = wx.Panel(DData)
     
    23452476           
    23462477            if UseList[item]['Show']:
    2347                 scaleSizer = wx.BoxSizer(wx.HORIZONTAL)
    2348                 scaleRef = wx.CheckBox(dataDisplay,-1,label=' Phase fraction: ')
    2349                 scaleRef.SetValue(UseList[item]['Scale'][1])
    2350                 Indx[scaleRef.GetId()] = item
    2351                 scaleRef.Bind(wx.EVT_CHECKBOX, OnScaleRef)
    2352                 scaleSizer.Add(scaleRef,0,wx.ALIGN_CENTER_VERTICAL)
    2353                 scaleVal = wx.TextCtrl(dataDisplay,wx.ID_ANY,
    2354                     '%.4f'%(UseList[item]['Scale'][0]),style=wx.TE_PROCESS_ENTER)
    2355                 Indx[scaleVal.GetId()] = item
    2356                 scaleVal.Bind(wx.EVT_TEXT_ENTER,OnScaleVal)
    2357                 scaleVal.Bind(wx.EVT_KILL_FOCUS,OnScaleVal)
    2358                 scaleSizer.Add(scaleVal,0,wx.ALIGN_CENTER_VERTICAL)
    2359                 mainSizer.Add(scaleSizer)
     2478                mainSizer.Add(ScaleSizer())
    23602479                mainSizer.Add((0,5),0)
    23612480               
    23622481            if item[:4] == 'PWDR' and UseList[item]['Show']:
    2363                 sizeSizer = wx.BoxSizer(wx.HORIZONTAL)
    2364                 sizeSizer.Add(wx.StaticText(dataDisplay,-1,' Size model: '),0,wx.ALIGN_CENTER_VERTICAL)
    2365                 choices = ['isotropic','uniaxial','ellipsoidal']
    2366                 sizeType = wx.ComboBox(dataDisplay,wx.ID_ANY,value=UseList[item]['Size'][0],choices=choices,
    2367                     style=wx.CB_READONLY|wx.CB_DROPDOWN)
    2368                 sizeType.Bind(wx.EVT_COMBOBOX, OnSizeType)
    2369                 Indx[sizeType.GetId()] = item
    2370                 sizeSizer.Add(sizeType)
    2371                 sizeSizer.Add((5,0),0)
     2482                sizeSizer = wx.BoxSizer(wx.VERTICAL)
    23722483                if UseList[item]['Size'][0] == 'isotropic':
    2373                     sizeRef = wx.CheckBox(dataDisplay,-1,label=' Cryst. size(\xb5m): ')
    2374                     sizeRef.thisown = False
    2375                     sizeRef.SetValue(UseList[item]['Size'][2][0])
    2376                     Indx[sizeRef.GetId()] = [item,0]
    2377                     sizeRef.Bind(wx.EVT_CHECKBOX, OnSizeRef)
    2378                     sizeSizer.Add(sizeRef,0,wx.ALIGN_CENTER_VERTICAL)
    2379                     sizeVal = wx.TextCtrl(dataDisplay,wx.ID_ANY,
    2380                         '%.3f'%(UseList[item]['Size'][1][0]),style=wx.TE_PROCESS_ENTER)
    2381                     Indx[sizeVal.GetId()] = [item,0]
    2382                     sizeVal.Bind(wx.EVT_TEXT_ENTER,OnSizeVal)
    2383                     sizeVal.Bind(wx.EVT_KILL_FOCUS,OnSizeVal)
    2384                     sizeSizer.Add(sizeVal,0,wx.ALIGN_CENTER_VERTICAL)
    2385                     mainSizer.Add(sizeSizer)
    2386                     mainSizer.Add((0,5),0)                   
     2484                    isoSizer = wx.BoxSizer(wx.HORIZONTAL)
     2485                    isoSizer.Add(TopSizer(' Size model: ',['isotropic','uniaxial','ellipsoidal'],
     2486                        'Size',OnSizeType),0,wx.ALIGN_CENTER_VERTICAL)
     2487                    isoSizer.Add(IsoSizer(' Cryst. size(\xb5m): ','Size','%.3f',
     2488                        OnSizeVal,OnSizeRef),0,wx.ALIGN_CENTER_VERTICAL)
     2489                    sizeSizer.Add(isoSizer)
    23872490                elif UseList[item]['Size'][0] == 'uniaxial':
    2388                     sizeSizer.Add(wx.StaticText(dataDisplay,-1,' Unique axis, H K L: '),0,wx.ALIGN_CENTER_VERTICAL)
    2389                     h,k,l = UseList[item]['Size'][3]
    2390                     sizeAxis = wx.TextCtrl(dataDisplay,-1,'%3d %3d %3d'%(h,k,l),style=wx.TE_PROCESS_ENTER)
    2391                     Indx[sizeAxis.GetId()] = item
    2392                     sizeAxis.Bind(wx.EVT_TEXT_ENTER,OnSizeAxis)
    2393                     sizeAxis.Bind(wx.EVT_KILL_FOCUS,OnSizeAxis)
    2394                     sizeSizer.Add(sizeAxis,0,wx.ALIGN_CENTER_VERTICAL)
    2395                     mainSizer.Add(sizeSizer)
    2396                     mainSizer.Add((0,5),0)
    2397                     sizeSizer2 = wx.BoxSizer(wx.HORIZONTAL)
    2398                     parms = zip([' Equatorial size(\xb5m): ',' Axial size(\xb5m): '],
    2399                         UseList[item]['Size'][1],UseList[item]['Size'][2],range(2))
    2400                     for Pa,val,ref,id in parms:
    2401                         sizeRef = wx.CheckBox(dataDisplay,-1,label=Pa)
    2402                         sizeRef.thisown = False
    2403                         sizeRef.SetValue(ref)
    2404                         Indx[sizeRef.GetId()] = [item,id]
    2405                         sizeRef.Bind(wx.EVT_CHECKBOX, OnSizeRef)
    2406                         sizeSizer2.Add(sizeRef,0,wx.ALIGN_CENTER_VERTICAL)
    2407                         sizeVal = wx.TextCtrl(dataDisplay,wx.ID_ANY,'%.3f'%(val),style=wx.TE_PROCESS_ENTER)
    2408                         Indx[sizeVal.GetId()] = [item,id]
    2409                         sizeVal.Bind(wx.EVT_TEXT_ENTER,OnSizeVal)
    2410                         sizeVal.Bind(wx.EVT_KILL_FOCUS,OnSizeVal)
    2411                         sizeSizer2.Add(sizeVal,0,wx.ALIGN_CENTER_VERTICAL)
    2412                         sizeSizer2.Add((5,0),0)
    2413                     sizeSizer2.Add((5,0),0)                   
    2414                     mainSizer.Add(sizeSizer2)
     2491                    uniSizer = wx.BoxSizer(wx.HORIZONTAL)
     2492                    uniSizer.Add(TopSizer(' Size model: ',['isotropic','uniaxial','ellipsoidal'],
     2493                        'Size',OnSizeType),0,wx.ALIGN_CENTER_VERTICAL)
     2494                    uniSizer.Add(UniSizer('Size',OnSizeAxis),0,wx.ALIGN_CENTER_VERTICAL)
     2495                    sizeSizer.Add(uniSizer)
     2496                    sizeSizer.Add(UniDataSizer('size(\xb5m): ','Size','%.3f',OnSizeVal,OnSizeRef))
    24152497                elif UseList[item]['Size'][0] == 'ellipsoidal':
    2416                     sizeSizer.Add(wx.StaticText(dataDisplay,-1,' Coefficients(\xb5m): '),0,wx.ALIGN_CENTER_VERTICAL)
    2417                     mainSizer.Add(sizeSizer)
    2418                     mainSizer.Add((0,5),0)
    2419                     parms = zip(['S11','S22','S33','S12','S13','S23'],UseList[item]['Size'][4],
    2420                         UseList[item]['Size'][5],range(6))
    2421                     sizeSizer3 = wx.FlexGridSizer(2,6,5,5)
    2422                     for Pa,val,ref,id in parms:
    2423                         sizeRef = wx.CheckBox(dataDisplay,-1,label=Pa)
    2424                         sizeRef.thisown = False
    2425                         sizeRef.SetValue(ref)
    2426                         Indx[sizeRef.GetId()] = [item,id]
    2427                         sizeRef.Bind(wx.EVT_CHECKBOX, OnSizeRef)
    2428                         sizeSizer3.Add(sizeRef,0,wx.ALIGN_CENTER_VERTICAL)
    2429                         sizeVal = wx.TextCtrl(dataDisplay,wx.ID_ANY,'%.3f'%(val),style=wx.TE_PROCESS_ENTER)
    2430                         Indx[sizeVal.GetId()] = [item,id]
    2431                         sizeVal.Bind(wx.EVT_TEXT_ENTER,OnSizeVal)
    2432                         sizeVal.Bind(wx.EVT_KILL_FOCUS,OnSizeVal)
    2433                         sizeSizer3.Add(sizeVal,0,wx.ALIGN_CENTER_VERTICAL)
    2434                     mainSizer.Add(sizeSizer3)
     2498                    ellSizer = wx.BoxSizer(wx.HORIZONTAL)
     2499                    ellSizer.Add(TopSizer(' Size model: ',['isotropic','uniaxial','ellipsoidal'],
     2500                        'Size',OnSizeType),0,wx.ALIGN_CENTER_VERTICAL)
     2501                    ellSizer.Add(wx.StaticText(dataDisplay,-1,' Coefficients(\xb5m): '),0,wx.ALIGN_CENTER_VERTICAL)
     2502                    sizeSizer.Add(ellSizer)
     2503                    sizeSizer.Add(EllSizeDataSizer())
     2504                mainSizer.Add(sizeSizer)
     2505                mainSizer.Add((0,5),0)                   
    24352506               
    2436                 strainSizer = wx.BoxSizer(wx.HORIZONTAL)
    2437                 strainSizer.Add(wx.StaticText(dataDisplay,-1,' Mustrain model: '),0,wx.ALIGN_CENTER_VERTICAL)
    2438                 choices = ['isotropic','uniaxial','generalized',]
    2439                 strainType = wx.ComboBox(dataDisplay,wx.ID_ANY,value=UseList[item]['Mustrain'][0],choices=choices,
    2440                     style=wx.CB_READONLY|wx.CB_DROPDOWN)
    2441                 strainType.Bind(wx.EVT_COMBOBOX, OnStrainType)
    2442                 Indx[strainType.GetId()] = item
    2443                 strainSizer.Add(strainType)
    2444                 strainSizer.Add((5,0),0)
     2507                strainSizer = wx.BoxSizer(wx.VERTICAL)
    24452508                if UseList[item]['Mustrain'][0] == 'isotropic':
    2446                     strainRef = wx.CheckBox(dataDisplay,-1,label=' microstrain: ')
    2447                     strainRef.SetValue(UseList[item]['Mustrain'][2][0])
    2448                     Indx[strainRef.GetId()] = [item,0]
    2449                     strainRef.Bind(wx.EVT_CHECKBOX, OnStrainRef)
    2450                     strainSizer.Add(strainRef,0,wx.ALIGN_CENTER_VERTICAL)
    2451                     strainVal = wx.TextCtrl(dataDisplay,wx.ID_ANY,
    2452                         '%.1f'%(UseList[item]['Mustrain'][1][0]),style=wx.TE_PROCESS_ENTER)
    2453                     Indx[strainVal.GetId()] = [item,0]
    2454                     strainVal.Bind(wx.EVT_TEXT_ENTER,OnStrainVal)
    2455                     strainVal.Bind(wx.EVT_KILL_FOCUS,OnStrainVal)
    2456                     strainSizer.Add(strainVal,0,wx.ALIGN_CENTER_VERTICAL)
    2457                     mainSizer.Add(strainSizer)
    2458                     mainSizer.Add((0,5),0)
     2509                    isoSizer = wx.BoxSizer(wx.HORIZONTAL)
     2510                    isoSizer.Add(TopSizer(' Mustrain model: ',['isotropic','uniaxial','generalized',],
     2511                        'Mustrain',OnStrainType),0,wx.ALIGN_CENTER_VERTICAL)
     2512                    isoSizer.Add(IsoSizer(' microstrain: ','Mustrain','%.1f',
     2513                        OnStrainVal,OnStrainRef),0,wx.ALIGN_CENTER_VERTICAL)                   
     2514                    strainSizer.Add(isoSizer)
    24592515                elif UseList[item]['Mustrain'][0] == 'uniaxial':
    2460                     strainSizer.Add(wx.StaticText(dataDisplay,-1,' Unique axis, H K L: '),0,wx.ALIGN_CENTER_VERTICAL)
    2461                     h,k,l = UseList[item]['Mustrain'][3]
    2462                     strAxis = wx.TextCtrl(dataDisplay,-1,'%3d %3d %3d'%(h,k,l),style=wx.TE_PROCESS_ENTER)
    2463                     Indx[strAxis.GetId()] = item
    2464                     strAxis.Bind(wx.EVT_TEXT_ENTER,OnStrainAxis)
    2465                     strAxis.Bind(wx.EVT_KILL_FOCUS,OnStrainAxis)
    2466                     strainSizer.Add(strAxis,0,wx.ALIGN_CENTER_VERTICAL)
    2467                     mainSizer.Add(strainSizer)
    2468                     mainSizer.Add((0,5),0)
    2469                     strainSizer = wx.BoxSizer(wx.HORIZONTAL)
    2470                     parms = zip([' Equatorial mustrain: ',' Axial mustrain: '],
    2471                         UseList[item]['Mustrain'][1],UseList[item]['Mustrain'][2],range(2))
    2472                     for Pa,val,ref,id in parms:
    2473                         strainRef = wx.CheckBox(dataDisplay,-1,label=Pa)
    2474                         strainRef.thisown = False
    2475                         strainRef.SetValue(ref)
    2476                         Indx[strainRef.GetId()] = [item,id]
    2477                         strainRef.Bind(wx.EVT_CHECKBOX, OnStrainRef)
    2478                         strainSizer.Add(strainRef,0,wx.ALIGN_CENTER_VERTICAL)
    2479                         strainVal = wx.TextCtrl(dataDisplay,wx.ID_ANY,'%.1f'%(val),style=wx.TE_PROCESS_ENTER)
    2480                         Indx[strainVal.GetId()] = [item,id]
    2481                         strainVal.Bind(wx.EVT_TEXT_ENTER,OnStrainVal)
    2482                         strainVal.Bind(wx.EVT_KILL_FOCUS,OnStrainVal)
    2483                         strainSizer.Add(strainVal,0,wx.ALIGN_CENTER_VERTICAL)
    2484                         strainSizer.Add((5,0),0)
    2485                     strainSizer.Add((5,0),0)                   
    2486                     mainSizer.Add(strainSizer)
     2516                    uniSizer = wx.BoxSizer(wx.HORIZONTAL)
     2517                    uniSizer.Add(TopSizer(' Mustrain model: ',['isotropic','uniaxial','generalized',],
     2518                        'Mustrain',OnStrainType),0,wx.ALIGN_CENTER_VERTICAL)
     2519                    uniSizer.Add(UniSizer('Mustrain',OnStrainAxis),0,wx.ALIGN_CENTER_VERTICAL)
     2520                    sizeSizer.Add(uniSizer)
     2521                    sizeSizer.Add(UniDataSizer('mustrain: ','Mustrain','%.1f',OnStrainVal,OnStrainRef))
    24872522                elif UseList[item]['Mustrain'][0] == 'generalized':
    2488                     strainSizer.Add(wx.StaticText(dataDisplay,-1,' Coefficients: '),0,wx.ALIGN_CENTER_VERTICAL)
    2489                     mainSizer.Add(strainSizer)
    2490                     mainSizer.Add((0,5),0)
    2491                     Snames = G2spc.MustrainNames(SGData)
    2492                     numb = len(Snames)
    2493                     if len(UseList[item]['Mustrain'][4]) < numb:
    2494                         UseList[item]['Mustrain'][4] = numb*[0.0,]
    2495                         UseList[item]['Mustrain'][5] = numb*[False,]
    2496                     parms = zip(Snames,UseList[item]['Mustrain'][4],UseList[item]['Mustrain'][5],range(numb))
    2497                     strainSizer = wx.FlexGridSizer(1,6,5,5)
    2498                     for Pa,val,ref,id in parms:
    2499                         strainRef = wx.CheckBox(dataDisplay,-1,label=Pa)
    2500                         strainRef.thisown = False
    2501                         strainRef.SetValue(ref)
    2502                         Indx[strainRef.GetId()] = [item,id]
    2503                         strainRef.Bind(wx.EVT_CHECKBOX, OnStrainRef)
    2504                         strainSizer.Add(strainRef,0,wx.ALIGN_CENTER_VERTICAL)
    2505                         strainVal = wx.TextCtrl(dataDisplay,wx.ID_ANY,'%.5f'%(val),style=wx.TE_PROCESS_ENTER)
    2506                         Indx[strainVal.GetId()] = [item,id]
    2507                         strainVal.Bind(wx.EVT_TEXT_ENTER,OnStrainVal)
    2508                         strainVal.Bind(wx.EVT_KILL_FOCUS,OnStrainVal)
    2509                         strainSizer.Add(strainVal,0,wx.ALIGN_CENTER_VERTICAL)
    2510                     mainSizer.Add(strainSizer)
     2523                    genSizer = wx.BoxSizer(wx.HORIZONTAL)
     2524                    genSizer.Add(TopSizer(' Mustrain model: ',['isotropic','uniaxial','generalized',],
     2525                        'Mustrain',OnStrainType),0,wx.ALIGN_CENTER_VERTICAL)
     2526                    genSizer.Add(wx.StaticText(dataDisplay,-1,' Coefficients: '),0,wx.ALIGN_CENTER_VERTICAL)
     2527                    strainSizer.Add(genSizer)
     2528                    strainSizer.Add(GenStrainDataSizer())                       
     2529                mainSizer.Add(strainSizer)
     2530                mainSizer.Add((0,5),0)
     2531               
    25112532                mainSizer.Add(wx.StaticText(dataDisplay,-1,' Hydrostatic strain:'))
    2512                 hstrainSizer = wx.FlexGridSizer(1,6,5,5)
    2513                 Hsnames = G2spc.HStrainNames(SGData)
    2514                 parms = zip(Hsnames,UseList[item]['HStrain'][0],UseList[item]['HStrain'][1],range(len(Hsnames)))
    2515                 for Pa,val,ref,id in parms:
    2516                     hstrainRef = wx.CheckBox(dataDisplay,-1,label=Pa)
    2517                     hstrainRef.thisown = False
    2518                     hstrainRef.SetValue(ref)
    2519                     Indx[hstrainRef.GetId()] = [item,id]
    2520                     hstrainRef.Bind(wx.EVT_CHECKBOX, OnHstrainRef)
    2521                     hstrainSizer.Add(hstrainRef,0,wx.ALIGN_CENTER_VERTICAL)
    2522                     hstrainVal = wx.TextCtrl(dataDisplay,wx.ID_ANY,'%.5f'%(val),style=wx.TE_PROCESS_ENTER)
    2523                     Indx[hstrainVal.GetId()] = [item,id]
    2524                     hstrainVal.Bind(wx.EVT_TEXT_ENTER,OnHstrainVal)
    2525                     hstrainVal.Bind(wx.EVT_KILL_FOCUS,OnHstrainVal)
    2526                     hstrainSizer.Add(hstrainVal,0,wx.ALIGN_CENTER_VERTICAL)
    2527                 mainSizer.Add(hstrainSizer)
     2533                mainSizer.Add(HstrainSizer())
    25282534                   
    25292535                #texture  'Pref. Ori.':['MD',1.0,False,[0,0,1],0,[]] last two for 'SH' are SHorder & coeff
Note: See TracChangeset for help on using the changeset viewer.