def centerOnItems(self, items = None):
        """
        Centers on the given items, if no items are supplied, then all
        items will be centered on.
        
        :param      items | [<QGraphicsItem>, ..]
        """
        if not items:
            rect = self.scene().visibleItemsBoundingRect()
            if not rect.width():
                rect = self.scene().sceneRect()
            
            self.centerOn(rect.center())
        else:
            self.centerOn(self.scene().calculateBoundingRect(items).center())