Changeset 150


Ignore:
Timestamp:
Aug 9, 2010 10:52:39 AM (15 years ago)
Author:
vondreel
Message:

fixup menu enables, add MakeNewPhase? & changed a few names

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/GSASIIpwdGUI.py

    r133 r150  
    442442    self.Bind(wx.EVT_MENU, OnReload, id=G2gd.wxID_INDXRELOAD)
    443443    inst = self.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(self,self.PatternId, 'Instrument Parameters'))[1]
     444    self.dataFrame.IndexPeaks.Enable(False)
    444445    self.IndexPeaksTable = []
    445446    if data:
     447        self.dataFrame.IndexPeaks.Enable(True)
    446448        cells = self.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(self,self.PatternId, 'Unit Cells List'))
    447449        if cells:
     
    478480    bravaisSymb = ['Fm3m','Im3m','Pm3m','R3-H','P6/mmm','I4/mmm',
    479481        'P4/mmm','Fmmm','Immm','Cmmm','Pmmm','C2/m','P2/m','P1']
     482    spaceGroups = ['F m 3 m','I m 3 m','P m 3 m','R 3- H','P 6/m m m','I 4/m m m',
     483        'P 4/m m m','F m m m','I m m m','C m m m','P m m m','C 2/m','P 2/m','P 1']
    480484       
    481485    def SetLattice(controls):
     
    573577        volVal.SetValue("%.3f"%(controls[12]))
    574578       
    575     def OnRefineCell(event):
     579    def RefineCell(event):
    576580        def cellPrint(ibrav,A):
    577581            cell = G2lat.A2cell(A)
     
    620624            G2plt.PlotPatterns(self)
    621625       
    622     def OnIndexPeaks(event):
     626    def IndexPeaks(event):
    623627        PatternId = self.PatternId   
    624         peaks = self.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(self,PatternId, 'Index Peak List'))
    625         if not peaks:
    626             self.ErrorDialog('No peaks!', 'Nothing to index!')
    627             return
     628#        peaks = self.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(self,PatternId, 'Index Peak List'))
     629#        if not peaks:
     630#            self.ErrorDialog('No peaks!', 'Nothing to index!')
     631#            return
    628632        inst = self.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(self,PatternId, 'Instrument Parameters'))[1]
    629633        print 'Peak Indexing'
     
    637641            self.ErrorDialog('Error','No Bravais lattices selected')
    638642            return
    639         self.dataFrame.IndexPeaks.Enable(False)
    640643        self.dataFrame.CopyCell.Enable(False)
    641644        OK,dmin,cells = G2indx.DoIndexPeaks(peaks,inst,controls,bravais)
     
    655658        self.dataFrame.CopyCell.Enable(True)
    656659        self.dataFrame.IndexPeaks.Enable(True)
     660        self.dataFrame.MakeNewPhase.Enable(True)
    657661        UpdateUnitCellsGrid(self,data)
    658662               
     
    670674        UpdateUnitCellsGrid(self,data)
    671675        self.dataFrame.RefineCell.Enable(True)
     676       
     677    def MakeNewPhase(event):
     678        if not G2gd.GetPatternTreeItemId(self,self.root,'Phases'):
     679            sub = self.PatternTree.AppendItem(parent=self.root,text='Phases')
     680        else:
     681            sub = G2gd.GetPatternTreeItemId(self,self.root,'Phases')
     682        PhaseName = ''
     683        dlg = wx.TextEntryDialog(None,'Enter a name for this phase','Phase Name Entry','New phase',
     684            style=wx.OK)
     685        if dlg.ShowModal() == wx.ID_OK:
     686            PhaseName = dlg.GetValue()
     687        dlg.Destroy()
     688        cells = self.PatternTree.GetItemPyData(UnitCellsId)[2]
     689        for Cell in cells:
     690            if Cell[-1]:
     691                break
     692        cell = Cell[2:10]       
     693        sub = self.PatternTree.AppendItem(parent=sub,text=PhaseName)
     694        SGData = {'SpGrp':spaceGroups[cell[0]]}
     695        self.PatternTree.SetItemPyData(sub, \
     696            {'General':{'Name':'phase name','Type':'nuclear','SGData':SGData,'Cell':[False,]+cell[1:],
     697            'Scale':[False,1.0],'Pawley dmin':0.25},'Atoms':[]})
     698        Status.SetStatusText('Change space group if needed')
    672699           
    673700    def RefreshUnitCellsGrid(event):
     
    696723    if not self.dataFrame.GetStatusBar():
    697724        Status = self.dataFrame.CreateStatusBar()
    698     self.Bind(wx.EVT_MENU, OnIndexPeaks, id=G2gd.wxID_INDEXPEAKS)
     725    self.Bind(wx.EVT_MENU, IndexPeaks, id=G2gd.wxID_INDEXPEAKS)
    699726    self.Bind(wx.EVT_MENU, CopyUnitCell, id=G2gd.wxID_COPYCELL)
    700     self.Bind(wx.EVT_MENU, OnRefineCell, id=G2gd.wxID_REFINECELL)
     727    self.Bind(wx.EVT_MENU, RefineCell, id=G2gd.wxID_REFINECELL)
     728    self.Bind(wx.EVT_MENU, MakeNewPhase, id=G2gd.wxID_MAKENEWPHASE)
    701729   
    702730    controls,bravais,cells,dmin = data
     
    721749    self.sp = wx.SplitterWindow(self.dataFrame)
    722750    self.dataDisplay = wx.Panel(self.sp, style=wx.SUNKEN_BORDER)
     751    self.dataFrame.IndexPeaks.Enable(False)
     752    peaks = self.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(self,self.PatternId, 'Index Peak List'))
     753    if peaks:
     754        self.dataFrame.IndexPeaks.Enable(True)
     755    self.dataFrame.RefineCell.Enable(False)
     756    if controls[12] > 1.0:                               #if a "real" volume (i.e. not default)
     757        self.dataFrame.RefineCell.Enable(True)   
     758    self.dataFrame.CopyCell.Enable(False)
     759    self.dataFrame.MakeNewPhase.Enable(False)       
    723760    if cells:
    724761        self.bottom = wx.Panel(self.sp, style=wx.SUNKEN_BORDER)
    725762        self.sp.SplitHorizontally(self.dataDisplay,self.bottom,0)
     763        self.dataFrame.CopyCell.Enable(True)
     764        self.dataFrame.MakeNewPhase.Enable(True)       
    726765    mainSizer = wx.BoxSizer(wx.VERTICAL)
    727766    mainSizer.Add(wx.StaticText(parent=self.dataDisplay,label=' Indexing controls: '),0,wx.ALIGN_CENTER_VERTICAL)
Note: See TracChangeset for help on using the changeset viewer.