'Cell content'

def data(self, index, role=Qt.DisplayRole):

    if (not index.isValid()):
        return to_qvariant()
    value = self.get_value(index)
    if ((index.column() == 3) and self.remote):
        value = value['view']
    if (index.column() == 3):
        display = value_to_display(value, minmax=self.minmax)
    else:
        display = to_text_string(value)
    if (role == Qt.DisplayRole):
        return to_qvariant(display)
    elif (role == Qt.EditRole):
        return to_qvariant(value_to_display(value))
    elif (role == Qt.TextAlignmentRole):
        if (index.column() == 3):
            if (len(display.splitlines()) < 3):
                return to_qvariant(int((Qt.AlignLeft | Qt.AlignVCenter)))
            else:
                return to_qvariant(int((Qt.AlignLeft | Qt.AlignTop)))
        else:
            return to_qvariant(int((Qt.AlignLeft | Qt.AlignVCenter)))
    elif (role == Qt.BackgroundColorRole):
        return to_qvariant(self.get_bgcolor(index))
    elif (role == Qt.FontRole):
        return to_qvariant(get_font(font_size_delta=DEFAULT_SMALL_DELTA))
    return to_qvariant()
