Fixed an issue drawing the marker map of the editor.

Fri, 22 Dec 2017 16:07:49 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 22 Dec 2017 16:07:49 +0100
changeset 6031
ccab25598d90
parent 6030
63d1c50b637d
child 6032
5f80be18bcd7

Fixed an issue drawing the marker map of the editor.

APIs/Python3/eric6.api file | annotate | diff | comparison | revisions
Documentation/Help/source.qch file | annotate | diff | comparison | revisions
Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
Documentation/Source/eric6.QScintilla.QsciScintillaCompat.html file | annotate | diff | comparison | revisions
E5Gui/E5MapWidget.py file | annotate | diff | comparison | revisions
QScintilla/EditorMarkerMap.py file | annotate | diff | comparison | revisions
QScintilla/QsciScintillaCompat.py file | annotate | diff | comparison | revisions
--- a/APIs/Python3/eric6.api	Wed Dec 20 12:27:43 2017 +0100
+++ b/APIs/Python3/eric6.api	Fri Dec 22 16:07:49 2017 +0100
@@ -8958,6 +8958,7 @@
 eric6.QScintilla.QsciScintillaCompat.QsciScintillaCompat.foldLevelAt?4(line)
 eric6.QScintilla.QsciScintillaCompat.QsciScintillaCompat.getCaretLineAlwaysVisible?4()
 eric6.QScintilla.QsciScintillaCompat.QsciScintillaCompat.getCursorFlashTime?4()
+eric6.QScintilla.QsciScintillaCompat.QsciScintillaCompat.getDocLineFromVisibleLine?4(displayLine)
 eric6.QScintilla.QsciScintillaCompat.QsciScintillaCompat.getEndStyled?4()
 eric6.QScintilla.QsciScintillaCompat.QsciScintillaCompat.getEolIndicator?4()
 eric6.QScintilla.QsciScintillaCompat.QsciScintillaCompat.getFileName?4()
@@ -8969,6 +8970,7 @@
 eric6.QScintilla.QsciScintillaCompat.QsciScintillaCompat.getSelectionCount?4()
 eric6.QScintilla.QsciScintillaCompat.QsciScintillaCompat.getSelectionN?4(index)
 eric6.QScintilla.QsciScintillaCompat.QsciScintillaCompat.getSelections?4()
+eric6.QScintilla.QsciScintillaCompat.QsciScintillaCompat.getVisibleLineFromDocLine?4(docLine)
 eric6.QScintilla.QsciScintillaCompat.QsciScintillaCompat.getZoom?4()
 eric6.QScintilla.QsciScintillaCompat.QsciScintillaCompat.gotoNextIndicator?4(indicator, wrap)
 eric6.QScintilla.QsciScintillaCompat.QsciScintillaCompat.gotoPreviousIndicator?4(indicator, wrap)
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Help/source.qhp	Wed Dec 20 12:27:43 2017 +0100
+++ b/Documentation/Help/source.qhp	Fri Dec 22 16:07:49 2017 +0100
@@ -13288,6 +13288,7 @@
       <keyword name="QsciScintillaCompat.foldLevelAt" id="QsciScintillaCompat.foldLevelAt" ref="eric6.QScintilla.QsciScintillaCompat.html#QsciScintillaCompat.foldLevelAt" />
       <keyword name="QsciScintillaCompat.getCaretLineAlwaysVisible" id="QsciScintillaCompat.getCaretLineAlwaysVisible" ref="eric6.QScintilla.QsciScintillaCompat.html#QsciScintillaCompat.getCaretLineAlwaysVisible" />
       <keyword name="QsciScintillaCompat.getCursorFlashTime" id="QsciScintillaCompat.getCursorFlashTime" ref="eric6.QScintilla.QsciScintillaCompat.html#QsciScintillaCompat.getCursorFlashTime" />
+      <keyword name="QsciScintillaCompat.getDocLineFromVisibleLine" id="QsciScintillaCompat.getDocLineFromVisibleLine" ref="eric6.QScintilla.QsciScintillaCompat.html#QsciScintillaCompat.getDocLineFromVisibleLine" />
       <keyword name="QsciScintillaCompat.getEndStyled" id="QsciScintillaCompat.getEndStyled" ref="eric6.QScintilla.QsciScintillaCompat.html#QsciScintillaCompat.getEndStyled" />
       <keyword name="QsciScintillaCompat.getEolIndicator" id="QsciScintillaCompat.getEolIndicator" ref="eric6.QScintilla.QsciScintillaCompat.html#QsciScintillaCompat.getEolIndicator" />
       <keyword name="QsciScintillaCompat.getFileName" id="QsciScintillaCompat.getFileName" ref="eric6.QScintilla.QsciScintillaCompat.html#QsciScintillaCompat.getFileName" />
@@ -13299,6 +13300,7 @@
       <keyword name="QsciScintillaCompat.getSelectionCount" id="QsciScintillaCompat.getSelectionCount" ref="eric6.QScintilla.QsciScintillaCompat.html#QsciScintillaCompat.getSelectionCount" />
       <keyword name="QsciScintillaCompat.getSelectionN" id="QsciScintillaCompat.getSelectionN" ref="eric6.QScintilla.QsciScintillaCompat.html#QsciScintillaCompat.getSelectionN" />
       <keyword name="QsciScintillaCompat.getSelections" id="QsciScintillaCompat.getSelections" ref="eric6.QScintilla.QsciScintillaCompat.html#QsciScintillaCompat.getSelections" />
+      <keyword name="QsciScintillaCompat.getVisibleLineFromDocLine" id="QsciScintillaCompat.getVisibleLineFromDocLine" ref="eric6.QScintilla.QsciScintillaCompat.html#QsciScintillaCompat.getVisibleLineFromDocLine" />
       <keyword name="QsciScintillaCompat.getZoom" id="QsciScintillaCompat.getZoom" ref="eric6.QScintilla.QsciScintillaCompat.html#QsciScintillaCompat.getZoom" />
       <keyword name="QsciScintillaCompat.gotoNextIndicator" id="QsciScintillaCompat.gotoNextIndicator" ref="eric6.QScintilla.QsciScintillaCompat.html#QsciScintillaCompat.gotoNextIndicator" />
       <keyword name="QsciScintillaCompat.gotoPreviousIndicator" id="QsciScintillaCompat.gotoPreviousIndicator" ref="eric6.QScintilla.QsciScintillaCompat.html#QsciScintillaCompat.gotoPreviousIndicator" />
--- a/Documentation/Source/eric6.QScintilla.QsciScintillaCompat.html	Wed Dec 20 12:27:43 2017 +0100
+++ b/Documentation/Source/eric6.QScintilla.QsciScintillaCompat.html	Fri Dec 22 16:07:49 2017 +0100
@@ -196,6 +196,9 @@
 <td><a href="#QsciScintillaCompat.getCursorFlashTime">getCursorFlashTime</a></td>
 <td>Public method to get the flash (blink) time of the cursor in milliseconds.</td>
 </tr><tr>
+<td><a href="#QsciScintillaCompat.getDocLineFromVisibleLine">getDocLineFromVisibleLine</a></td>
+<td>Public method to convert a visible line number to a document line number (i.e.</td>
+</tr><tr>
 <td><a href="#QsciScintillaCompat.getEndStyled">getEndStyled</a></td>
 <td>Public method to get the last styled position.</td>
 </tr><tr>
@@ -229,6 +232,9 @@
 <td><a href="#QsciScintillaCompat.getSelections">getSelections</a></td>
 <td>Public method to get the start and end coordinates of all active selections.</td>
 </tr><tr>
+<td><a href="#QsciScintillaCompat.getVisibleLineFromDocLine">getVisibleLineFromDocLine</a></td>
+<td>Public method to convert a document line number to a visible line number (i.e.</td>
+</tr><tr>
 <td><a href="#QsciScintillaCompat.getZoom">getZoom</a></td>
 <td>Public method used to retrieve the current zoom factor.</td>
 </tr><tr>
@@ -875,6 +881,27 @@
 <dd>
 flash time of the cursor in milliseconds (integer)
 </dd>
+</dl><a NAME="QsciScintillaCompat.getDocLineFromVisibleLine" ID="QsciScintillaCompat.getDocLineFromVisibleLine"></a>
+<h4>QsciScintillaCompat.getDocLineFromVisibleLine</h4>
+<b>getDocLineFromVisibleLine</b>(<i>displayLine</i>)
+<p>
+        Public method to convert a visible line number to a document line
+        number (i.e. respect folded lines and annotations).
+</p><dl>
+<dt><i>displayLine</i> (int)</dt>
+<dd>
+display line number to be converted
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+document line number
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+int
+</dd>
 </dl><a NAME="QsciScintillaCompat.getEndStyled" ID="QsciScintillaCompat.getEndStyled"></a>
 <h4>QsciScintillaCompat.getEndStyled</h4>
 <b>getEndStyled</b>(<i></i>)
@@ -1012,6 +1039,27 @@
 list of tuples with start line and index and end line and index
             of each active selection (list of tuples of four int)
 </dd>
+</dl><a NAME="QsciScintillaCompat.getVisibleLineFromDocLine" ID="QsciScintillaCompat.getVisibleLineFromDocLine"></a>
+<h4>QsciScintillaCompat.getVisibleLineFromDocLine</h4>
+<b>getVisibleLineFromDocLine</b>(<i>docLine</i>)
+<p>
+        Public method to convert a document line number to a visible line
+        number (i.e. respect folded lines and annotations).
+</p><dl>
+<dt><i>docLine</i> (int)</dt>
+<dd>
+document line number to be converted
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+visible line number
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+int
+</dd>
 </dl><a NAME="QsciScintillaCompat.getZoom" ID="QsciScintillaCompat.getZoom"></a>
 <h4>QsciScintillaCompat.getZoom</h4>
 <b>getZoom</b>(<i></i>)
--- a/E5Gui/E5MapWidget.py	Wed Dec 20 12:27:43 2017 +0100
+++ b/E5Gui/E5MapWidget.py	Fri Dec 22 16:07:49 2017 +0100
@@ -73,6 +73,7 @@
         self._master = master
         self._master.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
         self._master.verticalScrollBar().valueChanged.connect(self.repaint)
+        self._master.verticalScrollBar().rangeChanged.connect(self.repaint)
         self.__updateMasterViewportWidth()
     
     def setWidth(self, width):
--- a/QScintilla/EditorMarkerMap.py	Wed Dec 20 12:27:43 2017 +0100
+++ b/QScintilla/EditorMarkerMap.py	Fri Dec 22 16:07:49 2017 +0100
@@ -65,7 +65,8 @@
         @param painter reference to the painter (QPainter)
         @param color color to be used (QColor)
         """
-        position = self.value2Position(line)
+        displayLine = self._master.getVisibleLineFromDocLine(line)
+        position = self.value2Position(displayLine)
         painter.setPen(color)
         painter.setBrush(color)
         painter.drawRect(self.generateIndicatorRect(position))
--- a/QScintilla/QsciScintillaCompat.py	Wed Dec 20 12:27:43 2017 +0100
+++ b/QScintilla/QsciScintillaCompat.py	Fri Dec 22 16:07:49 2017 +0100
@@ -1323,6 +1323,32 @@
         self.SendScintilla(QsciScintilla.SCI_MARKERSETBACK,
                            QsciScintilla.SC_MARKNUM_FOLDEREND, backColor)
     
+    def getVisibleLineFromDocLine(self, docLine):
+        """
+        Public method to convert a document line number to a visible line
+        number (i.e. respect folded lines and annotations).
+        
+        @param docLine document line number to be converted
+        @type int
+        @return visible line number
+        @rtype int
+        """
+        return self.SendScintilla(QsciScintilla.SCI_VISIBLEFROMDOCLINE,
+                                  docLine)
+    
+    def getDocLineFromVisibleLine(self, displayLine):
+        """
+        Public method to convert a visible line number to a document line
+        number (i.e. respect folded lines and annotations).
+        
+        @param displayLine display line number to be converted
+        @type int
+        @return document line number
+        @rtype int
+        """
+        return self.SendScintilla(QsciScintilla.SCI_DOCLINEFROMVISIBLE,
+                                  displayLine)
+    
     ###########################################################################
     ## interface methods to the standard keyboard command set
     ###########################################################################

eric ide

mercurial