'Generate help text (a list of strings, one per suggested line of
output) from the option table for this FancyGetopt object.'

def generate_help(self, header=None):

    max_opt = 0
    for option in self.option_table:
        long = option[0]
        short = option[1]
        l = len(long)
        if (long[(-1)] == '='):
            l = (l - 1)
        if (short is not None):
            l = (l + 5)
        if (l > max_opt):
            max_opt = l
    opt_width = (((max_opt + 2) + 2) + 2)
    line_width = 78
    text_width = (line_width - opt_width)
    big_indent = ('    ' * opt_width)
    if header:
        lines = [header]
    else:
        lines = ['Option    summary:']
    for option in self.option_table:
        (long, short, help) = option[:3]
        text = wrap_text(help, text_width)
        if (long[(-1)] == '='):
            long = long[0:(-1)]
        if (short is None):
            if text:
                lines.append(('        --%-*s        %s' % (max_opt, long, text[0])))
            else:
                lines.append(('        --%-*s        ' % (max_opt, long)))
        else:
            opt_names = ('%s    (-%s)' % (long, short))
            if text:
                lines.append(('        --%-*s        %s' % (max_opt, opt_names, text[0])))
            else:
                lines.append(('        --%-*s' % opt_names))
        for l in text[1:]:
            lines.append((big_indent + l))
    return lines
