Changeset 437


Ignore:
Timestamp:
Dec 9, 2011 11:35:43 AM (10 years ago)
Author:
vondreele
Message:

use wx.CallAfter?() - a few places it didn't work!
possible new 'RefineTexture?' using seqdata started

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIgrid.py

    r430 r437  
    8686] = [wx.NewId() for _init_coll_Refl_Items in range(1)]
    8787
    88 [ wxID_CLEARTEXTURE,
    89 ] = [wx.NewId() for _init_coll_Texture_Items in range(1)]
     88[ wxID_CLEARTEXTURE,wxID_REFINETEXTURE,
     89] = [wx.NewId() for _init_coll_Texture_Items in range(2)]
    9090
    9191[ wxID_PDFCOPYCONTROLS, wxID_PDFSAVECONTROLS, wxID_PDFLOADCONTROLS,
     
    346346
    347347    def _init_coll_Texture_Items(self,parent):
    348         self.ClearPeaks = parent.Append(id=wxID_CLEARTEXTURE, kind=wx.ITEM_NORMAL,text='Clear texture',
     348        self.RefineTexture = parent.Append(id=wxID_REFINETEXTURE, kind=wx.ITEM_NORMAL,text='Refine texture',
     349            help='Refine the texture coefficients from sequential Pawley results')
     350        self.ClearTexture = parent.Append(id=wxID_CLEARTEXTURE, kind=wx.ITEM_NORMAL,text='Clear texture',
    349351            help='Clear the texture coefficients' )
    350352           
     
    543545        self.RefineCell.Enable(False)
    544546        self.MakeNewPhase.Enable(False)
     547        self.RefineTexture.Enable(False)
     548        self.ClearTexture.Enable(False)             #doesn't do anything!
    545549       
    546550    def _init_ctrls(self, parent,name=None,size=None,pos=None):
  • trunk/GSASIIimgGUI.py

    r406 r437  
    197197            data['fullIntegrate'] = True
    198198            data['LRazimuth'] = [Lazm,Lazm+360]
    199         UpdateImageControls(self,data,masks)           
     199        wx.CallAfter(UpdateImageControls,self,data,masks)
    200200        G2plt.PlotExposedImage(self,event=event)
    201201       
     
    235235    def OnRecalibrate(event):
    236236        G2img.ImageRecalibrate(self,data)
    237         UpdateImageControls(self,data,masks)
     237        wx.CallAfter(UpdateImageControls,self,data,masks)
    238238       
    239239    def OnIntegrate(event):
     
    399399                    S = File.readline()
    400400                data.update(save)
    401                 UpdateImageControls(self,data,masks)           
     401                wx.CallAfter(UpdateImageControls,self,data,masks)
    402402                G2plt.PlotExposedImage(self,event=event)
    403403               
     
    709709        Obj = event.GetEventObject()
    710710        del(data['Points'][delSpotId.index(Obj)])
    711         UpdateMasks(self,data)           
     711        wx.CallAfter(UpdateMasks,self,data)
    712712        G2plt.PlotExposedImage(self,event=event)
    713713       
     
    725725        Obj = event.GetEventObject()
    726726        del(data['Rings'][delRingId.index(Obj)])
    727         UpdateMasks(self,data)           
     727        wx.CallAfter(UpdateMasks,self,data)
    728728        G2plt.PlotExposedImage(self,event=event)
    729729
     
    741741        Obj = event.GetEventObject()
    742742        del(data['Arcs'][delArcId.index(Obj)])
    743         UpdateMasks(self,data)           
     743        wx.CallAfter(UpdateMasks,self,data)
    744744        G2plt.PlotExposedImage(self,event=event)
    745745
     
    747747        Obj = event.GetEventObject()
    748748        del(data['Polygons'][delPolyId.index(Obj)])
    749         UpdateMasks(self,data)           
     749        wx.CallAfter(UpdateMasks,self,data)
    750750        G2plt.PlotExposedImage(self,event=event)
    751751
     
    823823                    S = File.readline()
    824824                data.update(save)
    825                 UpdateMasks(self,data)           
     825                wx.CallAfter(UpdateMasks,self,data)
    826826                G2plt.PlotExposedImage(self,event=event)
    827827               
  • trunk/GSASIIphsGUI.py

    r436 r437  
    213213            if not generalData['AtomTypes']:             #can change only if no atoms!
    214214                generalData['Type'] = TypeTxt.GetValue()
    215                 dataDisplay.Destroy()           #needed to clear away bad cellSizer, etc.
    216                 UpdateGeneral()
     215                dataDisplay.DestroyChildren()           #needed to clear away bad cellSizer, etc.
     216#                wx.CallAfter(UpdateGeneral)        doesn't work here
     217                UpdateGeneral()         #must use this way!
    217218                if generalData['Type'] == 'Pawley':
    218219                    if self.dataDisplay.FindPage('Atoms'):
     
    244245            wx.MessageBox(Text,caption=msg,style=Style)
    245246            dataDisplay.DestroyChildren()           #needed to clear away bad cellSizer, etc.
    246             UpdateGeneral()
     247            wx.CallAfter(UpdateGeneral)
    247248           
    248249        def OnCellRef(event):
     
    321322            volVal.SetValue("%.3f"%(cell[7]))
    322323            generalData['Cell'] = cell
    323             dataDisplay.Destroy()           #needed to clear away bad cellSizer, etc.
    324             UpdateGeneral()
     324            dataDisplay.DestroyChildren()           #needed to clear away bad cellSizer, etc.
     325            wx.CallAfter(UpdateGeneral)
    325326                       
    326327        def OnPawleyVal(event):
     
    340341            indx = generalData['AtomTypes'].index(item)
    341342            data['General']['AtomMass'][indx] = generalData['Isotopes'][item][isotope][0]
    342             UpdateGeneral()
     343            wx.CallAfter(UpdateGeneral)
    343344                                               
    344345        cellGUIlist = [[['m3','m3m'],4,zip([" Unit cell: a = "," Vol = "],["%.5f","%.3f"],[True,False],[0,0])],
     
    11561157                            drawingData['Atoms'][r][c] = color
    11571158                            drawAtoms.SetAttr(r,c,attr)
    1158                         UpdateDrawAtoms()
     1159                        wx.CallAfter(UpdateDrawAtoms)
    11591160                    dlg.Destroy()
    11601161                elif drawAtoms.GetColLabelValue(c) == 'Residue':
     
    11941195                    dlg.Destroy()
    11951196                    event.StopPropagation()
    1196                     UpdateDrawAtoms()
     1197                    wx.CallAfter(UpdateDrawAtoms)
    11971198            G2plt.PlotStructure(self,data)
    11981199                   
     
    13451346            atNum = generalData['AtomTypes'].index(atom[ct])
    13461347            atom[cs+2] = list(generalData['Color'][atNum])
    1347         UpdateDrawAtoms()
     1348        wx.CallAfter(UpdateDrawAtoms)
    13481349        drawAtoms.ClearSelection()
    13491350        G2plt.PlotStructure(self,data)       
     
    14491450            finally:
    14501451                dlg.Destroy()
    1451             UpdateDrawAtoms()
     1452            wx.CallAfter(UpdateDrawAtoms)
    14521453            drawAtoms.ClearSelection()
    14531454            G2plt.PlotStructure(self,data)
     
    14921493                                atomData.append(newAtom)
    14931494            data['Drawing']['Atoms'] = atomData
    1494             UpdateDrawAtoms()
     1495            wx.CallAfter(UpdateDrawAtoms)
    14951496            drawAtoms.ClearSelection()
    14961497            G2plt.PlotStructure(self,data)
     
    15451546                                atomData.append(atom[:])               
    15461547                data['Drawing']['Atoms'] = atomData
    1547             UpdateDrawAtoms()
     1548            wx.CallAfter(UpdateDrawAtoms)
    15481549            drawAtoms.ClearSelection()
    15491550            G2plt.PlotStructure(self,data)
     
    16541655            for ind in indx:
    16551656                del atomData[ind]
    1656             UpdateDrawAtoms()
     1657            wx.CallAfter(UpdateDrawAtoms)
    16571658            drawAtoms.ClearSelection()
    16581659            G2plt.PlotStructure(self,data)
     
    16611662    def OnReloadDrawAtoms(event):
    16621663        data['Drawing']['Atoms'] = []
    1663         UpdateDrawAtoms()
     1664        wx.CallAfter(UpdateDrawAtoms)
    16641665        drawAtoms.ClearSelection()
    16651666        G2plt.PlotStructure(self,data)
     
    18951896        shModels = ['cylindrical','none','shear - 2/m','rolling - mmm']
    18961897        SamSym = dict(zip(shModels,['0','-1','2/m','mmm']))
    1897        
     1898        if generalData['Type'] == 'Pawley' and G2gd.GetPatternTreeItemId(self,self.root,'Sequental results'):
     1899            self.dataFrame.RefineTexture.Enable(True)
    18981900        shAngles = ['omega','chi','phi']
    18991901       
     
    24202422                style=wx.CB_READONLY|wx.CB_DROPDOWN)
    24212423            sizeType.Bind(wx.EVT_COMBOBOX, OnType)
    2422 #            wx.CallAfter(OnType)
    24232424            Indx[sizeType.GetId()] = item
    24242425            topSizer.Add(sizeType)
     
    27362737                            'Extinction':['Lorentzian','Secondary Type I',{'Eg':[0.0,False]},]}                       
    27372738                    data['Histograms'] = UseList
    2738                     UpdateDData()
     2739                    wx.CallAfter(UpdateDData)
    27392740            finally:
    27402741                dlg.Destroy()
     
    27752776                        refList[generalData['Name']] = []                       
    27762777                    data['Histograms'] = UseList
    2777                     UpdateDData()
     2778                    wx.CallAfter(UpdateDData)
    27782779            finally:
    27792780                dlg.Destroy()
     
    27982799                    for i in DelList:
    27992800                        del UseList[i]
    2800                     UpdateDData()
     2801                    wx.CallAfter(UpdateDData)
    28012802            finally:
    28022803                dlg.Destroy()
     
    28552856            wx.EndBusyCursor()
    28562857        data['Pawley ref'] = PawleyPeaks
    2857         FillPawleyReflectionsGrid()
     2858        wx.CallAfter(FillPawleyReflectionsGrid)
    28582859       
    28592860    def OnPawleyEstimate(event):
     
    28762877       
    28772878        posCorr = Inst['Zero']
    2878         print Sample
    28792879        const = 9.e-2/(np.pi*Sample['Gonio. radius'])                  #shifts in microns
    28802880       
     
    28892889            try:
    28902890                ref[6] = xdata[1][indx]
    2891                 print ref[:7],indx,pos
    28922891            except IndexError:
    28932892                pass
    2894         FillPawleyReflectionsGrid()
     2893        wx.CallAfter(FillPawleyReflectionsGrid)
    28952894                           
    28962895    def OnPawleyDelete(event):
     
    29032902        if result == wx.ID_YES:
    29042903            data['Pawley ref'] = []
    2905             FillPawleyReflectionsGrid()
     2904            wx.CallAfter(FillPawleyReflectionsGrid)
     2905   
     2906    def OnTextureRefine(event):
     2907        event.Skip()       
    29062908           
    29072909    def OnTextureClear(event):
     
    29592961        elif text == 'Texture':
    29602962            self.dataFrame.SetMenuBar(self.dataFrame.TextureMenu)
     2963            self.dataFrame.Bind(wx.EVT_MENU, OnTextureRefine, id=G2gd.wxID_REFINETEXTURE)
    29612964            self.dataFrame.Bind(wx.EVT_MENU, OnTextureClear, id=G2gd.wxID_CLEARTEXTURE)
    29622965            UpdateTexture()                       
     
    29772980        self.PawleyRefl = G2gd.GSGrid(self.dataDisplay)
    29782981        self.dataDisplay.AddPage(self.PawleyRefl,'Pawley reflections')
     2982        Texture = wx.ScrolledWindow(self.dataDisplay)
     2983        self.dataDisplay.AddPage(Texture,'Texture')
    29792984    else:
    29802985        DData = wx.ScrolledWindow(self.dataDisplay)
  • trunk/GSASIIpwdGUI.py

    r436 r437  
    9898        finally:
    9999            dlg.Destroy()
    100         UpdatePeakGrid(self,peaks)
     100        wx.CallAfter(UpdatePeakGrid,self,peaks)
     101#        UpdatePeakGrid(self,peaks)
    101102        G2plt.PlotPatterns(self)
    102103       
     
    122123        finally:
    123124            wx.EndBusyCursor()   
    124         UpdatePeakGrid(self,peaks)
     125        wx.CallAfter(UpdatePeakGrid,self,peaks)
     126#        UpdatePeakGrid(self,peaks)
    125127        G2plt.PlotPatterns(self)
    126128        print 'finished'
     
    141143                peak[4] = Inst['U']*tand(peak[0]/2.0)**2+Inst['V']*tand(peak[0]/2.0)+Inst['W']
    142144                peak[6] = Inst['X']/cosd(peak[0]/2.0)+Inst['Y']*tand(peak[0]/2.0)
    143         UpdatePeakGrid(self,peaks)
     145        wx.CallAfter(UpdatePeakGrid,self,peaks)
     146#        UpdatePeakGrid(self,peaks)
    144147               
    145148    def RefreshPeakGrid(event):
     
    277280                del(item[-1])
    278281        self.PatternTree.SetItemPyData(BackId,data)
    279         UpdateBackgroundGrid(self,data)
     282        wx.CallAfter(UpdateBackgroundGrid,self,data)
     283#        UpdateBackgroundGrid(self,data)
    280284       
    281285    def OnBakVal(event):
     
    452456        data = updateData(insVal,insRef)
    453457        RefreshInstrumentGrid(event,doAnyway=True)          #to get peaks updated
    454         UpdateInstrumentGrid(self,data)
     458        wx.CallAfter(UpdateInstrumentGrid,self,data)
     459#        UpdateInstrumentGrid(self,data)
    455460       
    456461    def OnInstCopy(event):
     
    489494            data[2] = data[2][:2]+data[2][4:]
    490495            data[3] = data[3][:1]+['Lam',]+data[3][4:]           
    491         UpdateInstrumentGrid(self,data)
     496        wx.CallAfter(UpdateInstrumentGrid,self,data)
     497#        UpdateInstrumentGrid(self,data)
    492498               
    493499    def OnNewType(event):
    494500        insVal['Type'] = typePick.GetValue()
    495501        data = updateData(insVal,insRef)
    496         UpdateInstrumentGrid(self,data)
     502        wx.CallAfter(UpdateInstrumentGrid,self,data)
     503#        UpdateInstrumentGrid(self,data)
    497504       
    498505    def OnLamPick(event):
     
    501508        insVal['Lam2'] = waves[lamType][1]
    502509        data = updateData(insVal,insRef)
    503         UpdateInstrumentGrid(self,data)
     510        wx.CallAfter(UpdateInstrumentGrid,self,data)
     511#        UpdateInstrumentGrid(self,data)
    504512                 
    505513    def OnRatValue(event):
     
    707715            return
    708716        copyList = []
    709         dlg = wx.MultiChoiceDialog(self,
    710             'Copy parameters to which histograms?', 'Copy parameters',
    711             histList, wx.CHOICEDLG_STYLE)
     717        dlg = wx.MultiChoiceDialog(self,'Copy parameters from\n'+histName,
     718            'Copy parameters to which histograms?',histList,wx.CHOICEDLG_STYLE)
    712719        try:
    713720            if dlg.ShowModal() == wx.ID_OK:
     
    779786            data['Transparency'] = [0.0,False]
    780787        self.dataDisplay.Destroy()
    781         UpdateSampleGrid(self,data)
     788        wx.CallAfter(UpdateSampleGrid,self,data)
     789#        UpdateSampleGrid(self,data)
    782790       
    783791    def OnParmRef(event):
     
    877885            data.append([peak[0],peak[2],True,False,0,0,0,dsp,0.0])
    878886        self.PatternTree.SetItemPyData(IndexId,data)
    879         UpdateIndexPeaksGrid(self,data)
     887        wx.CallAfter(UpdateIndexPeaksGrid,self,data)
     888#        UpdateIndexPeaksGrid(self,data)
    880889       
    881890    def KeyEditPickGrid(event):
     
    10071016    def OnBravSel(event):
    10081017        controls[5] = bravSel.GetString(bravSel.GetSelection())       
    1009         UpdateUnitCellsGrid(self,data)
     1018        wx.CallAfter(UpdateUnitCellsGrid,self,data)
     1019#        UpdateUnitCellsGrid(self,data)
    10101020       
    10111021    def OnCellChange(event):
     
    10831093        data = [controls,bravais,cells,dmin]
    10841094        self.PatternTree.SetItemPyData(UnitCellsId,data)
    1085         UpdateUnitCellsGrid(self,data)
    1086 
     1095        wx.CallAfter(UpdateUnitCellsGrid,self,data)
     1096#        UpdateUnitCellsGrid(self,data)
    10871097       
    10881098    def CopyUnitCell(event):
     
    10971107        controls[12] = G2lat.calc_V(G2lat.cell2A(controls[6:12]))
    10981108        self.PatternTree.SetItemPyData(UnitCellsId,[controls,bravais,cells,dmin])
    1099         UpdateUnitCellsGrid(self,data)
     1109        wx.CallAfter(UpdateUnitCellsGrid,self,data)
     1110#        UpdateUnitCellsGrid(self,data)
    11001111       
    11011112        self.dataFrame.RefineCell.Enable(True)
     
    11421153        self.PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(self,PatternId, 'Unit Cells List'),data)
    11431154        self.HKL = G2lat.GenHBravais(dmin,ibrav,Aref)
    1144         UpdateUnitCellsGrid(self,data)
     1155        wx.CallAfter(UpdateUnitCellsGrid,self,data)
     1156#        UpdateUnitCellsGrid(self,data)
    11451157        print "%s%10.3f" % ('refinement M20 = ',M20)
    11461158        print 'unindexed lines = ',X20
     
    11841196            self.dataFrame.IndexPeaks.Enable(True)
    11851197            self.dataFrame.MakeNewPhase.Enable(True)
    1186             UpdateUnitCellsGrid(self,data)
     1198            wx.CallAfter(UpdateUnitCellsGrid,self,data)
     1199#            UpdateUnitCellsGrid(self,data)
    11871200               
    11881201    def RefreshUnitCellsGrid(event):
     
    14791492            Obj.SetValue(fmt%(value))
    14801493            data[fileKey][itemKey] = value
    1481             UpdatePDFGrid(self,data)
     1494            wx.CallAfter(UpdatePDFGrid,self,data)
     1495#            UpdatePDFGrid(self,data)
    14821496       
    14831497        def OnValueChange(event):
     
    17641778            data['Form Vol'] = max(10.0,SumElementVolumes())
    17651779        PE.Destroy()
    1766         UpdatePDFGrid(self,data)
     1780        wx.CallAfter(UpdatePDFGrid,self,data)
     1781#        UpdatePDFGrid(self,data)
    17671782       
    17681783    def OnDeleteElement(event):
     
    17731788            del ElList[dlg.GetDeleteElement()]
    17741789        dlg.Destroy()
    1775         UpdatePDFGrid(self,data)
     1790        wx.CallAfter(UpdatePDFGrid,self,data)
     1791#        UpdatePDFGrid(self,data)
    17761792               
    17771793    def ComputePDF(Data):
Note: See TracChangeset for help on using the changeset viewer.