Changeset 405 for trunk/GSASIIphsGUI.py


Ignore:
Timestamp:
Oct 29, 2011 8:54:52 AM (10 years ago)
Author:
vondreele
Message:

finish refactor of DData

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIphsGUI.py

    r404 r405  
    22512251            Obj = event.GetEventObject()
    22522252            hist = Indx[Obj.GetId()]
    2253             if 'March' in POType.GetValue():
     2253            if 'March' in Obj.GetValue():
    22542254                UseList[hist]['Pref.Ori.'][0] = 'MD'
    22552255            else:
     
    24532453            return hstrainSizer
    24542454           
     2455        def PoTopSizer(POData):
     2456            poSizer = wx.FlexGridSizer(1,6,5,5)
     2457            choice = ['March-Dollase','Spherical harmonics']
     2458            POtype = choice[['MD','SH'].index(POData[0])]
     2459            poSizer.Add(wx.StaticText(dataDisplay,-1,' Preferred orientation model '),0,wx.ALIGN_CENTER_VERTICAL)
     2460            POType = wx.ComboBox(dataDisplay,wx.ID_ANY,value=POtype,choices=choice,
     2461                style=wx.CB_READONLY|wx.CB_DROPDOWN)
     2462            Indx[POType.GetId()] = item
     2463            POType.Bind(wx.EVT_COMBOBOX, OnPOType)
     2464            poSizer.Add(POType)
     2465            if POData[0] == 'SH':
     2466                poSizer.Add(wx.StaticText(dataDisplay,-1,' Harmonic order: '),0,wx.ALIGN_CENTER_VERTICAL)
     2467                poOrder = wx.ComboBox(dataDisplay,wx.ID_ANY,value=str(POData[4]),choices=[str(2*i) for i in range(18)],
     2468                    style=wx.CB_READONLY|wx.CB_DROPDOWN)
     2469                Indx[poOrder.GetId()] = item
     2470                poOrder.Bind(wx.EVT_COMBOBOX,OnPOOrder)
     2471                poSizer.Add(poOrder,0,wx.ALIGN_CENTER_VERTICAL)
     2472                poRef = wx.CheckBox(dataDisplay,-1,label=' Refine? ')
     2473                poRef.SetValue(POData[2])
     2474                Indx[poRef.GetId()] = item
     2475                poRef.Bind(wx.EVT_CHECKBOX,OnPORef)
     2476                poSizer.Add(poRef,0,wx.ALIGN_CENTER_VERTICAL)
     2477            return poSizer
     2478           
     2479        def MDDataSizer(POData):
     2480            poSizer = wx.BoxSizer(wx.HORIZONTAL)
     2481            poRef = wx.CheckBox(dataDisplay,-1,label=' March-Dollase ratio: ')
     2482            poRef.SetValue(POData[2])
     2483            Indx[poRef.GetId()] = item
     2484            poRef.Bind(wx.EVT_CHECKBOX,OnPORef)
     2485            poSizer.Add(poRef,0,wx.ALIGN_CENTER_VERTICAL)
     2486            poVal = wx.TextCtrl(dataDisplay,wx.ID_ANY,
     2487                '%.3f'%(POData[1]),style=wx.TE_PROCESS_ENTER)
     2488            Indx[poVal.GetId()] = item
     2489            poVal.Bind(wx.EVT_TEXT_ENTER,OnPOVal)
     2490            poVal.Bind(wx.EVT_KILL_FOCUS,OnPOVal)
     2491            poSizer.Add(poVal,0,wx.ALIGN_CENTER_VERTICAL)
     2492            poSizer.Add(wx.StaticText(dataDisplay,-1,' Unique axis, H K L: '),0,wx.ALIGN_CENTER_VERTICAL)
     2493            h,k,l =POData[3]
     2494            poAxis = wx.TextCtrl(dataDisplay,-1,'%3d %3d %3d'%(h,k,l),style=wx.TE_PROCESS_ENTER)
     2495            Indx[poAxis.GetId()] = item
     2496            poAxis.Bind(wx.EVT_TEXT_ENTER,OnPOAxis)
     2497            poAxis.Bind(wx.EVT_KILL_FOCUS,OnPOAxis)
     2498            poSizer.Add(poAxis,0,wx.ALIGN_CENTER_VERTICAL)
     2499            return poSizer
     2500           
     2501        def SHDataSizer(POData):
     2502            textJ = G2lat.textureIndex(POData[5])
     2503            mainSizer.Add(wx.StaticText(dataDisplay,-1,' Spherical harmonic coefficients: '+'Texture index: %.3f'%(textJ)),0,wx.ALIGN_CENTER_VERTICAL)
     2504            mainSizer.Add((0,5),0)
     2505            ODFSizer = wx.FlexGridSizer(2,8,2,2)
     2506            ODFIndx = {}
     2507            ODFkeys = POData[5].keys()
     2508            ODFkeys.sort()
     2509            for odf in ODFkeys:
     2510                ODFSizer.Add(wx.StaticText(dataDisplay,-1,odf),0,wx.ALIGN_CENTER_VERTICAL)
     2511                ODFval = wx.TextCtrl(dataDisplay,wx.ID_ANY,'%8.3f'%(POData[5][odf]),style=wx.TE_PROCESS_ENTER)
     2512                ODFIndx[ODFval.GetId()] = odf
     2513#                ODFval.Bind(wx.EVT_TEXT_ENTER,OnODFValue)
     2514#                ODFval.Bind(wx.EVT_KILL_FOCUS,OnODFValue)
     2515                ODFSizer.Add(ODFval,0,wx.ALIGN_CENTER_VERTICAL)
     2516            return ODFSizer
     2517           
     2518        def ExtSizer():           
     2519            extSizer = wx.BoxSizer(wx.HORIZONTAL)
     2520            extRef = wx.CheckBox(dataDisplay,-1,label=' Extinction: ')
     2521            extRef.SetValue(UseList[item]['Extinction'][1])
     2522            Indx[extRef.GetId()] = item
     2523            extRef.Bind(wx.EVT_CHECKBOX, OnExtRef)
     2524            extSizer.Add(extRef,0,wx.ALIGN_CENTER_VERTICAL)
     2525            extVal = wx.TextCtrl(dataDisplay,wx.ID_ANY,
     2526                '%.2f'%(UseList[item]['Extinction'][0]),style=wx.TE_PROCESS_ENTER)
     2527            Indx[extVal.GetId()] = item
     2528            extVal.Bind(wx.EVT_TEXT_ENTER,OnExtVal)
     2529            extVal.Bind(wx.EVT_KILL_FOCUS,OnExtVal)
     2530            extSizer.Add(extVal,0,wx.ALIGN_CENTER_VERTICAL)
     2531            return extSizer
    24552532                                   
    24562533        DData.DestroyChildren()
     
    25342611                   
    25352612                #texture  'Pref. Ori.':['MD',1.0,False,[0,0,1],0,[]] last two for 'SH' are SHorder & coeff
    2536                 poSizer = wx.FlexGridSizer(1,6,5,5)
     2613                poSizer = wx.BoxSizer(wx.VERTICAL)
    25372614                POData = UseList[item]['Pref.Ori.']
    2538                 choice = ['March-Dollase','Spherical harmonics']
    2539                 POtype = choice[['MD','SH'].index(POData[0])]
    2540                 poSizer.Add(wx.StaticText(dataDisplay,-1,' Preferred orientation model '),0,wx.ALIGN_CENTER_VERTICAL)
    2541                 POType = wx.ComboBox(dataDisplay,wx.ID_ANY,value=POtype,choices=choice,
    2542                     style=wx.CB_READONLY|wx.CB_DROPDOWN)
    2543                 Indx[POType.GetId()] = item
    2544                 POType.Bind(wx.EVT_COMBOBOX, OnPOType)
    2545                 poSizer.Add(POType)
     2615                poSizer.Add(PoTopSizer(POData))
    25462616                if POData[0] == 'MD':
    2547                     mainSizer.Add(poSizer)
    2548                     poSizer = wx.BoxSizer(wx.HORIZONTAL)
    2549                     poRef = wx.CheckBox(dataDisplay,-1,label=' March-Dollase ratio: ')
    2550                     poRef.SetValue(POData[2])
    2551                     Indx[poRef.GetId()] = item
    2552                     poRef.Bind(wx.EVT_CHECKBOX,OnPORef)
    2553                     poSizer.Add(poRef,0,wx.ALIGN_CENTER_VERTICAL)
    2554                     poVal = wx.TextCtrl(dataDisplay,wx.ID_ANY,
    2555                         '%.3f'%(POData[1]),style=wx.TE_PROCESS_ENTER)
    2556                     Indx[poVal.GetId()] = item
    2557                     poVal.Bind(wx.EVT_TEXT_ENTER,OnPOVal)
    2558                     poVal.Bind(wx.EVT_KILL_FOCUS,OnPOVal)
    2559                     poSizer.Add(poVal,0,wx.ALIGN_CENTER_VERTICAL)
    2560                     poSizer.Add(wx.StaticText(dataDisplay,-1,' Unique axis, H K L: '),0,wx.ALIGN_CENTER_VERTICAL)
    2561                     h,k,l =POData[3]
    2562                     poAxis = wx.TextCtrl(dataDisplay,-1,'%3d %3d %3d'%(h,k,l),style=wx.TE_PROCESS_ENTER)
    2563                     Indx[poAxis.GetId()] = item
    2564                     poAxis.Bind(wx.EVT_TEXT_ENTER,OnPOAxis)
    2565                     poAxis.Bind(wx.EVT_KILL_FOCUS,OnPOAxis)
    2566                     poSizer.Add(poAxis,0,wx.ALIGN_CENTER_VERTICAL)
    2567                     mainSizer.Add(poSizer)
     2617                    poSizer.Add(MDDataSizer(POData))
    25682618                else:           #'SH'
    2569                     poSizer.Add(wx.StaticText(dataDisplay,-1,' Harmonic order: '),0,wx.ALIGN_CENTER_VERTICAL)
    2570                     poOrder = wx.ComboBox(dataDisplay,wx.ID_ANY,value=str(POData[4]),choices=[str(2*i) for i in range(18)],
    2571                         style=wx.CB_READONLY|wx.CB_DROPDOWN)
    2572                     Indx[poOrder.GetId()] = item
    2573                     poOrder.Bind(wx.EVT_COMBOBOX,OnPOOrder)
    2574                     poSizer.Add(poOrder,0,wx.ALIGN_CENTER_VERTICAL)
    2575                     poRef = wx.CheckBox(dataDisplay,-1,label=' Refine? ')
    2576                     poRef.SetValue(POData[2])
    2577                     Indx[poRef.GetId()] = item
    2578                     poRef.Bind(wx.EVT_CHECKBOX,OnPORef)
    2579                     poSizer.Add(poRef,0,wx.ALIGN_CENTER_VERTICAL)
    2580                     mainSizer.Add(poSizer)
    2581                     if POData[4]:
    2582                         textJ = G2lat.textureIndex(POData[5])
    2583                         mainSizer.Add(wx.StaticText(dataDisplay,-1,' Spherical harmonic coefficients: '+'Texture index: %.3f'%(textJ)),0,wx.ALIGN_CENTER_VERTICAL)
    2584                         mainSizer.Add((0,5),0)
    2585                         ODFSizer = wx.FlexGridSizer(2,8,2,2)
    2586                         ODFIndx = {}
    2587                         ODFkeys = POData[5].keys()
    2588                         ODFkeys.sort()
    2589                         for odf in ODFkeys:
    2590                             ODFSizer.Add(wx.StaticText(dataDisplay,-1,odf),0,wx.ALIGN_CENTER_VERTICAL)
    2591                             ODFval = wx.TextCtrl(dataDisplay,wx.ID_ANY,'%8.3f'%(POData[5][odf]),style=wx.TE_PROCESS_ENTER)
    2592                             ODFIndx[ODFval.GetId()] = odf
    2593     #                        ODFval.Bind(wx.EVT_TEXT_ENTER,OnODFValue)
    2594     #                        ODFval.Bind(wx.EVT_KILL_FOCUS,OnODFValue)
    2595                             ODFSizer.Add(ODFval,0,wx.ALIGN_CENTER_VERTICAL)
    2596                         mainSizer.Add(ODFSizer,0,wx.ALIGN_CENTER_VERTICAL)
    2597                         mainSizer.Add((0,5),0)
     2619                    if POData[4]:       #SH order > 0
     2620                        poSizer.Add(SHDataSizer(POData))
     2621                mainSizer.Add(poSizer)
    25982622                mainSizer.Add((0,5),0)               
    25992623                #Extinction  'Extinction':[0.0,False]
    2600                 extSizer = wx.BoxSizer(wx.HORIZONTAL)
    2601                 extRef = wx.CheckBox(dataDisplay,-1,label=' Extinction: ')
    2602                 extRef.SetValue(UseList[item]['Extinction'][1])
    2603                 Indx[extRef.GetId()] = item
    2604                 extRef.Bind(wx.EVT_CHECKBOX, OnExtRef)
    2605                 extSizer.Add(extRef,0,wx.ALIGN_CENTER_VERTICAL)
    2606                 extVal = wx.TextCtrl(dataDisplay,wx.ID_ANY,
    2607                     '%.2f'%(UseList[item]['Extinction'][0]),style=wx.TE_PROCESS_ENTER)
    2608                 Indx[extVal.GetId()] = item
    2609                 extVal.Bind(wx.EVT_TEXT_ENTER,OnExtVal)
    2610                 extVal.Bind(wx.EVT_KILL_FOCUS,OnExtVal)
    2611                 extSizer.Add(extVal,0,wx.ALIGN_CENTER_VERTICAL)
    2612                 mainSizer.Add(extSizer)
     2624                mainSizer.Add(ExtSizer())
    26132625                mainSizer.Add((0,5),0)
    26142626            elif item[:4] == 'HKLF' and UseList[item]['Show']:
     
    26172629
    26182630        dataDisplay.SetSizer(mainSizer,True)
    2619         mainSizer.Fit(self.dataFrame)
     2631        mainSizer.FitInside(self.dataFrame)
    26202632        Size = mainSizer.GetMinSize()
    26212633        Size[0] += 40
Note: See TracChangeset for help on using the changeset viewer.