def from_str(cls, s, name=None, fill_char=None, wrapper=None):
        """ Create progress bar frames from a single string.
            The frames simulate growth, from an empty string to the final
            string (`s`).

            Arguments:
                s          : Final string for a complete progress bar.
                name       : Name for the new BarSet.
                fill_char  : Character to fill empty space.
                             Default: ' ' (space)
                wrapper    : Wrapping characters for the new bar set.
                             Default: cls.default_wrapper

        """
        fill_char = fill_char or cls.default_fill_char
        maxlen = len(s)
        frames = []
        for pos in range(1, maxlen):
            framestr = s[:pos]
            # Not using ljust, because fill_char may be a str, not a char.
            frames.append(
                ''.join((
                    framestr,
                    fill_char * (maxlen - len(framestr))
                ))
            )
        frames.append(s)
        return cls(
            frames,
            name=name,
            wrapper=wrapper,
        )