Example #1
0
 def xml_highlighter(self):
     lexer = QsciLexerXML()
     self.setDefaultSettings(lexer)
Example #2
0
    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