':return: Calculated wrap value to be used for self.wrap_columns.
If wraps are not defined None is returned'

def _calc_wrap(self):

    if (not self.wrap_columns):
        return None
    longest = self._longest_rows()
    margin = (((self._columns * 2) + self._columns) + 1)
    static_columns = sum(longest.values())
    for wrap_c in self.wrap_columns:
        static_columns -= longest[wrap_c]
    space_left = ((terminal_info()[u'size'][0] - static_columns) - margin)
    return int((space_left / len(self.wrap_columns)))
