'Drag a node around on the canvas.'

def dragNodeAround(self, event):

    c = self.canvas
    x = self.canvasx(event.x_root)
    y = self.canvasy(event.y_root)
    w = event.widget
    item = self.widgetToItem[w]
    c.coords(item, x, y)
    for dest in w.links:
        link = w.links[dest]
        item = self.widgetToItem[dest]
        (x1, y1) = c.coords(item)
        c.coords(link, x, y, x1, y1)
    self.updateScrollRegion()
