Changeset 1944 for trunk/GSASIIimgGUI.py


Ignore:
Timestamp:
Jul 22, 2015 4:14:29 PM (8 years ago)
Author:
vondreele
Message:

add G2HistDataDialog for editing e.g. orientation angles over all images - could be used elsewhere
fix problem of bad RefList? key on plotting new histograms
fix failure (file busy!) in GPXBackup

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIimgGUI.py

    r1936 r1944  
    964964            data['GonioAngles'][item] = value
    965965            Obj.SetValue('%8.2f'%(value))
     966           
     967        def OnGlobalEdit(event):
     968            Names = []
     969            Items = []
     970            if G2frame.PatternTree.GetCount():
     971                id, cookie = G2frame.PatternTree.GetFirstChild(G2frame.root)
     972                while id:
     973                    name = G2frame.PatternTree.GetItemText(id)
     974                    if 'IMG' in name:
     975                        ctrls = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,id,'Image Controls'))
     976                        Names.append(name)
     977                        Items.append(ctrls['GonioAngles'])
     978                    id, cookie = G2frame.PatternTree.GetNextChild(G2frame.root, cookie)
     979                if len(Names) == 1:
     980                    G2frame.ErrorDialog('Nothing for global editing','There must be more than one "IMG" pattern')
     981                    return
     982                dlg = G2G.G2HistoDataDialog(G2frame,' Edit sample goniometer data:',
     983                    'Edit data',['Omega','Chi','Phi'],['%.2f','%.2f','%.2f'],Names,Items)
     984            try:
     985                if dlg.ShowModal() == wx.ID_OK:
     986                    result = dlg.GetData()
     987                    id, cookie = G2frame.PatternTree.GetFirstChild(G2frame.root)
     988                    while id:
     989                        name = G2frame.PatternTree.GetItemText(id)
     990                        if 'IMG' in name:
     991                            ctrls = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,id,'Image Controls'))
     992                            vals = Items[Names.index(name)]
     993                            ctrls['GonioAngles'] = vals
     994#                            G2frame.PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,id, 'Image Controls'),ctrls)
     995                        id, cookie = G2frame.PatternTree.GetNextChild(G2frame.root, cookie)
     996            finally:
     997                dlg.Destroy()
     998                G2frame.PatternTree.SelectItem(G2frame.PickId)
    966999       
    9671000        gonioSizer = wx.BoxSizer(wx.HORIZONTAL)
     
    9761009            ValObj[angle.GetId()] = i
    9771010            gonioSizer.Add(angle,0,WACV)
     1011        globEdit = wx.Button(G2frame.dataDisplay,-1,'Global edit')
     1012        globEdit.Bind(wx.EVT_BUTTON,OnGlobalEdit)
     1013        gonioSizer.Add(globEdit,0,WACV)
    9781014        return gonioSizer
    9791015       
Note: See TracChangeset for help on using the changeset viewer.