Changeset 4465 for trunk/GSASIIplot.py


Ignore:
Timestamp:
Jun 5, 2020 10:26:26 AM (17 months ago)
Author:
vondreele
Message:

fix atom selection from figure for Atoms - now it the same as for Draw Atoms & Map peaks. Left mouse button selects atom, RB adds to selection.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIplot.py

    r4463 r4465  
    81918191            Indx = GetSelectedAtoms()
    81928192        if G2frame.phaseDisplay.GetPageText(getSelection()) == 'Map peaks':
    8193             for i,peak in enumerate(mapPeaks):
     8193            for i,peak in enumerate(atomList):
    81948194                x,y,z = peak[1:4]
    81958195                X,Y,Z = GLU.gluProject(x,y,z,Model,Proj,View)
     
    82048204                    except:
    82058205                        SetSelectedAtoms(i,Add)
     8206            return
     8207        elif G2frame.phaseDisplay.GetPageText(getSelection()) == 'Draw Atoms':
     8208            atomList = drawAtoms
     8209            cx = G2phG.getAtomPtrs(data,True)[0]
    82068210        else:
    8207             cx = drawingData['atomPtrs'][0]
    8208             for i,atom in enumerate(drawAtoms):
    8209                 x,y,z = atom[cx:cx+3]
    8210                 X,Y,Z = GLU.gluProject(x,y,z,Model,Proj,View)
    8211                 XY = [int(X),int(View[3]-Y)]
    8212                 if np.allclose(xy,XY,atol=10) and Z < Zmax:
    8213                     Zmax = Z
    8214                     try:
    8215                         Indx.remove(i)
    8216                         ClearSelectedAtoms()
    8217                         for Id in Indx:
    8218                             SetSelectedAtoms(Id,Add)
    8219                     except:
    8220                         SetSelectedAtoms(i,Add)
     8211            atomList = data['Atoms']
     8212            cx = G2phG.getAtomPtrs(data)[0]
     8213        for i,atom in enumerate(atomList):
     8214            x,y,z = atom[cx:cx+3]
     8215            X,Y,Z = GLU.gluProject(x,y,z,Model,Proj,View)
     8216            XY = [int(X),int(View[3]-Y)]
     8217            if np.allclose(xy,XY,atol=10) and Z < Zmax:
     8218                Zmax = Z
     8219                try:
     8220                    Indx.remove(i)
     8221                    ClearSelectedAtoms()
     8222                    for Id in Indx:
     8223                        SetSelectedAtoms(Id,Add)
     8224                except:
     8225                    SetSelectedAtoms(i,Add)
    82218226                                       
    82228227    def OnMouseDown(event):
     
    83918396                for i,atom in enumerate(atomData):
    83928397                    if atom[-1] == Id:
    8393                         G2frame.phaseDisplay.GetPage(page).SelectRow(i)      #this is the Atoms grid in Atoms
     8398                        G2frame.phaseDisplay.GetPage(page).SelectRow(i,Add)      #this is the Atoms grid in Atoms
    83948399                 
    83958400    def GetSelectedAtoms():
Note: See TracChangeset for help on using the changeset viewer.