Catches items dropped off edge of view, 
        reinserts at original position

        :param event: contains event parameters for child object events
        :type event: :qtdoc:`QChildEvent`

def childEvent(self, event):    
        """Catches items dropped off edge of view, 
        reinserts at original position

        :param event: contains event parameters for child object events
        :type event: :qtdoc:`QChildEvent`
        """
        super(AbstractDragView, self).childEvent(event)
        if event.type() == QtCore.QEvent.ChildRemoved:
            # hack to catch drop offs   
            if self.originalPos is not None:
                selected = self.limbo_component
                self.model().insertItem(self.originalPos, selected)
                self.originalPos = None
                self.dragStartPosition = None
                self.viewport().update()