eric6/QScintilla/Editor.py

branch
maintenance
changeset 8142
43248bafe9b2
parent 8043
0acf98cd089a
parent 8131
f2129bb79269
child 8176
31965986ecd1
diff -r 874fdd14d3a2 -r 43248bafe9b2 eric6/QScintilla/Editor.py
--- a/eric6/QScintilla/Editor.py	Mon Feb 01 10:38:43 2021 +0100
+++ b/eric6/QScintilla/Editor.py	Tue Mar 02 17:12:08 2021 +0100
@@ -171,21 +171,29 @@
     }
     
     def __init__(self, dbs, fn="", vm=None,
-                 filetype="", editor=None, tv=None):
+                 filetype="", editor=None, tv=None,
+                 parent=None):
         """
         Constructor
         
         @param dbs reference to the debug server object
-        @param fn name of the file to be opened (string). If it is None,
-                a new (empty) editor is opened
+        @type DebugServer
+        @param fn name of the file to be opened. If it is None, a new (empty)
+            editor is opened.
+        @type str
         @param vm reference to the view manager object
-            (ViewManager.ViewManager)
-        @param filetype type of the source file (string)
+        @type ViewManager
+        @param filetype type of the source file
+        @type str
         @param editor reference to an Editor object, if this is a cloned view
+        @type Editor
         @param tv reference to the task viewer object
+        @type TaskViewer
+        @param parent reference to the parent widget
+        @type QWidget
         @exception OSError raised to indicate an issue accessing the file
         """
-        super(Editor, self).__init__()
+        super(Editor, self).__init__(parent)
         self.setAttribute(Qt.WA_KeyCompression)
         self.setUtf8(True)
         
@@ -508,6 +516,8 @@
             self.__encodingChanged(editor.encoding, propagate=False)
             self.__spellLanguageChanged(editor.getSpellingLanguage(),
                                         propagate=False)
+            # link the warnings to the original editor
+            self.warnings = editor.warnings
         
         self.setAcceptDrops(True)
         
@@ -1759,7 +1769,7 @@
                 pyVer = Utilities.determinePythonVersion(
                     filename, self.text(0), self)
                 language = "Python{0}".format(pyVer)
-            if language in ['Python3', 'MicroPython', 'Ruby',
+            if language in ['Python3', 'MicroPython', 'Cython', 'Ruby',
                             'JavaScript', 'YAML', 'JSON']:
                 self.filetype = language
             else:
@@ -2100,6 +2110,18 @@
             return True
         
         return False
+    
+    def isCythonFile(self):
+        """
+        Public method to return a flag indicating a Cython file.
+        
+        @return flag indicating a Cython file
+        @rtype bool
+        """
+        if self.filetype == "Cython":
+            return True
+        
+        return False
 
     def isRubyFile(self):
         """
@@ -2667,7 +2689,7 @@
         """
         for handle in self.bookmarks:
             self.markerDeleteHandle(handle)
-        self.bookmarks = []
+        self.bookmarks.clear()
         self.bookmarkToggled.emit(self)
         self.__markerMap.update()
     
@@ -6084,7 +6106,7 @@
         """
         for handle in self.notcoveredMarkers:
             self.markerDeleteHandle(handle)
-        self.notcoveredMarkers = []
+        self.notcoveredMarkers.clear()
         self.coverageMarkersShown.emit(False)
         self.showingNotcoveredMarkers = False
         self.__markerMap.update()
@@ -6329,7 +6351,7 @@
             line = self.markerLine(handle) + 1
             self.toggleSyntaxError(line, 0, False)
         
-        self.syntaxerrors = {}
+        self.syntaxerrors.clear()
         self.syntaxerrorToggled.emit(self)
     
     def __showSyntaxError(self, line=-1):
@@ -6542,7 +6564,7 @@
             self.warnings[handle] = []
             self.__setAnnotation(self.markerLine(handle))
             self.markerDeleteHandle(handle)
-        self.warnings = {}
+        self.warnings.clear()
         self.syntaxerrorToggled.emit(self)
         self.__markerMap.update()
     
@@ -7267,7 +7289,7 @@
         # clear breakpoint markers
         for handle in list(self.breaks.keys()):
             self.markerDeleteHandle(handle)
-        self.breaks = {}
+        self.breaks.clear()
         
         if not os.path.exists(self.fileName):
             # close the file, if it was deleted in the background

eric ide

mercurial