Changeset 2533


Ignore:
Timestamp:
Nov 18, 2016 12:25:04 PM (5 years ago)
Author:
toby
Message:

animate drag & drop of tickmarks and difference curve

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIplot.py

    r2524 r2533  
    14421442            Page.canvas.blit(Page.figure.gca().bbox)
    14431443
     1444        def OnDragTickmarks(event):
     1445            '''Respond to dragging of the reflection tick marks
     1446            '''
     1447            Page.canvas.restore_region(savedplot)
     1448            coords = G2frame.itemPicked.get_data()
     1449            #GSASIIpath.IPyBreak()
     1450            coords[1][:] = event.ydata
     1451            G2frame.itemPicked.set_data(coords)
     1452            Page.figure.gca().draw_artist(G2frame.itemPicked)
     1453            Page.canvas.blit(Page.figure.gca().bbox)
     1454
     1455        def OnDragDiffCurve(event):
     1456            '''Respond to dragging of the difference curve
     1457            '''
     1458            Page.canvas.restore_region(savedplot)
     1459            coords = G2frame.itemPicked.get_data()
     1460            coords[1][:] += Page.diffOffset + event.ydata
     1461            Page.diffOffset = - event.ydata
     1462            G2frame.itemPicked.set_data(coords)
     1463            Page.figure.gca().draw_artist(G2frame.itemPicked)
     1464            Page.canvas.blit(Page.figure.gca().bbox)
     1465           
    14441466        if G2frame.itemPicked is not None: return
    14451467        PatternId = G2frame.PatternId
     
    15291551                ):
    15301552            G2frame.itemPicked = pick
    1531             pick = str(pick)
     1553            Page = G2frame.G2plotNB.nb.GetPage(plotNum)
     1554            Plot = Page.figure.gca()
     1555            if DifLine[0] is G2frame.itemPicked:  # pick of difference curve
     1556                #pick.set_linestyle(':') # set line as dotted
     1557                Page.canvas.draw() # refresh without dotted line & save bitmap
     1558                savedplot = Page.canvas.copy_from_bbox(Page.figure.gca().bbox)
     1559                Page.diffOffset = Pattern[0]['delOffset']
     1560                G2frame.cid = Page.canvas.mpl_connect('motion_notify_event', OnDragDiffCurve)
     1561                #pick.set_linestyle('--') # back to dashed
     1562            else:                                 # pick of plot tick mark (anything else possible?)
     1563                Page.canvas.draw() # refresh without dotted line & save bitmap
     1564                savedplot = Page.canvas.copy_from_bbox(Page.figure.gca().bbox)
     1565                G2frame.cid = Page.canvas.mpl_connect('motion_notify_event', OnDragTickmarks)
     1566               
     1567           
    15321568        elif G2frame.PatternTree.GetItemText(PickId) == 'Background':
    15331569            # selected a fixed background point. Can move it or delete it.
     
    15651601            return
    15661602        PickId = G2frame.PickId                             # points to item in tree
    1567 #        GSASIIpath.IPyBreak()
    15681603        if G2frame.PatternTree.GetItemText(PickId) == 'Background' and event.xdata:
    15691604            if Page.toolbar._active:    # prevent ops. if a toolbar zoom button pressed
     
    16021637       
    16031638        if G2frame.itemPicked is None: return
    1604         if str(DifLine[0]) == str(G2frame.itemPicked):
     1639        #GSASIIpath.IPyBreak()
     1640#        if str(DifLine[0]) == str(G2frame.itemPicked):
     1641        if DifLine[0] is G2frame.itemPicked:
    16051642            data = G2frame.PatternTree.GetItemPyData(PickId)
    16061643            ypos = event.ydata
Note: See TracChangeset for help on using the changeset viewer.