Minimum height is the total height + margins, minimum width
        is the largest width.

def get_minimum_size(self, data):
        """
        Minimum height is the total height + margins, minimum width
        is the largest width.
        """
        min_width = 0
        height = 0
        for element in self.elements:
            size = element.get_minimum_size(data)
            min_width = max(min_width, size.x)
            height += size.y
        height += (len(self.elements)-1)*self.margin
        return datatypes.Point(min_width, height)