QScintilla/QsciScintillaCompat.py

Fri, 01 Nov 2013 15:48:48 +0100

author
T.Rzepka <Tobias.Rzepka@gmail.com>
date
Fri, 01 Nov 2013 15:48:48 +0100
branch
Py2 comp.
changeset 3058
0a02c433f52d
parent 3057
10516539f238
parent 3030
4a0a82ddd9d2
child 3060
5883ce99ee12
permissions
-rw-r--r--

Merge with default branch after fixed indentation issues.

0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
2302
f29e9405c851 Updated copyright for 2013.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2084
diff changeset
3 # Copyright (c) 2004 - 2013 Detlev Offenbach <detlev@die-offenbachs.de>
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a compatability interface class to QsciScintilla.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2472
diff changeset
10 from __future__ import unicode_literals # __IGNORE_WARNING__
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2472
diff changeset
11
2347
a4a4d710ebe8 Fixed the feedback of a changed zoom value from the editors, shell or terminal to the view manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
12 from PyQt4.QtCore import pyqtSignal, Qt
2084
d3f083dd0222 Made the fiveth set of Qt5 compatibility changes (some of the previous changes are backed out due to changes in PyQt4).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2077
diff changeset
13 from PyQt4.QtGui import QPalette, QColor, QApplication
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 from PyQt4.Qsci import QsciScintilla, \
1443
9b9396fc54aa Fixed a compatibility issue with QScintilla 2.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
15 QSCINTILLA_VERSION as QsciQSCINTILLA_VERSION, QSCINTILLA_VERSION_STR, \
9b9396fc54aa Fixed a compatibility issue with QScintilla 2.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
16 QsciScintillaBase
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
18 ###############################################################################
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19
2077
68a34718a0ce Made the first set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1518
diff changeset
20
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 def QSCINTILLA_VERSION():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 Module function to return the QScintilla version.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 If the installed QScintilla is a snapshot version, then assume it is
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 of the latest release and return a version number of 0x99999.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 @return QScintilla version (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 if '-snapshot-' in QSCINTILLA_VERSION_STR:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 return 0x99999
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 return QsciQSCINTILLA_VERSION
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
35 ###############################################################################
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
37
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 class QsciScintillaCompat(QsciScintilla):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 Class implementing a compatability interface to QsciScintilla.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 This class implements all the functions, that were added to
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 QsciScintilla incrementally. This class ensures compatibility
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 to older versions of QsciScintilla.
2347
a4a4d710ebe8 Fixed the feedback of a changed zoom value from the editors, shell or terminal to the view manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
45
a4a4d710ebe8 Fixed the feedback of a changed zoom value from the editors, shell or terminal to the view manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
46 @signal zoomValueChanged(int) emitted to signal a change of the zoom value
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 """
2347
a4a4d710ebe8 Fixed the feedback of a changed zoom value from the editors, shell or terminal to the view manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
48 zoomValueChanged = pyqtSignal(int)
a4a4d710ebe8 Fixed the feedback of a changed zoom value from the editors, shell or terminal to the view manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
49
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
50 ArrowFoldStyle = QsciScintilla.BoxedTreeFoldStyle + 1
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
51 ArrowTreeFoldStyle = ArrowFoldStyle + 1
330
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
52
448
a1f1b226ff4b Fixed a few unicode related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 404
diff changeset
53 UserSeparator = '\x04'
a1f1b226ff4b Fixed a few unicode related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 404
diff changeset
54
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
55 def __init__(self, parent=None):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 Constructor
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 @param parent parent widget (QWidget)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 """
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2472
diff changeset
61 super(QsciScintillaCompat, self).__init__(parent)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 self.zoom = 0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 self.__targetSearchFlags = 0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 self.__targetSearchExpr = ""
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 self.__targetSearchStart = 0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 self.__targetSearchEnd = -1
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 self.__targetSearchActive = False
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
71 def setLexer(self, lex=None):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 Public method to set the lexer.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 @param lex the lexer to be set or None to reset it.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 """
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2472
diff changeset
77 super(QsciScintillaCompat, self).setLexer(lex)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 if lex is None:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 self.clearStyles()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 def clearStyles(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 Public method to set the styles according the selected Qt style.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 """
2084
d3f083dd0222 Made the fiveth set of Qt5 compatibility changes (some of the previous changes are backed out due to changes in PyQt4).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2077
diff changeset
85 palette = QApplication.palette()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 self.SendScintilla(QsciScintilla.SCI_STYLESETFORE,
3030
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3011
diff changeset
87 QsciScintilla.STYLE_DEFAULT,
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3011
diff changeset
88 palette.color(QPalette.Text))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 self.SendScintilla(QsciScintilla.SCI_STYLESETBACK,
3030
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3011
diff changeset
90 QsciScintilla.STYLE_DEFAULT,
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3011
diff changeset
91 palette.color(QPalette.Base))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 self.SendScintilla(QsciScintilla.SCI_STYLECLEARALL)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 self.SendScintilla(QsciScintilla.SCI_CLEARDOCUMENTSTYLE)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 def monospacedStyles(self, font):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 Public method to set the current style to be monospaced.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 @param font font to be used (QFont)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 try:
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
102 rangeLow = list(range(self.STYLE_DEFAULT))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 except AttributeError:
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
104 rangeLow = list(range(32))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 try:
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
106 rangeHigh = list(range(self.STYLE_LASTPREDEFINED + 1,
3030
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3011
diff changeset
107 self.STYLE_MAX + 1))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 except AttributeError:
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
109 rangeHigh = list(range(40, 128))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110
551
e1074b63ff08 Fixed a compatibility issue with QsciScintilla 2.4.5 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 510
diff changeset
111 f = font.family().encode()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 ps = font.pointSize()
2472
4860fe0ed4a6 Extended the editor monospaced style to allow to set the weight, italic and underline properties.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2347
diff changeset
113 weight = -font.weight()
4860fe0ed4a6 Extended the editor monospaced style to allow to set the weight, italic and underline properties.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2347
diff changeset
114 italic = font.italic()
4860fe0ed4a6 Extended the editor monospaced style to allow to set the weight, italic and underline properties.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2347
diff changeset
115 underline = font.underline()
2564
3eb07bb2afd4 Fixed an issue in QsciScintillaCompat setting monospaced styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2537
diff changeset
116 bold = font.bold()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 for style in rangeLow + rangeHigh:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 self.SendScintilla(QsciScintilla.SCI_STYLESETFONT, style, f)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 self.SendScintilla(QsciScintilla.SCI_STYLESETSIZE, style, ps)
2564
3eb07bb2afd4 Fixed an issue in QsciScintillaCompat setting monospaced styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2537
diff changeset
120 try:
3011
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
121 self.SendScintilla(
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
122 QsciScintilla.SCI_STYLESETWEIGHT, style, weight)
2564
3eb07bb2afd4 Fixed an issue in QsciScintillaCompat setting monospaced styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2537
diff changeset
123 except AttributeError:
3eb07bb2afd4 Fixed an issue in QsciScintillaCompat setting monospaced styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2537
diff changeset
124 self.SendScintilla(QsciScintilla.SCI_STYLESETBOLD, style, bold)
2537
0ff250733d45 Fixed a few PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2472
diff changeset
125 self.SendScintilla(QsciScintilla.SCI_STYLESETITALIC, style, italic)
3011
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
126 self.SendScintilla(
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
127 QsciScintilla.SCI_STYLESETUNDERLINE, style, underline)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 def linesOnScreen(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 Public method to get the amount of visible lines.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 @return amount of visible lines (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 return self.SendScintilla(QsciScintilla.SCI_LINESONSCREEN)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 def lineAt(self, pos):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 Public method to calculate the line at a position.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 This variant is able to calculate the line for positions in the
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 margins and for empty lines.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 @param pos position to calculate the line for (integer or QPoint)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 @return linenumber at position or -1, if there is no line at pos
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 (integer, zero based)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 """
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
148 if isinstance(pos, int):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 scipos = pos
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151 scipos = \
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
152 self.SendScintilla(QsciScintilla.SCI_POSITIONFROMPOINT,
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
153 pos.x(), pos.y())
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 line = self.SendScintilla(QsciScintilla.SCI_LINEFROMPOSITION, scipos)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 if line >= self.lines():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 line = -1
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 return line
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 def currentPosition(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 Public method to get the current position.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 @return absolute position of the cursor (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 return self.SendScintilla(QsciScintilla.SCI_GETCURRENTPOS)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167 def styleAt(self, pos):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 Public method to get the style at a position in the text.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 @param pos position in the text (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 @return style at the requested position or 0, if the position
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 is negative or past the end of the document (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 return self.SendScintilla(QsciScintilla.SCI_GETSTYLEAT, pos)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 def currentStyle(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179 Public method to get the style at the current position.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
180
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181 @return style at the current position (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
182 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
183 return self.styleAt(self.currentPosition())
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
184
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185 def getEndStyled(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
186 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
187 Public method to get the last styled position.
2965
d133c7edd88a Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2763
diff changeset
188
d133c7edd88a Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2763
diff changeset
189 @return end position of the last styling run (integer)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
190 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
191 return self.SendScintilla(QsciScintilla.SCI_GETENDSTYLED)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
192
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
193 def startStyling(self, pos, mask):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
194 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195 Public method to prepare styling.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
196
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
197 @param pos styling positition to start at (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
198 @param mask mask of bits to use for styling (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
199 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
200 self.SendScintilla(QsciScintilla.SCI_STARTSTYLING, pos, mask)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
201
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
202 def setStyling(self, length, style):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
203 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
204 Public method to style some text.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
205
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
206 @param length length of text to style (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
207 @param style style to set for text (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
208 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
209 self.SendScintilla(QsciScintilla.SCI_SETSTYLING, length, style)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
210
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
211 def setStyleBits(self, bits):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
212 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
213 Public method to set the number of bits to be used for styling.
502
7500b9d5b21d Fixed an issue in the editor related to unicode handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 448
diff changeset
214
7500b9d5b21d Fixed an issue in the editor related to unicode handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 448
diff changeset
215 @param bits number of style bits (integer)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
216 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
217 self.SendScintilla(QsciScintilla.SCI_SETSTYLEBITS, bits)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
218
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
219 def charAt(self, pos):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
220 """
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
221 Public method to get the character at a position in the text observing
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
222 multibyte characters.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
223
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
224 @param pos position in the text (integer)
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
225 @return character at the requested position or empty string, if the
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
226 position is negative or past the end of the document (string)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
227 """
25
5163e6f94ba5 Ported the exporters to Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
228 ch = self.byteAt(pos)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
229 if ch and ord(ch) > 127 and self.isUtf8():
25
5163e6f94ba5 Ported the exporters to Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
230 if (ch[0] & 0xF0) == 0xF0:
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
231 utf8Len = 4
25
5163e6f94ba5 Ported the exporters to Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
232 elif (ch[0] & 0xE0) == 0xE0:
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
233 utf8Len = 3
25
5163e6f94ba5 Ported the exporters to Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
234 elif (ch[0] & 0xC0) == 0xC0:
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
235 utf8Len = 2
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
236 while len(ch) < utf8Len:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
237 pos += 1
25
5163e6f94ba5 Ported the exporters to Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
238 ch += self.byteAt(pos)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
239 return ch.decode('utf8')
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
240 else:
25
5163e6f94ba5 Ported the exporters to Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
241 return ch.decode()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
242
25
5163e6f94ba5 Ported the exporters to Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
243 def byteAt(self, pos):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
244 """
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
245 Public method to get the raw character (bytes) at a position in the
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
246 text.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
247
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
248 @param pos position in the text (integer)
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
249 @return raw character at the requested position or empty bytes, if the
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
250 position is negative or past the end of the document (bytes)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
251 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
252 char = self.SendScintilla(QsciScintilla.SCI_GETCHARAT, pos)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
253 if char == 0:
2684
b1d8db9a31bc Fix for the PDF exporter.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2677
diff changeset
254 return bytearray()
25
5163e6f94ba5 Ported the exporters to Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
255 if char < 0:
5163e6f94ba5 Ported the exporters to Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
256 char += 256
2684
b1d8db9a31bc Fix for the PDF exporter.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2677
diff changeset
257 return bytearray((char,))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
258
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
259 def foldLevelAt(self, line):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
260 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
261 Public method to get the fold level of a line of the document.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
262
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
263 @param line line number (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
264 @return fold level of the given line (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
265 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
266 lvl = self.SendScintilla(QsciScintilla.SCI_GETFOLDLEVEL, line)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
267 return \
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
268 (lvl & QsciScintilla.SC_FOLDLEVELNUMBERMASK) - \
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
269 QsciScintilla.SC_FOLDLEVELBASE
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
270
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
271 def foldFlagsAt(self, line):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
272 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
273 Public method to get the fold flags of a line of the document.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
274
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
275 @param line line number (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
276 @return fold flags of the given line (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
277 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
278 lvl = self.SendScintilla(QsciScintilla.SCI_GETFOLDLEVEL, line)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
279 return lvl & ~QsciScintilla.SC_FOLDLEVELNUMBERMASK
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
280
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
281 def foldHeaderAt(self, line):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
282 """
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
283 Public method to determine, if a line of the document is a fold header
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
284 line.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
285
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
286 @param line line number (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
287 @return flag indicating a fold header line (boolean)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
288 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
289 lvl = self.SendScintilla(QsciScintilla.SCI_GETFOLDLEVEL, line)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
290 return lvl & QsciScintilla.SC_FOLDLEVELHEADERFLAG
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
291
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
292 def foldExpandedAt(self, line):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
293 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
294 Public method to determine, if a fold is expanded.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
295
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
296 @param line line number (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
297 @return flag indicating the fold expansion state of the line (boolean)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
298 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
299 return self.SendScintilla(QsciScintilla.SCI_GETFOLDEXPANDED, line)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
300
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
301 def setIndentationGuideView(self, view):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
302 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
303 Public method to set the view of the indentation guides.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
304
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
305 @param view view of the indentation guides (SC_IV_NONE, SC_IV_REAL,
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
306 SC_IV_LOOKFORWARD or SC_IV_LOOKBOTH)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
307 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
308 self.SendScintilla(QsciScintilla.SCI_SETINDENTATIONGUIDES, view)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
309
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
310 def indentationGuideView(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
311 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
312 Public method to get the indentation guide view.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
313
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
314 @return indentation guide view (SC_IV_NONE, SC_IV_REAL,
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
315 SC_IV_LOOKFORWARD or SC_IV_LOOKBOTH)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
316 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
317 return self.SendScintilla(QsciScintilla.SCI_GETINDENTATIONGUIDES)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
318
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
319 ###########################################################################
2659
7f46c5a7ed73 Added support for virtual space to the Editor and Mini Editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2658
diff changeset
320 ## methods below are missing from QScintilla
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
321 ###########################################################################
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
322
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
323 def zoomIn(self, zoom=1):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
324 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
325 Public method used to increase the zoom factor.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
326
2347
a4a4d710ebe8 Fixed the feedback of a changed zoom value from the editors, shell or terminal to the view manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
327 @param zoom zoom factor increment (integer)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
328 """
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2472
diff changeset
329 super(QsciScintillaCompat, self).zoomIn(zoom)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
330
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
331 def zoomOut(self, zoom=1):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
332 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
333 Public method used to decrease the zoom factor.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
334
2347
a4a4d710ebe8 Fixed the feedback of a changed zoom value from the editors, shell or terminal to the view manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
335 @param zoom zoom factor decrement (integer)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
336 """
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2472
diff changeset
337 super(QsciScintillaCompat, self).zoomOut(zoom)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
338
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
339 def zoomTo(self, zoom):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
340 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
341 Public method used to zoom to a specific zoom factor.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
342
2347
a4a4d710ebe8 Fixed the feedback of a changed zoom value from the editors, shell or terminal to the view manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
343 @param zoom zoom factor (integer)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
344 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
345 self.zoom = zoom
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2472
diff changeset
346 super(QsciScintillaCompat, self).zoomTo(zoom)
2347
a4a4d710ebe8 Fixed the feedback of a changed zoom value from the editors, shell or terminal to the view manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
347 self.zoomValueChanged.emit(self.zoom)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
348
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
349 def getZoom(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
350 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
351 Public method used to retrieve the current zoom factor.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
352
2347
a4a4d710ebe8 Fixed the feedback of a changed zoom value from the editors, shell or terminal to the view manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
353 @return zoom factor (integer)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
354 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
355 return self.zoom
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
356
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
357 def editorCommand(self, cmd):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
358 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
359 Public method to perform a simple editor command.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
360
502
7500b9d5b21d Fixed an issue in the editor related to unicode handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 448
diff changeset
361 @param cmd the scintilla command to be performed (integer)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
362 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
363 self.SendScintilla(cmd)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
364
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
365 def scrollVertical(self, lines):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
366 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
367 Public method to scroll the text area.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
368
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
369 @param lines number of lines to scroll (negative scrolls up,
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
370 positive scrolls down) (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
371 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
372 self.SendScintilla(QsciScintilla.SCI_LINESCROLL, 0, lines)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
373
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
374 def moveCursorToEOL(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
375 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
376 Public method to move the cursor to the end of line.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
377 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
378 self.SendScintilla(QsciScintilla.SCI_LINEEND)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
379
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
380 def moveCursorLeft(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
381 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
382 Public method to move the cursor left.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
383 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
384 self.SendScintilla(QsciScintilla.SCI_CHARLEFT)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
385
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
386 def moveCursorRight(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
387 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
388 Public method to move the cursor right.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
389 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
390 self.SendScintilla(QsciScintilla.SCI_CHARRIGHT)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
391
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
392 def moveCursorWordLeft(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
393 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
394 Public method to move the cursor left one word.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
395 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
396 self.SendScintilla(QsciScintilla.SCI_WORDLEFT)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
397
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
398 def moveCursorWordRight(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
399 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
400 Public method to move the cursor right one word.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
401 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
402 self.SendScintilla(QsciScintilla.SCI_WORDRIGHT)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
403
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
404 def newLineBelow(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
405 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
406 Public method to insert a new line below the current one.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
407 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
408 self.SendScintilla(QsciScintilla.SCI_LINEEND)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
409 self.SendScintilla(QsciScintilla.SCI_NEWLINE)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
410
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
411 def deleteBack(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
412 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
413 Public method to delete the character to the left of the cursor.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
414 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
415 self.SendScintilla(QsciScintilla.SCI_DELETEBACK)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
416
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
417 def delete(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
418 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
419 Public method to delete the character to the right of the cursor.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
420 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
421 self.SendScintilla(QsciScintilla.SCI_CLEAR)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
422
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
423 def deleteWordLeft(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
424 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
425 Public method to delete the word to the left of the cursor.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
426 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
427 self.SendScintilla(QsciScintilla.SCI_DELWORDLEFT)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
428
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
429 def deleteWordRight(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
430 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
431 Public method to delete the word to the right of the cursor.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
432 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
433 self.SendScintilla(QsciScintilla.SCI_DELWORDRIGHT)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
434
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
435 def deleteLineLeft(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
436 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
437 Public method to delete the line to the left of the cursor.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
438 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
439 self.SendScintilla(QsciScintilla.SCI_DELLINELEFT)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
440
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
441 def deleteLineRight(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
442 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
443 Public method to delete the line to the right of the cursor.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
444 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
445 self.SendScintilla(QsciScintilla.SCI_DELLINERIGHT)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
446
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
447 def extendSelectionLeft(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
448 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
449 Public method to extend the selection one character to the left.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
450 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
451 self.SendScintilla(QsciScintilla.SCI_CHARLEFTEXTEND)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
452
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
453 def extendSelectionRight(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
454 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
455 Public method to extend the selection one character to the right.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
456 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
457 self.SendScintilla(QsciScintilla.SCI_CHARRIGHTEXTEND)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
458
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
459 def extendSelectionWordLeft(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
460 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
461 Public method to extend the selection one word to the left.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
462 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
463 self.SendScintilla(QsciScintilla.SCI_WORDLEFTEXTEND)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
464
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
465 def extendSelectionWordRight(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
466 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
467 Public method to extend the selection one word to the right.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
468 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
469 self.SendScintilla(QsciScintilla.SCI_WORDRIGHTEXTEND)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
470
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
471 def extendSelectionToBOL(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
472 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
473 Public method to extend the selection to the beginning of the line.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
474 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
475 self.SendScintilla(QsciScintilla.SCI_VCHOMEEXTEND)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
476
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
477 def extendSelectionToEOL(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
478 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
479 Public method to extend the selection to the end of the line.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
480 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
481 self.SendScintilla(QsciScintilla.SCI_LINEENDEXTEND)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
482
2593
a2df0adce985 Added entires to convert the selection to upper/lower case to the edit menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2589
diff changeset
483 def hasSelection(self):
a2df0adce985 Added entires to convert the selection to upper/lower case to the edit menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2589
diff changeset
484 """
a2df0adce985 Added entires to convert the selection to upper/lower case to the edit menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2589
diff changeset
485 Public method to check for a selection.
a2df0adce985 Added entires to convert the selection to upper/lower case to the edit menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2589
diff changeset
486
a2df0adce985 Added entires to convert the selection to upper/lower case to the edit menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2589
diff changeset
487 @return flag indicating the presence of a selection (boolean)
a2df0adce985 Added entires to convert the selection to upper/lower case to the edit menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2589
diff changeset
488 """
a2df0adce985 Added entires to convert the selection to upper/lower case to the edit menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2589
diff changeset
489 return self.getSelection()[0] != -1
a2df0adce985 Added entires to convert the selection to upper/lower case to the edit menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2589
diff changeset
490
2587
68cc83a68883 Added a function to QsciScintillaCompat to check for a rectangular selection.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2564
diff changeset
491 def selectionIsRectangle(self):
68cc83a68883 Added a function to QsciScintillaCompat to check for a rectangular selection.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2564
diff changeset
492 """
68cc83a68883 Added a function to QsciScintillaCompat to check for a rectangular selection.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2564
diff changeset
493 Public method to check, if the current selection is rectangular.
68cc83a68883 Added a function to QsciScintillaCompat to check for a rectangular selection.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2564
diff changeset
494
2653
94ff2db166f5 Fixed a typo in some source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2650
diff changeset
495 @return flag indicating a rectangular selection (boolean)
2587
68cc83a68883 Added a function to QsciScintillaCompat to check for a rectangular selection.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2564
diff changeset
496 """
2650
1b495c651868 Fixed an issue causing the 'Selection only' entry to remain selectable in the Find and Find&Replace widget for a rectangular selection.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2632
diff changeset
497 startLine, startIndex, endLine, endIndex = self.getSelection()
1b495c651868 Fixed an issue causing the 'Selection only' entry to remain selectable in the Find and Find&Replace widget for a rectangular selection.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2632
diff changeset
498 return startLine != -1 and \
1b495c651868 Fixed an issue causing the 'Selection only' entry to remain selectable in the Find and Find&Replace widget for a rectangular selection.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2632
diff changeset
499 startLine != endLine and \
1b495c651868 Fixed an issue causing the 'Selection only' entry to remain selectable in the Find and Find&Replace widget for a rectangular selection.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2632
diff changeset
500 self.SendScintilla(QsciScintilla.SCI_SELECTIONISRECTANGLE)
2587
68cc83a68883 Added a function to QsciScintillaCompat to check for a rectangular selection.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2564
diff changeset
501
2589
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
502 def getRectangularSelection(self):
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
503 """
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
504 Public method to retrieve the start and end of a rectangular selection.
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
505
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
506 @return tuple with start line and index and end line and index
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
507 (tuple of four int)
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
508 """
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
509 if not self.selectionIsRectangle():
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
510 return (-1, -1, -1, -1)
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
511
3011
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
512 startPos = self.SendScintilla(
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
513 QsciScintilla.SCI_GETRECTANGULARSELECTIONANCHOR)
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
514 endPos = self.SendScintilla(
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
515 QsciScintilla.SCI_GETRECTANGULARSELECTIONCARET)
2589
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
516 startLine, startIndex = self.lineIndexFromPosition(startPos)
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
517 endLine, endIndex = self.lineIndexFromPosition(endPos)
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
518
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
519 return (startLine, startIndex, endLine, endIndex)
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
520
3011
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
521 def setRectangularSelection(self, startLine, startIndex, endLine,
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
522 endIndex):
2589
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
523 """
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
524 Public method to set a rectangular selection.
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
525
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
526 @param startLine line number of the start of the selection (int)
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
527 @param startIndex index number of the start of the selection (int)
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
528 @param endLine line number of the end of the selection (int)
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
529 @param endIndex index number of the end of the selection (int)
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
530 """
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
531 startPos = self.positionFromLineIndex(startLine, startIndex)
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
532 endPos = self.positionFromLineIndex(endLine, endIndex)
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
533
3011
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
534 self.SendScintilla(
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
535 QsciScintilla.SCI_SETRECTANGULARSELECTIONANCHOR, startPos)
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
536 self.SendScintilla(
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
537 QsciScintilla.SCI_SETRECTANGULARSELECTIONCARET, endPos)
2589
a51b0c113ed7 Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2587
diff changeset
538
2658
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
539 def getSelectionCount(self):
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
540 """
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
541 Public method to get the number of active selections.
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
542
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
543 @return number of active selection (integer)
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
544 """
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
545 return self.SendScintilla(QsciScintilla.SCI_GETSELECTIONS)
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
546
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
547 def getSelectionN(self, index):
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
548 """
2965
d133c7edd88a Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2763
diff changeset
549 Public method to get the start and end of a selection given by its
d133c7edd88a Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2763
diff changeset
550 index.
2658
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
551
2965
d133c7edd88a Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2763
diff changeset
552 @param index index of the selection (integer)
2658
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
553 @return tuple with start line and index and end line and index
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
554 (tuple of four int) for the given selection
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
555 """
3011
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
556 startPos = self.SendScintilla(
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
557 QsciScintilla.SCI_GETSELECTIONNSTART, index)
2658
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
558 endPos = self.SendScintilla(QsciScintilla.SCI_GETSELECTIONNEND, index)
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
559 startLine, startIndex = self.lineIndexFromPosition(startPos)
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
560 endLine, endIndex = self.lineIndexFromPosition(endPos)
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
561
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
562 return (startLine, startIndex, endLine, endIndex)
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
563
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
564 def getSelections(self):
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
565 """
3011
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
566 Public method to get the start and end coordinates of all active
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
567 selections.
2658
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
568
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
569 @return list of tuples with start line and index and end line and index
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
570 of each active selection (list of tuples of four int)
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
571 """
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
572 selections = []
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
573 for index in range(self.getSelectionCount()):
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
574 selections.append(self.getSelectionN(index))
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
575 return selections
ec17f5d559e9 Added methods to QsciScintillaCompat to handle multiple selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2653
diff changeset
576
2659
7f46c5a7ed73 Added support for virtual space to the Editor and Mini Editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2658
diff changeset
577 def setVirtualSpaceOptions(self, options):
7f46c5a7ed73 Added support for virtual space to the Editor and Mini Editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2658
diff changeset
578 """
7f46c5a7ed73 Added support for virtual space to the Editor and Mini Editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2658
diff changeset
579 Public method to set the virtual space usage options.
7f46c5a7ed73 Added support for virtual space to the Editor and Mini Editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2658
diff changeset
580
7f46c5a7ed73 Added support for virtual space to the Editor and Mini Editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2658
diff changeset
581 @param options usage options to set (integer, 0 to 3)
7f46c5a7ed73 Added support for virtual space to the Editor and Mini Editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2658
diff changeset
582 """
7f46c5a7ed73 Added support for virtual space to the Editor and Mini Editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2658
diff changeset
583 self.SendScintilla(QsciScintilla.SCI_SETVIRTUALSPACEOPTIONS, options)
7f46c5a7ed73 Added support for virtual space to the Editor and Mini Editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2658
diff changeset
584
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
585 def getLineSeparator(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
586 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
587 Public method to get the line separator for the current eol mode.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
588
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
589 @return eol string (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
590 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
591 m = self.eolMode()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
592 if m == QsciScintilla.EolWindows:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
593 eol = '\r\n'
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
594 elif m == QsciScintilla.EolUnix:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
595 eol = '\n'
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
596 elif m == QsciScintilla.EolMac:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
597 eol = '\r'
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
598 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
599 eol = ''
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
600 return eol
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
601
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
602 def getEolIndicator(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
603 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
604 Public method to get the eol indicator for the current eol mode.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
605
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
606 @return eol indicator (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
607 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
608 m = self.eolMode()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
609 if m == QsciScintilla.EolWindows:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
610 eol = 'CRLF'
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
611 elif m == QsciScintilla.EolUnix:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
612 eol = 'LF'
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
613 elif m == QsciScintilla.EolMac:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
614 eol = 'CR'
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
615 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
616 eol = ''
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
617 return eol
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
618
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
619 def setEolModeByEolString(self, eolStr):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
620 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
621 Public method to set the eol mode given the eol string.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
622
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
623 @param eolStr eol string (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
624 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
625 if eolStr == '\r\n':
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
626 self.setEolMode(QsciScintilla.EolMode(QsciScintilla.EolWindows))
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
627 elif eolStr == '\n':
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
628 self.setEolMode(QsciScintilla.EolMode(QsciScintilla.EolUnix))
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
629 elif eolStr == '\r':
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
630 self.setEolMode(QsciScintilla.EolMode(QsciScintilla.EolMac))
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
631
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
632 def detectEolString(self, txt):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
633 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
634 Public method to determine the eol string used.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
635
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
636 @param txt text from which to determine the eol string (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
637 @return eol string (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
638 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
639 if len(txt.split("\r\n", 1)) == 2:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
640 return '\r\n'
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
641 elif len(txt.split("\n", 1)) == 2:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
642 return '\n'
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
643 elif len(txt.split("\r", 1)) == 2:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
644 return '\r'
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
645 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
646 return None
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
647
404
44a541bea034 Added code to adjust the cursor flash time of the editor to the global settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 342
diff changeset
648 def getCursorFlashTime(self):
44a541bea034 Added code to adjust the cursor flash time of the editor to the global settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 342
diff changeset
649 """
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
650 Public method to get the flash (blink) time of the cursor in
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
651 milliseconds.
404
44a541bea034 Added code to adjust the cursor flash time of the editor to the global settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 342
diff changeset
652
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
653 The flash time is the time required to display, invert and restore the
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
654 caret display. Usually the text cursor is displayed for half the cursor
404
44a541bea034 Added code to adjust the cursor flash time of the editor to the global settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 342
diff changeset
655 flash time, then hidden for the same amount of time.
44a541bea034 Added code to adjust the cursor flash time of the editor to the global settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 342
diff changeset
656
44a541bea034 Added code to adjust the cursor flash time of the editor to the global settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 342
diff changeset
657 @return flash time of the cursor in milliseconds (integer)
44a541bea034 Added code to adjust the cursor flash time of the editor to the global settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 342
diff changeset
658 """
44a541bea034 Added code to adjust the cursor flash time of the editor to the global settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 342
diff changeset
659 return 2 * self.SendScintilla(QsciScintilla.SCI_GETCARETPERIOD)
44a541bea034 Added code to adjust the cursor flash time of the editor to the global settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 342
diff changeset
660
44a541bea034 Added code to adjust the cursor flash time of the editor to the global settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 342
diff changeset
661 def setCursorFlashTime(self, time):
44a541bea034 Added code to adjust the cursor flash time of the editor to the global settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 342
diff changeset
662 """
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
663 Public method to get the flash (blink) time of the cursor in
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
664 milliseconds.
404
44a541bea034 Added code to adjust the cursor flash time of the editor to the global settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 342
diff changeset
665
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
666 The flash time is the time required to display, invert and restore the
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
667 caret display. Usually the text cursor is displayed for half the cursor
404
44a541bea034 Added code to adjust the cursor flash time of the editor to the global settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 342
diff changeset
668 flash time, then hidden for the same amount of time.
44a541bea034 Added code to adjust the cursor flash time of the editor to the global settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 342
diff changeset
669
44a541bea034 Added code to adjust the cursor flash time of the editor to the global settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 342
diff changeset
670 @param time flash time of the cursor in milliseconds (integer)
44a541bea034 Added code to adjust the cursor flash time of the editor to the global settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 342
diff changeset
671 """
44a541bea034 Added code to adjust the cursor flash time of the editor to the global settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 342
diff changeset
672 self.SendScintilla(QsciScintilla.SCI_SETCARETPERIOD, time // 2)
44a541bea034 Added code to adjust the cursor flash time of the editor to the global settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 342
diff changeset
673
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
674 ###########################################################################
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
675 # methods to perform searches in target range
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
676 ###########################################################################
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
677
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
678 def positionFromPoint(self, point):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
679 """
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
680 Public method to calculate the scintilla position from a point in the
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
681 window.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
682
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
683 @param point point in the window (QPoint)
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
684 @return scintilla position (integer) or -1 to indicate, that the point
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
685 is not near any character
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
686 """
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
687 return self.SendScintilla(QsciScintilla.SCI_POSITIONFROMPOINTCLOSE,
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
688 point.x(), point.y())
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
689
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
690 def positionBefore(self, pos):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
691 """
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
692 Public method to get the position before the given position taking into
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
693 account multibyte characters.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
694
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
695 @param pos position (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
696 @return position before the given one (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
697 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
698 return self.SendScintilla(QsciScintilla.SCI_POSITIONBEFORE, pos)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
699
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
700 def positionAfter(self, pos):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
701 """
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
702 Public method to get the position after the given position taking into
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
703 account multibyte characters.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
704
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
705 @param pos position (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
706 @return position after the given one (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
707 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
708 return self.SendScintilla(QsciScintilla.SCI_POSITIONAFTER, pos)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
709
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
710 def lineEndPosition(self, line):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
711 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
712 Public method to determine the line end position of the given line.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
713
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
714 @param line line number (integer)
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
715 @return position of the line end disregarding line end characters
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
716 (integer)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
717 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
718 return self.SendScintilla(QsciScintilla.SCI_GETLINEENDPOSITION, line)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
719
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
720 def __doSearchTarget(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
721 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
722 Private method to perform the search in target.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
723
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
724 @return flag indicating a successful search (boolean)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
725 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
726 if self.__targetSearchStart == self.__targetSearchEnd:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
727 self.__targetSearchActive = False
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
728 return False
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
729
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
730 self.SendScintilla(QsciScintilla.SCI_SETTARGETSTART,
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
731 self.__targetSearchStart)
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
732 self.SendScintilla(QsciScintilla.SCI_SETTARGETEND,
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
733 self.__targetSearchEnd)
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
734 self.SendScintilla(QsciScintilla.SCI_SETSEARCHFLAGS,
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
735 self.__targetSearchFlags)
502
7500b9d5b21d Fixed an issue in the editor related to unicode handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 448
diff changeset
736 targetSearchExpr = self._encodeString(self.__targetSearchExpr)
7500b9d5b21d Fixed an issue in the editor related to unicode handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 448
diff changeset
737 pos = self.SendScintilla(QsciScintilla.SCI_SEARCHINTARGET,
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
738 len(targetSearchExpr),
502
7500b9d5b21d Fixed an issue in the editor related to unicode handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 448
diff changeset
739 targetSearchExpr)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
740
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
741 if pos == -1:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
742 self.__targetSearchActive = False
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
743 return False
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
744
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
745 targend = self.SendScintilla(QsciScintilla.SCI_GETTARGETEND)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
746 self.__targetSearchStart = targend
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
747
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
748 return True
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
749
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
750 def getFoundTarget(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
751 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
752 Public method to get the recently found target.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
753
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
754 @return found target as a tuple of starting position and target length
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
755 (integer, integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
756 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
757 if self.__targetSearchActive:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
758 spos = self.SendScintilla(QsciScintilla.SCI_GETTARGETSTART)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
759 epos = self.SendScintilla(QsciScintilla.SCI_GETTARGETEND)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
760 return (spos, epos - spos)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
761 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
762 return (0, 0)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
763
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
764 def findFirstTarget(self, expr_, re_, cs_, wo_,
3030
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3011
diff changeset
765 begline=-1, begindex=-1, endline=-1, endindex=-1,
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3011
diff changeset
766 ws_=False):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
767 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
768 Public method to search in a specified range of text without
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
769 setting the selection.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
770
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
771 @param expr_ search expression (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
772 @param re_ flag indicating a regular expression (boolean)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
773 @param cs_ flag indicating a case sensitive search (boolean)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
774 @param wo_ flag indicating a word only search (boolean)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
775 @keyparam begline line number to start from (-1 to indicate current
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
776 position) (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
777 @keyparam begindex index to start from (-1 to indicate current
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
778 position) (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
779 @keyparam endline line number to stop at (-1 to indicate end of
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
780 document) (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
781 @keyparam endindex index number to stop at (-1 to indicate end of
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
782 document) (integer)
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
783 @keyparam ws_ flag indicating a word start search (boolean)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
784 @return flag indicating a successful search (boolean)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
785 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
786 self.__targetSearchFlags = 0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
787 if re_:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
788 self.__targetSearchFlags |= QsciScintilla.SCFIND_REGEXP
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
789 if cs_:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
790 self.__targetSearchFlags |= QsciScintilla.SCFIND_MATCHCASE
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
791 if wo_:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
792 self.__targetSearchFlags |= QsciScintilla.SCFIND_WHOLEWORD
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
793 if ws_:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
794 self.__targetSearchFlags |= QsciScintilla.SCFIND_WORDSTART
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
795
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
796 if begline < 0 or begindex < 0:
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
797 self.__targetSearchStart = self.SendScintilla(
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
798 QsciScintilla.SCI_GETCURRENTPOS)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
799 else:
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
800 self.__targetSearchStart = self.positionFromLineIndex(
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
801 begline, begindex)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
802
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
803 if endline < 0 or endindex < 0:
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
804 self.__targetSearchEnd = self.SendScintilla(
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
805 QsciScintilla.SCI_GETTEXTLENGTH)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
806 else:
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
807 self.__targetSearchEnd = self.positionFromLineIndex(
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
808 endline, endindex)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
809
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
810 self.__targetSearchExpr = expr_
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
811
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
812 if self.__targetSearchExpr:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
813 self.__targetSearchActive = True
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
814
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
815 return self.__doSearchTarget()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
816
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
817 return False
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
818
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
819 def findNextTarget(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
820 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
821 Public method to find the next occurrence in the target range.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
822
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
823 @return flag indicating a successful search (boolean)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
824 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
825 if not self.__targetSearchActive:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
826 return False
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
827
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
828 return self.__doSearchTarget()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
829
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
830 def replaceTarget(self, replaceStr):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
831 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
832 Public method to replace the string found by the last search in target.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
833
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
834 @param replaceStr replacement string or regexp (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
835 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
836 if not self.__targetSearchActive:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
837 return
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
838
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
839 if self.__targetSearchFlags & QsciScintilla.SCFIND_REGEXP:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
840 cmd = QsciScintilla.SCI_REPLACETARGETRE
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
841 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
842 cmd = QsciScintilla.SCI_REPLACETARGET
510
84257fe1c8b4 Fixed an issue in the editor related to unicode handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 502
diff changeset
843 r = self._encodeString(replaceStr)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
844
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
845 start = self.SendScintilla(QsciScintilla.SCI_GETTARGETSTART)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
846 self.SendScintilla(cmd, len(r), r)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
847
502
7500b9d5b21d Fixed an issue in the editor related to unicode handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 448
diff changeset
848 self.__targetSearchStart = start + len(r)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
849
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
850 ###########################################################################
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
851 # indicator handling methods
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
852 ###########################################################################
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
853
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
854 def indicatorDefine(self, indicator, style, color):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
855 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
856 Public method to define the appearance of an indicator.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
857
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
858 @param indicator number of the indicator (integer,
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
859 QsciScintilla.INDIC_CONTAINER .. QsciScintilla.INDIC_MAX)
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
860 @param style style to be used for the indicator
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
861 (QsciScintilla.INDIC_PLAIN, QsciScintilla.INDIC_SQUIGGLE,
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
862 QsciScintilla.INDIC_TT, QsciScintilla.INDIC_DIAGONAL,
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
863 QsciScintilla.INDIC_STRIKE, QsciScintilla.INDIC_HIDDEN,
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
864 QsciScintilla.INDIC_BOX, QsciScintilla.INDIC_ROUNDBOX)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
865 @param color color to be used by the indicator (QColor)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
866 @exception ValueError the indicator or style are not valid
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
867 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
868 if indicator < QsciScintilla.INDIC_CONTAINER or \
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
869 indicator > QsciScintilla.INDIC_MAX:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
870 raise ValueError("indicator number out of range")
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
871
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
872 if style < QsciScintilla.INDIC_PLAIN or \
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
873 style > QsciScintilla.INDIC_ROUNDBOX:
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
874 raise ValueError("style out of range")
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
875
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
876 self.SendScintilla(QsciScintilla.SCI_INDICSETSTYLE, indicator, style)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
877 self.SendScintilla(QsciScintilla.SCI_INDICSETFORE, indicator, color)
942
1d2a6b8509c6 Added capability to configure the alpha channel for some colors (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 938
diff changeset
878 try:
1d2a6b8509c6 Added capability to configure the alpha channel for some colors (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 938
diff changeset
879 self.SendScintilla(QsciScintilla.SCI_INDICSETALPHA, indicator,
1d2a6b8509c6 Added capability to configure the alpha channel for some colors (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 938
diff changeset
880 color.alpha())
1d2a6b8509c6 Added capability to configure the alpha channel for some colors (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 938
diff changeset
881 except AttributeError:
1d2a6b8509c6 Added capability to configure the alpha channel for some colors (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 938
diff changeset
882 pass
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
883
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
884 def setCurrentIndicator(self, indicator):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
885 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
886 Public method to set the current indicator.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
887
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
888 @param indicator number of the indicator (integer,
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
889 QsciScintilla.INDIC_CONTAINER .. QsciScintilla.INDIC_MAX)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
890 @exception ValueError the indicator or style are not valid
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
891 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
892 if indicator < QsciScintilla.INDIC_CONTAINER or \
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
893 indicator > QsciScintilla.INDIC_MAX:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
894 raise ValueError("indicator number out of range")
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
895
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
896 self.SendScintilla(QsciScintilla.SCI_SETINDICATORCURRENT, indicator)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
897
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
898 def setIndicatorRange(self, indicator, spos, length):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
899 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
900 Public method to set an indicator for the given range.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
901
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
902 @param indicator number of the indicator (integer,
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
903 QsciScintilla.INDIC_CONTAINER .. QsciScintilla.INDIC_MAX)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
904 @param spos position of the indicator start (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
905 @param length length of the indicator (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
906 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
907 self.setCurrentIndicator(indicator)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
908 self.SendScintilla(QsciScintilla.SCI_INDICATORFILLRANGE, spos, length)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
909
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
910 def setIndicator(self, indicator, sline, sindex, eline, eindex):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
911 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
912 Public method to set an indicator for the given range.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
913
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
914 @param indicator number of the indicator (integer,
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
915 QsciScintilla.INDIC_CONTAINER .. QsciScintilla.INDIC_MAX)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
916 @param sline line number of the indicator start (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
917 @param sindex index of the indicator start (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
918 @param eline line number of the indicator end (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
919 @param eindex index of the indicator end (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
920 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
921 spos = self.positionFromLineIndex(sline, sindex)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
922 epos = self.positionFromLineIndex(eline, eindex)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
923 self.setIndicatorRange(indicator, spos, epos - spos)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
924
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
925 def clearIndicatorRange(self, indicator, spos, length):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
926 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
927 Public method to clear an indicator for the given range.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
928
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
929 @param indicator number of the indicator (integer,
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
930 QsciScintilla.INDIC_CONTAINER .. QsciScintilla.INDIC_MAX)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
931 @param spos position of the indicator start (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
932 @param length length of the indicator (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
933 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
934 self.setCurrentIndicator(indicator)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
935 self.SendScintilla(QsciScintilla.SCI_INDICATORCLEARRANGE, spos, length)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
936
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
937 def clearIndicator(self, indicator, sline, sindex, eline, eindex):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
938 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
939 Public method to clear an indicator for the given range.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
940
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
941 @param indicator number of the indicator (integer,
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
942 QsciScintilla.INDIC_CONTAINER .. QsciScintilla.INDIC_MAX)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
943 @param sline line number of the indicator start (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
944 @param sindex index of the indicator start (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
945 @param eline line number of the indicator end (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
946 @param eindex index of the indicator end (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
947 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
948 spos = self.positionFromLineIndex(sline, sindex)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
949 epos = self.positionFromLineIndex(eline, eindex)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
950 self.clearIndicatorRange(indicator, spos, epos - spos)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
951
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
952 def clearAllIndicators(self, indicator):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
953 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
954 Public method to clear all occurrences of an indicator.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
955
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
956 @param indicator number of the indicator (integer,
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
957 QsciScintilla.INDIC_CONTAINER .. QsciScintilla.INDIC_MAX)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
958 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
959 self.clearIndicatorRange(indicator, 0, self.length())
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
960
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
961 def hasIndicator(self, indicator, pos):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
962 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
963 Public method to test for the existence of an indicator.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
964
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
965 @param indicator number of the indicator (integer,
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
966 QsciScintilla.INDIC_CONTAINER .. QsciScintilla.INDIC_MAX)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
967 @param pos position to test (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
968 @return flag indicating the existence of the indicator (boolean)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
969 """
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
970 res = self.SendScintilla(QsciScintilla.SCI_INDICATORVALUEAT,
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
971 indicator, pos)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
972 return res
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
973
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
974 ###########################################################################
330
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
975 # methods to perform folding related stuff
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
976 ###########################################################################
330
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
977
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
978 def __setFoldMarker(self, marknr, mark=QsciScintilla.SC_MARK_EMPTY):
330
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
979 """
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
980 Private method to define a fold marker.
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
981
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
982 @param marknr marker number to define (integer)
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
983 @param mark fold mark symbol to be used (integer)
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
984 """
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
985 self.SendScintilla(QsciScintilla.SCI_MARKERDEFINE, marknr, mark)
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
986
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
987 if mark != QsciScintilla.SC_MARK_EMPTY:
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
988 self.SendScintilla(QsciScintilla.SCI_MARKERSETFORE,
3030
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3011
diff changeset
989 marknr, QColor(Qt.white))
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
990 self.SendScintilla(QsciScintilla.SCI_MARKERSETBACK,
3030
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3011
diff changeset
991 marknr, QColor(Qt.black))
330
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
992
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
993 def setFolding(self, style, margin=2):
330
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
994 """
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
995 Public method to set the folding style and margin.
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
996
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
997 @param style folding style to set (integer)
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
998 @param margin margin number (integer)
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
999 """
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
1000 if style < self.ArrowFoldStyle:
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2472
diff changeset
1001 super(QsciScintillaCompat, self).setFolding(style, margin)
330
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
1002 else:
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2472
diff changeset
1003 super(QsciScintillaCompat, self).setFolding(
1131
7781e396c903 Changed the code to use super() to access the superclass.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
1004 QsciScintilla.PlainFoldStyle, margin)
330
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
1005
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
1006 if style == self.ArrowFoldStyle:
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1007 self.__setFoldMarker(QsciScintilla.SC_MARKNUM_FOLDER,
826
2e3e2055e715 Fixed a few PEP 8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
1008 QsciScintilla.SC_MARK_ARROW)
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1009 self.__setFoldMarker(QsciScintilla.SC_MARKNUM_FOLDEROPEN,
826
2e3e2055e715 Fixed a few PEP 8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
1010 QsciScintilla.SC_MARK_ARROWDOWN)
2e3e2055e715 Fixed a few PEP 8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
1011 self.__setFoldMarker(QsciScintilla.SC_MARKNUM_FOLDERSUB)
2e3e2055e715 Fixed a few PEP 8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
1012 self.__setFoldMarker(QsciScintilla.SC_MARKNUM_FOLDERTAIL)
2e3e2055e715 Fixed a few PEP 8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
1013 self.__setFoldMarker(QsciScintilla.SC_MARKNUM_FOLDEREND)
2e3e2055e715 Fixed a few PEP 8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
1014 self.__setFoldMarker(QsciScintilla.SC_MARKNUM_FOLDEROPENMID)
2e3e2055e715 Fixed a few PEP 8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
1015 self.__setFoldMarker(QsciScintilla.SC_MARKNUM_FOLDERMIDTAIL)
330
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
1016 elif style == self.ArrowTreeFoldStyle:
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1017 self.__setFoldMarker(QsciScintilla.SC_MARKNUM_FOLDER,
826
2e3e2055e715 Fixed a few PEP 8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
1018 QsciScintilla.SC_MARK_ARROW)
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1019 self.__setFoldMarker(QsciScintilla.SC_MARKNUM_FOLDEROPEN,
826
2e3e2055e715 Fixed a few PEP 8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
1020 QsciScintilla.SC_MARK_ARROWDOWN)
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1021 self.__setFoldMarker(QsciScintilla.SC_MARKNUM_FOLDERSUB,
826
2e3e2055e715 Fixed a few PEP 8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
1022 QsciScintilla.SC_MARK_VLINE)
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1023 self.__setFoldMarker(QsciScintilla.SC_MARKNUM_FOLDERTAIL,
826
2e3e2055e715 Fixed a few PEP 8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
1024 QsciScintilla.SC_MARK_LCORNER)
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1025 self.__setFoldMarker(QsciScintilla.SC_MARKNUM_FOLDEREND,
826
2e3e2055e715 Fixed a few PEP 8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
1026 QsciScintilla.SC_MARK_ARROW)
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1027 self.__setFoldMarker(QsciScintilla.SC_MARKNUM_FOLDEROPENMID,
826
2e3e2055e715 Fixed a few PEP 8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
1028 QsciScintilla.SC_MARK_ARROWDOWN)
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1029 self.__setFoldMarker(QsciScintilla.SC_MARKNUM_FOLDERMIDTAIL,
826
2e3e2055e715 Fixed a few PEP 8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
1030 QsciScintilla.SC_MARK_TCORNER)
330
4b4f242bf3f6 Added additional fold styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 325
diff changeset
1031
342
360c4eb76d6c Added capability to configure the colors of the foldmarkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 330
diff changeset
1032 def setFoldMarkersColors(self, foreColor, backColor):
360c4eb76d6c Added capability to configure the colors of the foldmarkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 330
diff changeset
1033 """
360c4eb76d6c Added capability to configure the colors of the foldmarkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 330
diff changeset
1034 Public method to set the foreground and background colors of the
360c4eb76d6c Added capability to configure the colors of the foldmarkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 330
diff changeset
1035 fold markers.
360c4eb76d6c Added capability to configure the colors of the foldmarkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 330
diff changeset
1036
360c4eb76d6c Added capability to configure the colors of the foldmarkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 330
diff changeset
1037 @param foreColor foreground color (QColor)
360c4eb76d6c Added capability to configure the colors of the foldmarkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 330
diff changeset
1038 @param backColor background color (QColor)
360c4eb76d6c Added capability to configure the colors of the foldmarkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 330
diff changeset
1039 """
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1040 self.SendScintilla(QsciScintilla.SCI_MARKERSETFORE,
3030
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3011
diff changeset
1041 QsciScintilla.SC_MARKNUM_FOLDER, foreColor)
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1042 self.SendScintilla(QsciScintilla.SCI_MARKERSETBACK,
3030
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3011
diff changeset
1043 QsciScintilla.SC_MARKNUM_FOLDER, backColor)
342
360c4eb76d6c Added capability to configure the colors of the foldmarkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 330
diff changeset
1044
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1045 self.SendScintilla(QsciScintilla.SCI_MARKERSETFORE,
3030
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3011
diff changeset
1046 QsciScintilla.SC_MARKNUM_FOLDEROPEN, foreColor)
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1047 self.SendScintilla(QsciScintilla.SCI_MARKERSETBACK,
3030
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3011
diff changeset
1048 QsciScintilla.SC_MARKNUM_FOLDEROPEN, backColor)
342
360c4eb76d6c Added capability to configure the colors of the foldmarkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 330
diff changeset
1049
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1050 self.SendScintilla(QsciScintilla.SCI_MARKERSETFORE,
3030
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3011
diff changeset
1051 QsciScintilla.SC_MARKNUM_FOLDEROPENMID, foreColor)
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1052 self.SendScintilla(QsciScintilla.SCI_MARKERSETBACK,
3030
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3011
diff changeset
1053 QsciScintilla.SC_MARKNUM_FOLDEROPENMID, backColor)
342
360c4eb76d6c Added capability to configure the colors of the foldmarkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 330
diff changeset
1054
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1055 self.SendScintilla(QsciScintilla.SCI_MARKERSETFORE,
3030
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3011
diff changeset
1056 QsciScintilla.SC_MARKNUM_FOLDERSUB, foreColor)
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1057 self.SendScintilla(QsciScintilla.SCI_MARKERSETBACK,
3030
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3011
diff changeset
1058 QsciScintilla.SC_MARKNUM_FOLDERSUB, backColor)
342
360c4eb76d6c Added capability to configure the colors of the foldmarkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 330
diff changeset
1059
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1060 self.SendScintilla(QsciScintilla.SCI_MARKERSETFORE,
3030
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3011
diff changeset
1061 QsciScintilla.SC_MARKNUM_FOLDERTAIL, foreColor)
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1062 self.SendScintilla(QsciScintilla.SCI_MARKERSETBACK,
3030
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3011
diff changeset
1063 QsciScintilla.SC_MARKNUM_FOLDERTAIL, backColor)
342
360c4eb76d6c Added capability to configure the colors of the foldmarkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 330
diff changeset
1064
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1065 self.SendScintilla(QsciScintilla.SCI_MARKERSETFORE,
3030
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3011
diff changeset
1066 QsciScintilla.SC_MARKNUM_FOLDERMIDTAIL, foreColor)
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1067 self.SendScintilla(QsciScintilla.SCI_MARKERSETBACK,
3030
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3011
diff changeset
1068 QsciScintilla.SC_MARKNUM_FOLDERMIDTAIL, backColor)
342
360c4eb76d6c Added capability to configure the colors of the foldmarkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 330
diff changeset
1069
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1070 self.SendScintilla(QsciScintilla.SCI_MARKERSETFORE,
3030
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3011
diff changeset
1071 QsciScintilla.SC_MARKNUM_FOLDEREND, foreColor)
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1072 self.SendScintilla(QsciScintilla.SCI_MARKERSETBACK,
3030
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3011
diff changeset
1073 QsciScintilla.SC_MARKNUM_FOLDEREND, backColor)
342
360c4eb76d6c Added capability to configure the colors of the foldmarkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 330
diff changeset
1074
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1075 ###########################################################################
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1076 # interface methods to the standard keyboard command set
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1077 ###########################################################################
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1078
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1079 def clearKeys(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1080 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1081 Protected method to clear the key commands.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1082 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1083 # call into the QsciCommandSet
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1084 self.standardCommands().clearKeys()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1085
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1086 def clearAlternateKeys(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1087 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1088 Protected method to clear the alternate key commands.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1089 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1090 # call into the QsciCommandSet
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1091 self.standardCommands().clearAlternateKeys()
325
dd7377dbd057 Fixed the issue with autocompletion lists staying on screen after editor looses focus.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
1092
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1093 ###########################################################################
325
dd7377dbd057 Fixed the issue with autocompletion lists staying on screen after editor looses focus.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
1094 # specialized event handlers
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1095 ###########################################################################
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1096
325
dd7377dbd057 Fixed the issue with autocompletion lists staying on screen after editor looses focus.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
1097 def focusOutEvent(self, event):
dd7377dbd057 Fixed the issue with autocompletion lists staying on screen after editor looses focus.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
1098 """
dd7377dbd057 Fixed the issue with autocompletion lists staying on screen after editor looses focus.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
1099 Public method called when the editor loses focus.
dd7377dbd057 Fixed the issue with autocompletion lists staying on screen after editor looses focus.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
1100
1443
9b9396fc54aa Fixed a compatibility issue with QScintilla 2.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
1101 @param event event object (QFocusEvent)
325
dd7377dbd057 Fixed the issue with autocompletion lists staying on screen after editor looses focus.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
1102 """
dd7377dbd057 Fixed the issue with autocompletion lists staying on screen after editor looses focus.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
1103 if self.isListActive():
dd7377dbd057 Fixed the issue with autocompletion lists staying on screen after editor looses focus.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
1104 self.cancelList()
dd7377dbd057 Fixed the issue with autocompletion lists staying on screen after editor looses focus.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
1105
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2472
diff changeset
1106 super(QsciScintillaCompat, self).focusOutEvent(event)
1443
9b9396fc54aa Fixed a compatibility issue with QScintilla 2.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
1107
9b9396fc54aa Fixed a compatibility issue with QScintilla 2.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
1108 def event(self, evt):
9b9396fc54aa Fixed a compatibility issue with QScintilla 2.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
1109 """
1518
e6e21910210d Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1509
diff changeset
1110 Protected method to handle events.
1443
9b9396fc54aa Fixed a compatibility issue with QScintilla 2.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
1111
2965
d133c7edd88a Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2763
diff changeset
1112 Note: We are not interested in the standard QsciScintilla event
d133c7edd88a Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2763
diff changeset
1113 handling because we do it our self.
1443
9b9396fc54aa Fixed a compatibility issue with QScintilla 2.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
1114
9b9396fc54aa Fixed a compatibility issue with QScintilla 2.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
1115 @param evt event object to handle (QEvent)
2965
d133c7edd88a Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2763
diff changeset
1116 @return result of the event handling (boolean)
1443
9b9396fc54aa Fixed a compatibility issue with QScintilla 2.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
1117 """
9b9396fc54aa Fixed a compatibility issue with QScintilla 2.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
1118 return QsciScintillaBase.event(self, evt)
325
dd7377dbd057 Fixed the issue with autocompletion lists staying on screen after editor looses focus.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
1119
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1120 ###########################################################################
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1121 # interface methods to the mini editor
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1122 ###########################################################################
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1123
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1124 def getFileName(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1125 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1126 Public method to return the name of the file being displayed.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1127
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1128 @return filename of the displayed file (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1129 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1130 p = self.parent()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1131 if p is None:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1132 return ""
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1133 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1134 try:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1135 return p.getFileName()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1136 except AttributeError:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1137 return ""
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1138
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1139 ###########################################################################
448
a1f1b226ff4b Fixed a few unicode related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 404
diff changeset
1140 # replacements for buggy methods
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1141 ###########################################################################
448
a1f1b226ff4b Fixed a few unicode related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 404
diff changeset
1142
a1f1b226ff4b Fixed a few unicode related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 404
diff changeset
1143 def showUserList(self, id, lst):
a1f1b226ff4b Fixed a few unicode related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 404
diff changeset
1144 """
a1f1b226ff4b Fixed a few unicode related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 404
diff changeset
1145 Public method to show a user supplied list.
a1f1b226ff4b Fixed a few unicode related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 404
diff changeset
1146
a1f1b226ff4b Fixed a few unicode related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 404
diff changeset
1147 @param id id of the list (integer)
a1f1b226ff4b Fixed a few unicode related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 404
diff changeset
1148 @param lst list to be show (list of strings)
a1f1b226ff4b Fixed a few unicode related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 404
diff changeset
1149 """
a1f1b226ff4b Fixed a few unicode related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 404
diff changeset
1150 if id <= 0:
a1f1b226ff4b Fixed a few unicode related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 404
diff changeset
1151 return
a1f1b226ff4b Fixed a few unicode related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 404
diff changeset
1152
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1153 self.SendScintilla(QsciScintilla.SCI_AUTOCSETSEPARATOR,
448
a1f1b226ff4b Fixed a few unicode related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 404
diff changeset
1154 ord(self.UserSeparator))
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1155 self.SendScintilla(QsciScintilla.SCI_USERLISTSHOW, id,
3030
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3011
diff changeset
1156 self._encodeString(self.UserSeparator.join(lst)))
502
7500b9d5b21d Fixed an issue in the editor related to unicode handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 448
diff changeset
1157
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1158 ###########################################################################
502
7500b9d5b21d Fixed an issue in the editor related to unicode handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 448
diff changeset
1159 # utility methods
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1160 ###########################################################################
502
7500b9d5b21d Fixed an issue in the editor related to unicode handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 448
diff changeset
1161
7500b9d5b21d Fixed an issue in the editor related to unicode handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 448
diff changeset
1162 def _encodeString(self, string):
7500b9d5b21d Fixed an issue in the editor related to unicode handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 448
diff changeset
1163 """
7500b9d5b21d Fixed an issue in the editor related to unicode handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 448
diff changeset
1164 Protected method to encode a string depending on the current mode.
7500b9d5b21d Fixed an issue in the editor related to unicode handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 448
diff changeset
1165
7500b9d5b21d Fixed an issue in the editor related to unicode handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 448
diff changeset
1166 @param string string to be encoded (str)
7500b9d5b21d Fixed an issue in the editor related to unicode handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 448
diff changeset
1167 @return encoded string (bytes)
7500b9d5b21d Fixed an issue in the editor related to unicode handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 448
diff changeset
1168 """
7500b9d5b21d Fixed an issue in the editor related to unicode handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 448
diff changeset
1169 if isinstance(string, bytes):
7500b9d5b21d Fixed an issue in the editor related to unicode handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 448
diff changeset
1170 return string
448
a1f1b226ff4b Fixed a few unicode related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 404
diff changeset
1171 else:
502
7500b9d5b21d Fixed an issue in the editor related to unicode handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 448
diff changeset
1172 if self.isUtf8():
7500b9d5b21d Fixed an issue in the editor related to unicode handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 448
diff changeset
1173 return string.encode("utf-8")
7500b9d5b21d Fixed an issue in the editor related to unicode handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 448
diff changeset
1174 else:
7500b9d5b21d Fixed an issue in the editor related to unicode handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 448
diff changeset
1175 return string.encode("latin-1")
448
a1f1b226ff4b Fixed a few unicode related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 404
diff changeset
1176
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1177 ###########################################################################
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1178 # methods below have been added to QScintilla starting with version 2.5
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1179 ###########################################################################
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1180
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1181 if "positionFromLineIndex" not in QsciScintilla.__dict__:
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1182 def positionFromLineIndex(self, line, index):
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1183 """
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1184 Public method to convert line and index to an absolute position.
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1185
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1186 @param line line number (integer)
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1187 @param index index number (integer)
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1188 @return absolute position in the editor (integer)
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1189 """
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1190 pos = self.SendScintilla(QsciScintilla.SCI_POSITIONFROMLINE, line)
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1191
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1192 # Allow for multi-byte characters
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1193 for i in range(index):
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1194 pos = self.positionAfter(pos)
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1195
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1196 return pos
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1197
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1198 if "lineIndexFromPosition" not in QsciScintilla.__dict__:
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1199 def lineIndexFromPosition(self, pos):
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1200 """
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1201 Public method to convert an absolute position to line and index.
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1202
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1203 @param pos absolute position in the editor (integer)
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1204 @return tuple of line number (integer) and index number (integer)
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1205 """
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1206 lin = self.SendScintilla(QsciScintilla.SCI_LINEFROMPOSITION, pos)
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1207 linpos = self.SendScintilla(
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1208 QsciScintilla.SCI_POSITIONFROMLINE, lin)
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1209 indx = 0
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1210
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1211 # Allow for multi-byte characters.
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1212 while linpos < pos:
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1213 new_linpos = self.positionAfter(linpos)
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1214
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1215 # If the position hasn't moved then we must be at the end of
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1216 # the text (which implies that the position passed was beyond
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1217 # the end of the text).
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1218 if new_linpos == linpos:
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1219 break
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1220
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1221 linpos = new_linpos
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1222 indx += 1
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1223
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1224 return lin, indx
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1225
938
f421f2138c0f Adjusted code to use the QScintilla contractedFolds() and setContractedFolds() methods (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 937
diff changeset
1226 if "contractedFolds" not in QsciScintilla.__dict__:
f421f2138c0f Adjusted code to use the QScintilla contractedFolds() and setContractedFolds() methods (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 937
diff changeset
1227 def contractedFolds(self):
f421f2138c0f Adjusted code to use the QScintilla contractedFolds() and setContractedFolds() methods (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 937
diff changeset
1228 """
f421f2138c0f Adjusted code to use the QScintilla contractedFolds() and setContractedFolds() methods (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 937
diff changeset
1229 Public method to get a list of line numbers of collapsed folds.
f421f2138c0f Adjusted code to use the QScintilla contractedFolds() and setContractedFolds() methods (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 937
diff changeset
1230
f421f2138c0f Adjusted code to use the QScintilla contractedFolds() and setContractedFolds() methods (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 937
diff changeset
1231 @return list of line numbers of folded lines (list of integer)
f421f2138c0f Adjusted code to use the QScintilla contractedFolds() and setContractedFolds() methods (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 937
diff changeset
1232 """
f421f2138c0f Adjusted code to use the QScintilla contractedFolds() and setContractedFolds() methods (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 937
diff changeset
1233 line = 0
f421f2138c0f Adjusted code to use the QScintilla contractedFolds() and setContractedFolds() methods (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 937
diff changeset
1234 folds = []
f421f2138c0f Adjusted code to use the QScintilla contractedFolds() and setContractedFolds() methods (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 937
diff changeset
1235 maxline = self.lines()
f421f2138c0f Adjusted code to use the QScintilla contractedFolds() and setContractedFolds() methods (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 937
diff changeset
1236 while line < maxline:
f421f2138c0f Adjusted code to use the QScintilla contractedFolds() and setContractedFolds() methods (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 937
diff changeset
1237 if self.foldHeaderAt(line) and not self.foldExpandedAt(line):
f421f2138c0f Adjusted code to use the QScintilla contractedFolds() and setContractedFolds() methods (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 937
diff changeset
1238 folds.append(line)
f421f2138c0f Adjusted code to use the QScintilla contractedFolds() and setContractedFolds() methods (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 937
diff changeset
1239 line += 1
f421f2138c0f Adjusted code to use the QScintilla contractedFolds() and setContractedFolds() methods (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 937
diff changeset
1240 return folds
f421f2138c0f Adjusted code to use the QScintilla contractedFolds() and setContractedFolds() methods (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 937
diff changeset
1241
944
1b59c4ba121e Reenabled setContractedFolds() usage after a fix in QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 942
diff changeset
1242 if "setContractedFolds" not in QsciScintilla.__dict__:
1b59c4ba121e Reenabled setContractedFolds() usage after a fix in QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 942
diff changeset
1243 def setContractedFolds(self, folds):
1b59c4ba121e Reenabled setContractedFolds() usage after a fix in QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 942
diff changeset
1244 """
1b59c4ba121e Reenabled setContractedFolds() usage after a fix in QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 942
diff changeset
1245 Public method to set a list of line numbers of collapsed folds.
1b59c4ba121e Reenabled setContractedFolds() usage after a fix in QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 942
diff changeset
1246
1b59c4ba121e Reenabled setContractedFolds() usage after a fix in QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 942
diff changeset
1247 @param folds list of line numbers of folded lines (list of integer)
1b59c4ba121e Reenabled setContractedFolds() usage after a fix in QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 942
diff changeset
1248 """
1b59c4ba121e Reenabled setContractedFolds() usage after a fix in QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 942
diff changeset
1249 for line in folds:
1b59c4ba121e Reenabled setContractedFolds() usage after a fix in QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 942
diff changeset
1250 self.foldLine(line)
938
f421f2138c0f Adjusted code to use the QScintilla contractedFolds() and setContractedFolds() methods (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 937
diff changeset
1251
937
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1252 ## #########################################################################
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1253 ## # methods below have been added to QScintilla starting with version 2.x
336c8f1ee7bb Adjusted QsciScintillaCompat to QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
1254 ## #########################################################################
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1255 ##
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1256 ## if "newMethod" not in QsciScintilla.__dict__:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1257 ## def newMethod(self, param):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1258 ## """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1259 ## Public method to do something.
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 944
diff changeset
1260 ##
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1261 ## @param param parameter for method
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1262 ## """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1263 ## pass
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1264 ##

eric ide

mercurial