Changeset 814


Ignore:
Timestamp:
Dec 12, 2012 3:26:21 PM (9 years ago)
Author:
vondreele
Message:

implement hot keys for some main menu & menu items
fix crash in general
put a status item in as a reminder for peak fitting options
continue restraint development

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASII.py

    r812 r814  
    105105        item = parent.Append(
    106106            help='Open a gsasii project file (*.gpx)', id=wx.ID_ANY,
    107             kind=wx.ITEM_NORMAL,text='Open project...')
     107            kind=wx.ITEM_NORMAL,text='&Open project...')
    108108        self.Bind(wx.EVT_MENU, self.OnFileOpen, id=item.GetId())
    109109        item = parent.Append(
    110110            help='Save project to old file', id=wx.ID_ANY,
    111             kind=wx.ITEM_NORMAL,text='Save project')
     111            kind=wx.ITEM_NORMAL,text='&Save project')
    112112        self.Bind(wx.EVT_MENU, self.OnFileSave, id=item.GetId())
    113113        item = parent.Append(
     
    117117        item = parent.Append(
    118118            help='Close project, saving is optional', id=wx.ID_ANY,
    119             kind=wx.ITEM_NORMAL,text='Close project')
     119            kind=wx.ITEM_NORMAL,text='&Close project')
    120120        self.Bind(wx.EVT_MENU, self.OnFileClose, id=item.GetId())
    121121        item = parent.Append(
    122122            help='Exit from gsasii', id=wx.ID_ANY,
    123             kind=wx.ITEM_NORMAL,text='Exit')
     123            kind=wx.ITEM_NORMAL,text='&Exit')
    124124        self.Bind(wx.EVT_MENU, self.OnFileExit, id=item.GetId())
    125125       
     
    174174       
    175175        item = parent.Append(help='View least squares parameters',
    176             id=wx.ID_ANY, kind=wx.ITEM_NORMAL,text='View LS parms')
     176            id=wx.ID_ANY, kind=wx.ITEM_NORMAL,text='&View LS parms')
    177177        self.Bind(wx.EVT_MENU, self.OnViewLSParms, id=item.GetId())
    178178       
    179179        item = parent.Append(help='', id=wx.ID_ANY, kind=wx.ITEM_NORMAL,
    180             text='Refine')
     180            text='&Refine')
    181181        self.Refine.append(item)
    182182        item.Enable(False)
     
    989989        '''
    990990        File = wx.Menu(title='')
    991         menubar.Append(menu=File, title='File')
     991        menubar.Append(menu=File, title='&File')
    992992        self._Add_FileMenuItems(File)
    993993        Data = wx.Menu(title='')
  • trunk/GSASIIphsGUI.py

    r808 r814  
    485485                if not generalData['AtomTypes']:             #can change only if no atoms!
    486486                    generalData['Type'] = TypeTxt.GetValue()
    487                     dataDisplay.DestroyChildren()           #needed to clear away bad cellSizer, etc.
    488487                    wx.CallAfter(UpdateGeneral)
    489488                else:
     
    513512                    Text += line+'\n'
    514513                wx.MessageBox(Text,caption=msg,style=Style)
    515                 dataDisplay.DestroyChildren()           #needed to clear away bad cellSizer, etc.
     514#                dataDisplay.DestroyChildren()           #needed to clear away bad cellSizer, etc.
    516515                wx.CallAfter(UpdateGeneral)
    517516               
  • trunk/GSASIIpwdGUI.py

    r808 r814  
    262262    if not G2frame.dataFrame.GetStatusBar():
    263263        Status = G2frame.dataFrame.CreateStatusBar()
     264    Status.SetStatusText('Global refine: select refine column & press Y or N')
    264265    G2frame.Bind(wx.EVT_MENU, OnAutoSearch, id=G2gd.wxID_AUTOSEARCH)
    265266    G2frame.Bind(wx.EVT_MENU, OnUnDo, id=G2gd.wxID_UNDO)
  • trunk/GSASIIrestrGUI.py

    r813 r814  
    181181                                    else:
    182182                                        Topstr = str(Top)
    183                                     bondRestData['Bonds'].append([[Oid,Tid],['1',Topstr], \
    184                                         ma.getdata(dist[indb])[i],1.54,0.01])
     183                                    newBond = [[Oid,Tid],['1',Topstr], \
     184                                        ma.getdata(dist[indb])[i],1.54,0.01]
     185                                    if newBond not in bondRestData['Bonds']:
     186                                        bondRestData['Bonds'].append(newBond)
    185187        finally:
    186188            dlg.Destroy()
     
    222224                        obsd = np.sqrt(np.sum(np.inner(Amat,tCoord-oCoord)**2))
    223225                        if dist*Factor < obsd < dist/Factor:
    224                             bondRestData['Bonds'].append([[oId,tId],['1','1'],obsd,dist,esd])                         
     226                            newBond = [[oId,tId],['1','1'],obsd,dist,esd]
     227                            if newBond not in bondRestData['Bonds']:
     228                                bondRestData['Bonds'].append(newBond)                         
    225229            macStr = macro.readline()
    226230        macro.close()
     
    250254        for Oid,Otype,Ocoord in origAtoms:
    251255            IndBlist = []
    252             angles = []
    253256            VectB = []
    254257            for Tid,Ttype,Tcoord in targAtoms:
     
    283286                        XYZ = np.array([vecta[5],vecta[2],vectb[5]])
    284287                        angle = G2mth.getRestAngle(XYZ,Amat)
    285                         angles.append([ids,ops,angle,109.5,1.0])
    286             angleRestData['Angles'] += angles
     288                        if angle not in angleRestData['Angles']:
     289                            angleRestData['Angles'].append([ids,ops,angle,109.5,1.0])
    287290        UpdateAngleRestr(angleRestData)               
    288291
     
    436439        return wtBox
    437440       
     441    def OnRowSelect(event):
     442        r,c =  event.GetRow(),event.GetCol()
     443        Obj = event.GetEventObject()
     444        if r < 0 and c < 0:
     445            if Obj.IsSelection():
     446                Obj.ClearSelection()
     447            else:
     448                for row in range(Bonds.GetNumberRows()):
     449                    Obj.SelectRow(row,True)
     450        elif c < 0:                   #only row clicks
     451            if event.ControlDown():                   
     452                if r in Obj.GetSelectedRows():
     453                    Obj.DeselectRow(r)
     454                else:
     455                    Obj.SelectRow(r,True)
     456            elif event.ShiftDown():
     457                indxs = Obj.GetSelectedRows()
     458                Obj.ClearSelection()
     459                ibeg = 0
     460                if indxs:
     461                    ibeg = indxs[-1]
     462                for row in range(ibeg,r+1):
     463                    Obj.SelectRow(row,True)
     464            else:
     465                Obj.ClearSelection()
     466                Obj.SelectRow(r,True)
     467                   
    438468    def UpdateBondRestr(bondRestData):
    439        
    440         def OnColSort(event):
    441             r,c = event.GetRow(),event.GetCol()
    442             if r < 0 and c == 0:
    443                 names = G2mth.sortArray(table,0)
    444                 bonds = []
    445                 for name in names:
    446                     idx = table.index(name)
    447                     bonds.append(bondList[idx])
    448                 bondRestData['Bonds'] = bonds
    449                 UpdateBondRestr(bondRestData)               
    450469       
    451470        def OnChangeValue(event):
     
    524543                    Bonds.SetReadOnly(r,c,True)
    525544                    Bonds.SetCellStyle(r,c,VERY_LIGHT_GREY,True)
    526             Bonds.Bind(wg.EVT_GRID_LABEL_LEFT_DCLICK,OnColSort)
     545            Bonds.Bind(wg.EVT_GRID_LABEL_LEFT_CLICK,OnRowSelect)
    527546            G2frame.dataFrame.Bind(wx.EVT_MENU, OnDeleteRestraint, id=G2gd.wxID_RESTDELETE)
    528547            G2frame.dataFrame.Bind(wx.EVT_MENU, OnChangeValue, id=G2gd.wxID_RESRCHANGEVAL)
     
    626645                    Angles.SetReadOnly(r,c,True)
    627646                    Angles.SetCellStyle(r,c,VERY_LIGHT_GREY,True)
    628             Angles.Bind(wg.EVT_GRID_LABEL_LEFT_DCLICK,OnColSort)
     647            Angles.Bind(wg.EVT_GRID_LABEL_LEFT_CLICK,OnRowSelect)
    629648            G2frame.dataFrame.Bind(wx.EVT_MENU, OnDeleteRestraint, id=G2gd.wxID_RESTDELETE)
    630649            G2frame.dataFrame.Bind(wx.EVT_MENU, OnChangeValue, id=G2gd.wxID_RESRCHANGEVAL)
     
    715734                    Planes.SetReadOnly(r,c,True)
    716735                    Planes.SetCellStyle(r,c,VERY_LIGHT_GREY,True)
     736            Planes.Bind(wg.EVT_GRID_LABEL_LEFT_CLICK,OnRowSelect)
    717737            G2frame.dataFrame.Bind(wx.EVT_MENU, OnDeleteRestraint, id=G2gd.wxID_RESTDELETE)
    718738            G2frame.dataFrame.Bind(wx.EVT_MENU, OnChangeEsd, id=G2gd.wxID_RESTCHANGEESD)
     
    804824                    Volumes.SetReadOnly(r,c,True)
    805825                    Volumes.SetCellStyle(r,c,VERY_LIGHT_GREY,True)
     826            Volumes.Bind(wg.EVT_GRID_LABEL_LEFT_CLICK,OnRowSelect)
    806827            G2frame.dataFrame.Bind(wx.EVT_MENU, OnDeleteRestraint, id=G2gd.wxID_RESTDELETE)
    807828            G2frame.dataFrame.Bind(wx.EVT_MENU, OnChangeValue, id=G2gd.wxID_RESRCHANGEVAL)
     
    866887                    Torsions.SetReadOnly(r,c,True)
    867888                    Torsions.SetCellStyle(r,c,VERY_LIGHT_GREY,True)
     889            Torsions.Bind(wg.EVT_GRID_LABEL_LEFT_CLICK,OnRowSelect)
    868890            G2frame.dataFrame.Bind(wx.EVT_MENU, OnDeleteRestraint, id=G2gd.wxID_RESTDELETE)
    869891            G2frame.dataFrame.Bind(wx.EVT_MENU, OnChangeEsd, id=G2gd.wxID_RESTCHANGEESD)
     
    927949                    Ramas.SetReadOnly(r,c,True)
    928950                    Ramas.SetCellStyle(r,c,VERY_LIGHT_GREY,True)
     951            Ramas.Bind(wg.EVT_GRID_LABEL_LEFT_CLICK,OnRowSelect)
    929952            G2frame.dataFrame.Bind(wx.EVT_MENU, OnDeleteRestraint, id=G2gd.wxID_RESTDELETE)
    930953            G2frame.dataFrame.Bind(wx.EVT_MENU, OnChangeEsd, id=G2gd.wxID_RESTCHANGEESD)
Note: See TracChangeset for help on using the changeset viewer.