'Is the connection between `self.from_item` (item where the drag
started) and `target_item` possible.'

def can_connect(self, target_item):

    node1 = self.scene.node_for_item(self.from_item)
    node2 = self.scene.node_for_item(target_item)
    if (self.direction == self.FROM_SOURCE):
        return bool(self.scheme.propose_links(node1, node2))
    else:
        return bool(self.scheme.propose_links(node2, node1))
