Format the entire table of progress bars.

        The function first computes the widths of the fields so they can be
        aligned across lines and then returns formatted lines as a list of
        strings.

def format_table(self, width=None,
                     min_label_width=10, min_progress_width=10):
        """Format the entire table of progress bars.

        The function first computes the widths of the fields so they can be
        aligned across lines and then returns formatted lines as a list of
        strings.
        """
        # handle the special case of an empty table.
        if len(self._lines) == 0:
            return []

        if width is None:  # pragma: no cover
            width = shutil.get_terminal_size()[0]

        labelw, progw, summaryw = self.calculate_field_widths(
            width=width,
            min_label_width=min_label_width,
            min_progress_width=min_progress_width
        )
        output = [
            sb.format_status(
                label_width=labelw,
                progress_width=progw,
                summary_width=summaryw
            )
            for sb in self._lines
        ]

        return output