Ignore:
Timestamp:
Apr 24, 2018 2:34:13 PM (7 years ago)
Author:
vondreele
Message:

remove commented out SetTitle? & SetLabel? for data window from various places. Title is now gpx file name.
reconfigure restraints to show phase name subentries in tree - selection done from tree.
import phase, add phase & delete phase all handle restraints in new scheme
use of restraints unaffected as restraint data layout unchanged

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/GSASIIdataGUI.py

    r3355 r3356  
    885885            psub = self.GPXtree.AppendItem(parent=sub,text=PhaseName)
    886886            self.GPXtree.SetItemPyData(psub,rd.Phase)
     887            wx.CallAfter(self.GPXtree.SelectItem,psub) # should call SelectDataTreeItem
     888#            self.GPXtree.SelectItem(psub)
    887889            try:
    888890                rd.MPhase['General']['Name'] = G2obj.MakeUniqueLabel(PhaseName+' mag',phaseNameList)
     
    891893                psub = self.GPXtree.AppendItem(parent=sub,text=PhaseName)
    892894                self.GPXtree.SetItemPyData(psub,rd.MPhase)
     895#                self.GPXtree.SelectItem(psub)
     896                wx.CallAfter(self.GPXtree.SelectItem,psub) # should call SelectDataTreeItem
    893897            except (AttributeError,TypeError):
    894898                pass
     
    897901            self.GPXtree.Expand(psub)
    898902            self.PickIdText = None
    899             wx.CallAfter(self.GPXtree.SelectItem,psub) # should call SelectDataTreeItem
    900             #wx.CallAfter(SelectDataTreeItem,self,psub) #bring up new phase General tab
    901903
    902904            if rd.Constraints:
     
    28942896                if item.IsOk(): self.GPXtree.SelectItem(item)
    28952897                   
    2896 #     def SetTitle(self,text,location=0):
    2897 #         '''Override the standard method with a call that puts text into
    2898 #         either the top box on the tree or the label on the frame.
    2899 
    2900 #         :param str text: text to be displayed
    2901 #         :param int location: if 0 (default) labels go into the the Frame;
    2902 #           if 1, labels go into the G2frame.treeTitle control, which is above the
    2903 #           data Tree.
    2904 #         '''
    2905 #         if location == 1:
    2906 # #            self.treeTitle.SetLabel(text)
    2907 #             pass
    2908 #         elif not location:
    2909 #             wx.Frame.SetTitle(self,text)
    2910 #         else:
    2911 #             print(u'unexpected SetTitle option: '+str(location)+", "+
    2912 #                   text)     
    2913 #     def SetLabel(self,text,location=0):
    2914 #         'implement unfortunate synonym. with luck no longer used'
    2915 #         self.SetTitle(text,location=0)
    2916 
    29172898    def OnColMetaTest(self,event):
    29182899        'Test the .par/.*lbls pair for contents'
     
    34223403            PhaseName = dlg.GetValue()
    34233404        dlg.Destroy()
     3405        if not GetGPXtreeItemId(self,self.root,'Restraints'):
     3406            subr = self.GPXtree.AppendItem(parent=self.root,text='Restraints')
     3407            self.GPXtree.SetItemPyData(subr,{PhaseName:{}})
     3408        else:
     3409            subr = GetGPXtreeItemId(self,self.root,'Restraints')
     3410            self.GPXtree.GetItemPyData(subr).update({PhaseName:{}})
     3411        self.GPXtree.AppendItem(parent=subr,text=PhaseName)
    34243412        sub = self.GPXtree.AppendItem(parent=sub,text=PhaseName)
    34253413        E,SGData = G2spc.SpcGroup('P 1')
     
    34393427        else:
    34403428            return
     3429        if GetGPXtreeItemId(self,self.root,'Restraints'):
     3430            subr = GetGPXtreeItemId(self,self.root,'Restraints')
     3431        else:
     3432            subr = 0
    34413433        if sub:
    34423434            item, cookie = self.GPXtree.GetFirstChild(sub)
     
    34693461                                    if item in refList:
    34703462                                        del(refList[item])
    3471 #                            self.GPXtree.SetItemPyData(Id,refList)
    34723463                        elif 'HKLF' in name:
    34733464                            data = self.GPXtree.GetItemPyData(item)
    34743465                            data[0] = {}
    3475 #                            self.GPXtree.SetItemPyData(item,data)
    34763466                           
    34773467                        item, cookie = self.GPXtree.GetNextChild(self.root, cookie)
    34783468            finally:
    34793469                dlg.Destroy()
     3470        if subr:        #remove restraints for deleted phase
     3471            DelList = [itm[1] for itm in DelList]
     3472            item, cookie = self.GPXtree.GetFirstChild(subr)
     3473            while item:
     3474                name = self.GPXtree.GetItemText(item)
     3475                if name in DelList:
     3476                    self.GPXtree.Delete(item)
     3477                item, cookie = self.GPXtree.GetNextChild(subr, cookie)               
    34803478               
    34813479    def OnRenameData(self,event):
     
    47174715
    47184716        # Restraints
    4719         G2G.Define_wxId('wxID_RESTRAINTADD', 'wxID_RESTSELPHASE', 'wxID_RESTDELETE', 'wxID_RESRCHANGEVAL',
     4717        G2G.Define_wxId('wxID_RESTRAINTADD', 'wxID_RESTDELETE', 'wxID_RESRCHANGEVAL',
    47204718            'wxID_RESTCHANGEESD', 'wxID_AARESTRAINTADD', 'wxID_AARESTRAINTPLOT',)
    47214719        self.RestraintTab = wx.Menu(title='')
    47224720        self.RestraintEdit = wx.Menu(title='')
    4723         self.RestraintEdit.Append(G2G.wxID_RESTSELPHASE,'Select phase','Select phase')
    47244721        self.RestraintEdit.Append(G2G.wxID_RESTRAINTADD,'Add restraints','Add restraints')
    47254722        self.RestraintEdit.Enable(G2G.wxID_RESTRAINTADD,True)    #gets disabled if macromolecule phase
     
    54015398            text.AppendText('\n')
    54025399                   
    5403     #G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Notebook')
    5404     #G2frame.SetTitle('Notebook')
    54055400    text = wx.TextCtrl(G2frame.dataWindow,wx.ID_ANY,
    54065401            style=wx.TE_MULTILINE|wx.TE_PROCESS_ENTER | wx.TE_DONTWRAP)
     
    54195414def UpdateComments(G2frame,data):                   
    54205415
    5421     #G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Comments')
    5422     #G2frame.SetTitle('Comments')
    54235416    lines = ""
    54245417    for line in data:
     
    56245617        G2frame.GetStatusBar().SetStatusText('',1)
    56255618    G2frame.dataWindow.ClearData()
    5626     #G2frame.dataWindow.SetupScrolling()
    5627     #G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Controls')
    5628     #G2frame.SetTitle('Controls')
    56295619    SetDataMenuBar(G2frame,G2frame.dataWindow.ControlsMenu)
    56305620    mainSizer = wx.BoxSizer(wx.VERTICAL)
     
    66536643
    66546644    SetDataMenuBar(G2frame,G2frame.dataWindow.SequentialMenu)
    6655     #G2frame.dataWindow.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+'Sequential refinement results')
    6656     #G2frame.SetTitle('Sequential refinement results')
    66576645    G2frame.Bind(wx.EVT_MENU, OnSelectUse, id=G2G.wxID_SELECTUSE)
    66586646    G2frame.Bind(wx.EVT_MENU, OnRenameSelSeq, id=G2G.wxID_RENAMESEQSEL)
     
    72787266    # Start of UpdatePWHKPlot
    72797267    data = G2frame.GPXtree.GetItemPyData(item)
    7280     #G2frame.SetLabel(G2frame.GetLabel().split('||')[0]+' || '+G2frame.GPXtree.GetItemText(item))
    7281     #G2frame.SetTitle(G2frame.GPXtree.GetItemText(item))
    72827268#patches
    72837269    if not data:
     
    73147300    wtSizer = wx.BoxSizer(wx.HORIZONTAL)
    73157301    wtSizer.Add(wx.StaticText(G2frame.dataWindow,-1,' Weight factor: '),0,WACV)
    7316     wtval = G2G.ValidatedTxtCtrl(G2frame.dataWindow,data[0],'wtFactor',nDig=(10,3),min=1.e-9)
    7317     wtSizer.Add(wtval,0,WACV)
     7302    wtSizer.Add(G2G.ValidatedTxtCtrl(G2frame.dataWindow,data[0],'wtFactor',nDig=(10,3),min=1.e-9),0,WACV)
    73187303#    if kind == 'PWDR':         #possible future compression feature; NB above patch as well
    73197304#        wtSizer.Add(wx.StaticText(G2frame.dataWindow,-1,' Compression factor: '),0,WACV)
     
    73287313    wtSizer.Add(wx.StaticText(G2frame.dataWindow,-1,' Histogram label: '),0,WACV)
    73297314    if 'histTitle' not in data[0]: data[0]['histTitle'] = ''
    7330     wtval = G2G.ValidatedTxtCtrl(G2frame.dataWindow,data[0],'histTitle',typeHint=str,notBlank=False,
    7331                                  size=(300,-1))
    7332     wtSizer.Add(wtval,1,WACV)
    7333     mainSizer.Add(wtSizer,0,WACV|wx.EXPAND,1)
     7315    wtSizer.Add(G2G.ValidatedTxtCtrl(G2frame.dataWindow,data[0],'histTitle',typeHint=str,
     7316        notBlank=False,size=(300,-1)),1,WACV)
     7317    mainSizer.Add(wtSizer,0,WACV)
    73347318    if data[0].get('Dummy',False):
    73357319        simSizer = wx.BoxSizer(wx.HORIZONTAL)
     
    76337617            data = G2frame.GPXtree.GetItemPyData(item)
    76347618            G2cnstG.UpdateRigidBodies(G2frame,data)
    7635         elif G2frame.GPXtree.GetItemText(item) == 'Restraints':
    7636             data = G2frame.GPXtree.GetItemPyData(item)
    7637             Phases = G2frame.GetPhaseData()
    7638             phaseName = ''
    7639             if Phases:
    7640                 phaseName = list(Phases.keys())[0]
    7641             G2restG.UpdateRestraints(G2frame,data,Phases,phaseName)
    76427619        elif G2frame.GPXtree.GetItemText(item).startswith('IMG '):
    76437620            G2frame.Image = item
    7644             #G2frame.SetTitle('Image Data')
    76457621            data = G2frame.GPXtree.GetItemPyData(GetGPXtreeItemId(
    76467622                G2frame,item,'Image Controls'))
     
    76787654            G2frame.dataWindow.GetSizer().Add(
    76797655                wx.StaticText(G2frame.dataWindow,wx.ID_ANY,'Select one phase to see its parameters'))
     7656        elif G2frame.GPXtree.GetItemText(item) == 'Restraints':
     7657            data = G2frame.GPXtree.GetItemPyData(item)
     7658#patch - put phases in restraint tree
     7659            names = G2frame.GetPhaseNames()
     7660            for name in names:
     7661                if not GetGPXtreeItemId(G2frame,item,name):
     7662                    G2frame.GPXtree.AppendItem(parent=item,text=name)
     7663                if name not in data:
     7664                    data[name] = {}
     7665#end patch           
     7666            G2frame.dataWindow.GetSizer().Add(
     7667                wx.StaticText(G2frame.dataWindow,wx.ID_ANY,'Select one phase to see its restraints'))
    76807668    ############################################################################
    76817669    # process second-level entries in tree           
     
    77017689        data = G2frame.GPXtree.GetItemPyData(item)
    77027690        G2phG.UpdatePhaseData(G2frame,item,data)
     7691    elif G2frame.GPXtree.GetItemText(parentID) == 'Restraints':
     7692        data = G2frame.GPXtree.GetItemPyData(parentID)
     7693        phaseName = G2frame.GPXtree.GetItemText(item)
     7694        if phaseName not in data:
     7695            data[phaseName] = {}
     7696        G2restG.UpdateRestraints(G2frame,data[phaseName],phaseName)
    77037697    elif G2frame.GPXtree.GetItemText(item) == 'Comments':
    77047698        SetDataMenuBar(G2frame,G2frame.dataWindow.DataCommentsMenu)
     
    77077701        UpdateComments(G2frame,data)
    77087702    elif G2frame.GPXtree.GetItemText(item) == 'Image Controls':
    7709         #G2frame.SetTitle('Image Controls')
    77107703        G2frame.Image = G2frame.GPXtree.GetItemParent(item)
    77117704        masks = G2frame.GPXtree.GetItemPyData(
     
    77167709        G2plt.PlotImage(G2frame,newPlot=False)
    77177710    elif G2frame.GPXtree.GetItemText(item) == 'Masks':
    7718         #G2frame.SetTitle('Masks')
    77197711        G2frame.Image = G2frame.GPXtree.GetItemParent(item)
    77207712        masks = G2frame.GPXtree.GetItemPyData(item)
     
    77257717        G2plt.PlotImage(G2frame,newPlot=False)
    77267718    elif G2frame.GPXtree.GetItemText(item) == 'Stress/Strain':
    7727         #G2frame.SetTitle('Stress/Strain')
    77287719        G2frame.Image = G2frame.GPXtree.GetItemParent(item)
    77297720        data = G2frame.GPXtree.GetItemPyData(
Note: See TracChangeset for help on using the changeset viewer.