Changeset 789


Ignore:
Timestamp:
Oct 18, 2012 3:27:45 PM (10 years ago)
Author:
vondreele
Message:

different solution to the move atom problem - works better

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIphsGUI.py

    r788 r789  
    11111111                        if 'Atoms' in data['Drawing']:
    11121112                            DrawAtomsReplaceByID(data['Drawing'],atomData[r],ID)
    1113                     FillAtomsGrid()
     1113                    Paint()
    11141114                   
    11151115        def ChangeAtomCell(event):
     
    11751175                if 'Atoms' in data['Drawing']:
    11761176                    DrawAtomsReplaceByID(data['Drawing'],atomData[r],ID)
    1177                     FindBondsDraw()
     1177                wx.CallAfter(Paint)
    11781178
    11791179        def AtomTypeSelect(event):
     
    11911191                PE.Destroy()
    11921192                SetupGeneral()
    1193                 FillAtomsGrid()
     1193                Paint()
    11941194                value = Atoms.GetCellValue(r,c)
    11951195                atomData[r][c] = value
     
    12031203        def RowSelect(event):
    12041204            r,c =  event.GetRow(),event.GetCol()
     1205            if not event.AltDown():
     1206                Atoms.frm = -1
     1207                G2frame.dataFrame.SetStatusText('')                   
    12051208            if r < 0 and c < 0:
    12061209                if Atoms.IsSelection():
     
    12201223                    for row in range(ibeg,r+1):
    12211224                        Atoms.SelectRow(row,True)
     1225                elif event.AltDown():
     1226                    if Atoms.frm < 0:           #pick atom to be moved
     1227                        Atoms.frm = r
     1228                        Atoms.SelectRow(r,True)
     1229                        n = colLabels.index('Name')
     1230                        G2frame.dataFrame.SetStatusText('Atom '+atomData[r][n]+' is to be moved')
     1231                    else:                       #move it
     1232                        item = atomData.pop(Atoms.frm)
     1233                        atomData.insert(r,item)
     1234                        Atoms.frm = -1
     1235                        G2frame.dataFrame.SetStatusText('')
     1236                        Paint()
    12221237                else:
    12231238                    Atoms.ClearSelection()
     
    12391254                    Atoms.SelectCol(c,True)
    12401255                   
    1241         def OnRowMove(event):
    1242             frm = event.GetMoveRow()
    1243             to = event.GetBeforeRow()
    1244             print frm,to
    1245             if frm == to:
    1246                 return
    1247             item = atomData.pop(frm)
    1248             atomData.insert(to,item)
    1249             wx.CallAfter(Paint)
    1250            
    12511256        def Paint():
    12521257       
     
    12581263            atomTable = G2gd.Table(table,rowLabels=rowLabels,colLabels=colLabels,types=Types)
    12591264            Atoms.SetTable(atomTable, True)
     1265            Atoms.frm = -1           
    12601266            colType = colLabels.index('Type')
    12611267            colSS = colLabels.index('site sym')
     
    13021308        Atoms.Bind(wg.EVT_GRID_LABEL_LEFT_CLICK, RowSelect)
    13031309        Atoms.Bind(wg.EVT_GRID_LABEL_RIGHT_CLICK, ChangeSelection)
    1304         wgmove.GridRowMover(Atoms)
    1305         Atoms.Bind(wgmove.EVT_GRID_ROW_MOVE,OnRowMove)
    13061310        Atoms.SetMargins(0,0)
    13071311        Paint()
Note: See TracChangeset for help on using the changeset viewer.