def xml_highlighter(self): lexer = QsciLexerXML() self.setDefaultSettings(lexer)
def __init__(self, parent=None): super(RDFXmlEditor, self).__init__(parent) self.parent = parent self.indicatorDefine(QsciScintilla.PlainIndicator, self.INDICATOR_URL) self.setCaretLineVisible(True) self.setEolMode(QsciScintilla.EolWindows) self.setEolVisibility(False) # Set the default font font = QFont() font.setFamily('Courier New') font.setFixedPitch(True) font.setPointSize(10) font.setBold(True) self.setFont(font) self.setMarginsFont(font) # Margin 0 is used for line numbers fontmetrics = QFontMetrics(font) self.setMarginsFont(font) self.setMarginWidth(0, fontmetrics.width("00000") + 6) self.setMarginLineNumbers(0, True) self.setMarginsBackgroundColor(QColor("#cccccc")) # Clickable margin 1 for showing markers self.setMarginSensitivity(1, True) self.marginClicked.connect(self.reactOnMarginClicked) self.markerDefine(QsciScintilla.RightArrow, self.ARROW_MARKER_NUM) self.setMarkerBackgroundColor(QColor("#ee1111"), self.ARROW_MARKER_NUM) self.setMarginSensitivity(2, True) self.setMarginType(2, QsciScintilla.SymbolMargin ) self.setFolding(QsciScintilla.CircledTreeFoldStyle,2) # Brace matching: enable for a brace immediately before or after # the current position # self.setBraceMatching(QsciScintilla.SloppyBraceMatch) self.setIndentationGuides(True) # Current line visible with special background color self.setWrapMode(QsciScintilla.WrapWhitespace) self.setCaretLineBackgroundColor(QColor("#ffe4e4")) self.lexer = QsciLexerXML() self.lexer.setDefaultFont(font) self.lexer.setColor(QColor(26, 26, 255, 250), QsciLexerXML.Tag) font = self.lexer.font(QsciLexerXML.Tag) font.setBold(True) self.lexer.setFont(font, QsciLexerXML.Tag) self.lexer.setColor(QColor(230, 115, 0, 250), QsciLexerXML.Attribute) font = self.lexer.font(QsciLexerXML.Attribute) font.setBold(True) self.lexer.setFont(font, QsciLexerXML.Attribute) self.lexer.setColor(QColor(0, 148, 43, 250), QsciLexerXML.HTMLDoubleQuotedString) font = self.lexer.font(QsciLexerXML.HTMLDoubleQuotedString) font.setBold(True) self.lexer.setFont(font, QsciLexerXML.HTMLDoubleQuotedString) #lexer.setColor(QColor(0, 153, 51, 250), QsciLexerXML.XMLStart) #lexer.setColor(QColor(0, 153, 51, 250), QsciLexerXML.XMLEnd) self.setLexer(self.lexer) #self.SendScintilla(QsciScintilla.SCI_STYLESETFONT, 1, 'Courier') # Don't want to see the horizontal scrollbar at all # Use raw message to Scintilla here (all messages are documented # here: http://www.scintilla.org/ScintillaDoc.html) self.SendScintilla(QsciScintilla.SCI_SETHSCROLLBAR, 0) # not too small self.setMinimumSize(600, 450) self.prevFind = [] self.firstFindDone = False