Pythonic wrapper for the SCI_SETSTYLING command.

        For example, the following code applies style #3
        to the first five characters in the second line
        of the widget:

            SCISetStyling((0, 1), 5, 3)

        |Args|

        * ``line`` (**int**): line number where to start styling.
        * ``col`` (**int**): column number where to start styling.
        * ``numChar`` (**int**): number of characters to style.
        * ``style`` (**int**): Scintilla style number.

        |Returns|

        **None**

        |Raises|

        * **QtmacsArgumentError** if at least one argument has an invalid type.

def SCISetStyling(self, line: int, col: int,
                      numChar: int, style: bytearray):
        """
        Pythonic wrapper for the SCI_SETSTYLING command.

        For example, the following code applies style #3
        to the first five characters in the second line
        of the widget:

            SCISetStyling((0, 1), 5, 3)

        |Args|

        * ``line`` (**int**): line number where to start styling.
        * ``col`` (**int**): column number where to start styling.
        * ``numChar`` (**int**): number of characters to style.
        * ``style`` (**int**): Scintilla style number.

        |Returns|

        **None**

        |Raises|

        * **QtmacsArgumentError** if at least one argument has an invalid type.
        """
        if not self.isPositionValid(line, col):
            return

        pos = self.positionFromLineIndex(line, col)
        self.SendScintilla(self.SCI_STARTSTYLING, pos, 0xFF)
        self.SendScintilla(self.SCI_SETSTYLING, numChar, style)