'Add a list to the report.
The method accepts different kinds of one-dimensional data, including
Qt\'s views and models.
The first argument, `name` can be omitted.
:param name: name of the section
:type name: str
:param data: table to be reported
:type data:
QAbstractItemModel or any object with method `model()` that
returns QAbstractItemModel
:param limit: the maximal number of reported items (default: 1000)
:type limit: int'

def report_list(self, name, data=None, limit=1000):

    (name, data) = self._fix_args(name, data)
    def report_abstract_model(model):
        content = (model.data(model.index(row, 0)) for row in range(model.rowCount()))
        return clipped_list(content, limit, less_lookups=True)
    self.report_name(name)
    try:
        model = data.model()
    except:
        model = None
    if isinstance(model, QAbstractItemModel):
        txt = report_abstract_model(model)
    else:
        txt = ''
    self.report_html += txt
