Esempio n. 1
0
 def make_formats(self):
     self.formats = {}
     for kind, color in (
             (Syntax.NORMAL, Qt.black),
             (Syntax.CONSTANT, Qt.darkCyan),
             (Syntax.FUNCTION, Qt.blue),
             (Syntax.KEYWORD, Qt.darkBlue),
             (Syntax.NUMBER, Qt.darkRed),
             (Syntax.OPERATOR, Qt.darkMagenta),
             (Syntax.STRING, Qt.darkYellow),
             (Syntax.COMMENT, Qt.darkGreen)):
         fmt = QTextCharFormat()
         fmt.setFontFamily('Consolas' if WIN else 'Monospace')
         fmt.setFontFixedPitch(True)
         fmt.setFontStyleHint(QFont.Monospace)
         fmt.setForeground(QColor(color))
         if kind in {Syntax.CONSTANT, Syntax.FUNCTION, Syntax.KEYWORD,
                     Syntax.OPERATOR}:
             fmt.setFontCapitalization(QFont.AllUppercase)
             if kind is Syntax.KEYWORD:
                 fmt.setFontWeight(QFont.DemiBold)
         elif kind is Syntax.COMMENT:
             fmt.setFontItalic(True)
         self.formats[kind] = fmt