def mouseMoveEvent(self, event):
        if self.dragging:
            self.mouseMoved = True
            self.floatingDestinationPoint = event.scenePos()
            if self.destDrawNode():
                # Disconnect an edge from a node
                preSnap = self.scene().dag.snapshot(nodeMetaDict=self.scene().nodeMetaDict(), connectionMetaDict=self.scene().connectionMetaDict())
                
                self.destDrawNode().removeDrawEdge(self)
                self.scene().nodesDisconnected.emit(self.sourceDrawNode().dagNode, self.destDrawNode().dagNode)
                self.setDestDrawNode(None)

                currentSnap = self.scene().dag.snapshot(nodeMetaDict=self.scene().nodeMetaDict(), connectionMetaDict=self.scene().connectionMetaDict())
                self.scene().undoStack().push(depends_undo_commands.DagAndSceneUndoCommand(preSnap, currentSnap, self.scene().dag, self.scene()))
            self.adjust()
            # TODO: Hoover-color nodes as potential targets
        QtGui.QGraphicsItem.mouseMoveEvent(self, event)
Node head dragging.
dataset/ETHPy150Open andrew-gardner/dependsworkflow/depends/depends_graphics_widgets.py/DrawEdge.mouseMoveEvent