def initializeFormats(self): Config = self.Config Config["fontfamily"] = "monospace" #Config["fontsize"] = 10 for name, color, bold, italic in ( ("normal", "#000000", False, False), ("keyword", "#000080", True, False), ("builtin", "#0000A0", False, False), ("comment", "#007F00", False, True), ("string", "#808000", False, False), ("number", "#924900", False, False), ("lparen", "#000000", True, True), ("rparen", "#000000", True, True)): Config["%sfontcolor" % name] = color Config["%sfontbold" % name] = bold Config["%sfontitalic" % name] = italic baseFormat = QTextCharFormat() baseFormat.setFontFamily(Config["fontfamily"]) #baseFormat.setFontPointSize(Config["fontsize"]) for name in ("normal", "keyword", "builtin", "comment", "string", "number", "lparen", "rparen"): format = QTextCharFormat(baseFormat) format.setForeground(QColor(Config["%sfontcolor" % name])) if Config["%sfontbold" % name]: format.setFontWeight(QFont.Bold) format.setFontItalic(Config["%sfontitalic" % name]) self.Formats[name] = format
def initializeFormats(cls): Config = cls.Config baseFormat = QTextCharFormat() baseFormat.setFontFamily(Config["fontfamily"]) baseFormat.setFontPointSize(Config["fontsize"]) for name in ("normal", "keyword", "builtin", "constant", "decorator", "comment", "string", "number", "error", "pyqt"): format = QTextCharFormat(baseFormat) format.setForeground(QColor(Config["%sfontcolor" % name])) if Config["%sfontbold" % name]: format.setFontWeight(QFont.Bold) format.setFontItalic(Config["%sfontitalic" % name]) PythonHighlighter.Formats[name] = format
def highlight_to_char_format(h): ans = QTextCharFormat() if h.bold: ans.setFontWeight(QFont.Bold) if h.italic: ans.setFontItalic(True) if h.fg is not None: ans.setForeground(h.fg) if h.bg is not None: ans.setBackground(h.bg) if h.underline is not None: ans.setUnderlineStyle(underline_styles[h.underline]) if h.underline_color is not None: ans.setUnderlineColor(h.underline_color.color()) return ans
def setTheme(self, theme): self.theme = theme self.MARKDOWN_KWS_FORMAT = {} pal = self.parent.palette() pal.setColor(QPalette.Base, QColor(theme['background-color'])) self.parent.setPalette(pal) self.parent.setTextColor(QColor(theme['color'])) format = QTextCharFormat() format.setForeground(QBrush(QColor(theme['bold']['color']))) format.setFontWeight(QFont.Bold if theme['bold']['font-weight']=='bold' else QFont.Normal) format.setFontItalic(True if theme['bold']['font-style']=='italic' else False) self.MARKDOWN_KWS_FORMAT['Bold'] = format format = QTextCharFormat() format.setForeground(QBrush(QColor(theme['bold']['color']))) format.setFontWeight(QFont.Bold if theme['bold']['font-weight']=='bold' else QFont.Normal) format.setFontItalic(True if theme['bold']['font-style']=='italic' else False) self.MARKDOWN_KWS_FORMAT['uBold'] = format format = QTextCharFormat() format.setForeground(QBrush(QColor(theme['emphasis']['color']))) format.setFontWeight(QFont.Bold if theme['emphasis']['font-weight']=='bold' else QFont.Normal) format.setFontItalic(True if theme['emphasis']['font-style']=='italic' else False) self.MARKDOWN_KWS_FORMAT['Italic'] = format format = QTextCharFormat() format.setForeground(QBrush(QColor(theme['emphasis']['color']))) format.setFontWeight(QFont.Bold if theme['emphasis']['font-weight']=='bold' else QFont.Normal) format.setFontItalic(True if theme['emphasis']['font-style']=='italic' else False) self.MARKDOWN_KWS_FORMAT['uItalic'] = format format = QTextCharFormat() format.setForeground(QBrush(QColor(theme['link']['color']))) format.setFontWeight(QFont.Bold if theme['link']['font-weight']=='bold' else QFont.Normal) format.setFontItalic(True if theme['link']['font-style']=='italic' else False) self.MARKDOWN_KWS_FORMAT['Link'] = format format = QTextCharFormat() format.setForeground(QBrush(QColor(theme['image']['color']))) format.setFontWeight(QFont.Bold if theme['image']['font-weight']=='bold' else QFont.Normal) format.setFontItalic(True if theme['image']['font-style']=='italic' else False) self.MARKDOWN_KWS_FORMAT['Image'] = format format = QTextCharFormat() format.setForeground(QBrush(QColor(theme['header']['color']))) format.setFontWeight(QFont.Bold if theme['header']['font-weight']=='bold' else QFont.Normal) format.setFontItalic(True if theme['header']['font-style']=='italic' else False) self.MARKDOWN_KWS_FORMAT['Header'] = format format = QTextCharFormat() format.setForeground(QBrush(QColor(theme['header']['color']))) format.setFontWeight(QFont.Bold if theme['header']['font-weight']=='bold' else QFont.Normal) format.setFontItalic(True if theme['header']['font-style']=='italic' else False) self.MARKDOWN_KWS_FORMAT['HeaderAtx'] = format format = QTextCharFormat() format.setForeground(QBrush(QColor(theme['unorderedlist']['color']))) format.setFontWeight(QFont.Bold if theme['unorderedlist']['font-weight']=='bold' else QFont.Normal) format.setFontItalic(True if theme['unorderedlist']['font-style']=='italic' else False) self.MARKDOWN_KWS_FORMAT['UnorderedList'] = format format = QTextCharFormat() format.setForeground(QBrush(QColor(theme['orderedlist']['color']))) format.setFontWeight(QFont.Bold if theme['orderedlist']['font-weight']=='bold' else QFont.Normal) format.setFontItalic(True if theme['orderedlist']['font-style']=='italic' else False) self.MARKDOWN_KWS_FORMAT['OrderedList'] = format format = QTextCharFormat() format.setForeground(QBrush(QColor(theme['blockquote']['color']))) format.setFontWeight(QFont.Bold if theme['blockquote']['font-weight']=='bold' else QFont.Normal) format.setFontItalic(True if theme['blockquote']['font-style']=='italic' else False) self.MARKDOWN_KWS_FORMAT['BlockQuote'] = format format = QTextCharFormat() format.setForeground(QBrush(QColor(theme['codespan']['color']))) format.setFontWeight(QFont.Bold if theme['codespan']['font-weight']=='bold' else QFont.Normal) format.setFontItalic(True if theme['codespan']['font-style']=='italic' else False) self.MARKDOWN_KWS_FORMAT['CodeSpan'] = format format = QTextCharFormat() format.setForeground(QBrush(QColor(theme['codeblock']['color']))) format.setFontWeight(QFont.Bold if theme['codeblock']['font-weight']=='bold' else QFont.Normal) format.setFontItalic(True if theme['codeblock']['font-style']=='italic' else False) self.MARKDOWN_KWS_FORMAT['CodeBlock'] = format format = QTextCharFormat() format.setForeground(QBrush(QColor(theme['line']['color']))) format.setFontWeight(QFont.Bold if theme['line']['font-weight']=='bold' else QFont.Normal) format.setFontItalic(True if theme['line']['font-style']=='italic' else False) self.MARKDOWN_KWS_FORMAT['HR'] = format format = QTextCharFormat() format.setForeground(QBrush(QColor(theme['line']['color']))) format.setFontWeight(QFont.Bold if theme['line']['font-weight']=='bold' else QFont.Normal) format.setFontItalic(True if theme['line']['font-style']=='italic' else False) self.MARKDOWN_KWS_FORMAT['eHR'] = format format = QTextCharFormat() format.setForeground(QBrush(QColor(theme['html']['color']))) format.setFontWeight(QFont.Bold if theme['html']['font-weight']=='bold' else QFont.Normal) format.setFontItalic(True if theme['html']['font-style']=='italic' else False) self.MARKDOWN_KWS_FORMAT['HTML'] = format self.rehighlight()