On 7.4.2015 21:58, Phil Thompson wrote:
On 07/04/2015 8:18 pm, Matic Kukovec wrote:
On 5.4.2015 13:36, Phil Thompson wrote:
On 04/04/2015 5:38 pm, Matic Kukovec wrote:
Hi Phil,

The number margin background color turns white when applying a QsciLexerCustom.
If the document is opened with a built-in lexer or without a lexer,
the number margin color is the default gray.

Is this the correct behaviour? This didn't happen in the previous version.

Should be fixed in tonight's snapshot.

Thanks,
Phil

Tried the last two snapshots and the number margin is still white on a
QsciLexerCustom.
Just to let you know.

The change I made fixed it for me. Make sure you are really using the updated snapshot. If so send me a short, complete application that demonstrates the problem.

Phil

Hey Phil,

Here is an example. You can switch lexers in lines 37/38. Line 37 has the white margin. I'm on Windows 7 64-bit using snapshot 'eb936ad1f826' with Python3.4 64-bit and PyQt4.11.3.

Oh, I just realized I should mention that I'm only compiling QScintilla, not the entire PyQt4! Compiled the source and just overwrote the 'qscintilla2.dll' in 'Python34\Lib\site-packages\PyQt4'.

Cheers,
Matic
import PyQt4.QtCore
import PyQt4.QtGui
import PyQt4.Qsci
import sys
import os

class Text(PyQt4.Qsci.QsciLexerCustom):
    """Lexer for styling normal text documents"""
    #Class variables
    default_color       = PyQt4.QtGui.QColor(0, 0, 0)
    default_font        = PyQt4.QtGui.QFont('Courier', 10)
    
    def __init__(self,  parent=None):
        """Overridden initialization"""
        #Initialize superclass
        super().__init__()
        self.setColor(self.default_color, 0)
        self.setFont(self.default_font, 0)
    
    def language(self):
        return "Plain text"
    
    def description(self, style):
        return "Lexer for styling normal text documents"
    
    def styleText(self, start, end):
        self.startStyling(start)
        self.setStyling(end - start, 0)

def main():
    app = PyQt4.QtGui.QApplication(sys.argv)
    wnd = PyQt4.QtGui.QMainWindow()
    editor = PyQt4.Qsci.QsciScintilla(wnd)
    editor.setLexer(Text())
#    editor.setLexer(PyQt4.Qsci.QsciLexerPython())
    editor.setUtf8(True)
    editor.setMarginType(0, PyQt4.Qsci.QsciScintilla.NumberMargin)
    editor.setMarginWidth(0, "00")
    wnd.setCentralWidget(editor)
    wnd.show()
    sys.exit(app.exec_())
    
#Check if this is the main executing script
if __name__ == '__main__':
    main()
_______________________________________________
QScintilla mailing list
[email protected]
http://www.riverbankcomputing.com/mailman/listinfo/qscintilla

Reply via email to