Editor eric7

Wed, 03 Jan 2024 16:29:32 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 03 Jan 2024 16:29:32 +0100
branch
eric7
changeset 10473
f45fd45cb11d
parent 10472
3aecfec97f7c
child 10474
c18ca679259d

Editor
- Changed the completion list icon IDs to an enum.IntEnum.

src/eric7/APIs/Python3/eric7.api file | annotate | diff | comparison | revisions
src/eric7/APIs/Python3/eric7.bas file | annotate | diff | comparison | revisions
src/eric7/Documentation/Help/source.qch file | annotate | diff | comparison | revisions
src/eric7/Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.QScintilla.Editor.html file | annotate | diff | comparison | revisions
src/eric7/DocumentationTools/APIGenerator.py file | annotate | diff | comparison | revisions
src/eric7/JediInterface/JediServer.py file | annotate | diff | comparison | revisions
src/eric7/QScintilla/Editor.py file | annotate | diff | comparison | revisions
--- a/src/eric7/APIs/Python3/eric7.api	Wed Jan 03 12:12:44 2024 +0100
+++ b/src/eric7/APIs/Python3/eric7.api	Wed Jan 03 16:29:32 2024 +0100
@@ -8439,27 +8439,13 @@
 eric7.QScintilla.DocstringGenerator.SphinxdocGenerator.generateDoc?4(functionInfo, editor)
 eric7.QScintilla.DocstringGenerator.getDocstringGenerator?4(editor)
 eric7.QScintilla.DocstringGenerator.getSupportedDocstringTypes?4()
-eric7.QScintilla.Editor.Editor.AttributeID?7
-eric7.QScintilla.Editor.Editor.AttributePrivateID?7
-eric7.QScintilla.Editor.Editor.AttributeProtectedID?7
 eric7.QScintilla.Editor.Editor.CancelEditToken?7
-eric7.QScintilla.Editor.Editor.ClassID?7
-eric7.QScintilla.Editor.Editor.ClassPrivateID?7
-eric7.QScintilla.Editor.Editor.ClassProtectedID?7
 eric7.QScintilla.Editor.Editor.EncloseChars?7
 eric7.QScintilla.Editor.Editor.EndEditToken?7
-eric7.QScintilla.Editor.Editor.EnumID?7
-eric7.QScintilla.Editor.Editor.FromDocumentID?7
-eric7.QScintilla.Editor.Editor.KeywordsID?7
-eric7.QScintilla.Editor.Editor.MethodID?7
-eric7.QScintilla.Editor.Editor.MethodPrivateID?7
-eric7.QScintilla.Editor.Editor.MethodProtectedID?7
-eric7.QScintilla.Editor.Editor.ModuleID?7
 eric7.QScintilla.Editor.Editor.RequestSyncToken?7
 eric7.QScintilla.Editor.Editor.Separator?7
 eric7.QScintilla.Editor.Editor.StartEditToken?7
 eric7.QScintilla.Editor.Editor.SyncToken?7
-eric7.QScintilla.Editor.Editor.TemplateImageID?7
 eric7.QScintilla.Editor.Editor.VcsConflictMarkerLineRegExpList?7
 eric7.QScintilla.Editor.Editor.WarningCode?7
 eric7.QScintilla.Editor.Editor.WarningError?7
@@ -8707,6 +8693,20 @@
 eric7.QScintilla.Editor.Editor.writeFile?4(fn, backup=True)
 eric7.QScintilla.Editor.Editor?1(dbs, fn="", vm=None, filetype="", editor=None, tv=None, parent=None)
 eric7.QScintilla.Editor.EditorAutoCompletionListID?7
+eric7.QScintilla.Editor.EditorIconId.Attribute?7
+eric7.QScintilla.Editor.EditorIconId.AttributePrivate?7
+eric7.QScintilla.Editor.EditorIconId.AttributeProtected?7
+eric7.QScintilla.Editor.EditorIconId.Class?7
+eric7.QScintilla.Editor.EditorIconId.ClassPrivate?7
+eric7.QScintilla.Editor.EditorIconId.ClassProtected?7
+eric7.QScintilla.Editor.EditorIconId.Enum?7
+eric7.QScintilla.Editor.EditorIconId.FromDocument?7
+eric7.QScintilla.Editor.EditorIconId.Keywords?7
+eric7.QScintilla.Editor.EditorIconId.Method?7
+eric7.QScintilla.Editor.EditorIconId.MethodPrivate?7
+eric7.QScintilla.Editor.EditorIconId.MethodProtected?7
+eric7.QScintilla.Editor.EditorIconId.Module?7
+eric7.QScintilla.Editor.EditorIconId.TemplateImage?7
 eric7.QScintilla.Editor.ReferenceItem?7
 eric7.QScintilla.Editor.ReferencesListID?7
 eric7.QScintilla.Editor.TemplateCompletionListID?7
--- a/src/eric7/APIs/Python3/eric7.bas	Wed Jan 03 12:12:44 2024 +0100
+++ b/src/eric7/APIs/Python3/eric7.bas	Wed Jan 03 16:29:32 2024 +0100
@@ -206,6 +206,7 @@
 EditorHighlightersPage ConfigurationPageBase Ui_EditorHighlightersPage
 EditorHighlightingStylesPage ConfigurationPageBase Ui_EditorHighlightingStylesPage
 EditorHighlightingStylesSelectionDialog QDialog Ui_EditorHighlightingStylesSelectionDialog
+EditorIconId enum.IntEnum
 EditorKeywordsPage ConfigurationPageBase Ui_EditorKeywordsPage
 EditorLanguageTabIndentOverrideDialog QDialog Ui_EditorLanguageTabIndentOverrideDialog
 EditorMarkerMap EricMapWidget
Binary file src/eric7/Documentation/Help/source.qch has changed
--- a/src/eric7/Documentation/Help/source.qhp	Wed Jan 03 12:12:44 2024 +0100
+++ b/src/eric7/Documentation/Help/source.qhp	Wed Jan 03 16:29:32 2024 +0100
@@ -5145,6 +5145,7 @@
       <keyword name="EditorHighlightingStylesSelectionDialog.getLexerNames" id="EditorHighlightingStylesSelectionDialog.getLexerNames" ref="eric7.Preferences.ConfigurationPages.EditorHighlightingStylesSelectionDialog.html#EditorHighlightingStylesSelectionDialog.getLexerNames" />
       <keyword name="EditorHighlightingStylesSelectionDialog.on_buttonBox_clicked" id="EditorHighlightingStylesSelectionDialog.on_buttonBox_clicked" ref="eric7.Preferences.ConfigurationPages.EditorHighlightingStylesSelectionDialog.html#EditorHighlightingStylesSelectionDialog.on_buttonBox_clicked" />
       <keyword name="EditorHighlightingStylesSelectionDialog.on_lexersList_itemChanged" id="EditorHighlightingStylesSelectionDialog.on_lexersList_itemChanged" ref="eric7.Preferences.ConfigurationPages.EditorHighlightingStylesSelectionDialog.html#EditorHighlightingStylesSelectionDialog.on_lexersList_itemChanged" />
+      <keyword name="EditorIconId" id="EditorIconId" ref="eric7.QScintilla.Editor.html#EditorIconId" />
       <keyword name="EditorKeywordsPage" id="EditorKeywordsPage" ref="eric7.Preferences.ConfigurationPages.EditorKeywordsPage.html#EditorKeywordsPage" />
       <keyword name="EditorKeywordsPage (Constructor)" id="EditorKeywordsPage (Constructor)" ref="eric7.Preferences.ConfigurationPages.EditorKeywordsPage.html#EditorKeywordsPage.__init__" />
       <keyword name="EditorKeywordsPage (Module)" id="EditorKeywordsPage (Module)" ref="eric7.Preferences.ConfigurationPages.EditorKeywordsPage.html" />
--- a/src/eric7/Documentation/Source/eric7.QScintilla.Editor.html	Wed Jan 03 12:12:44 2024 +0100
+++ b/src/eric7/Documentation/Source/eric7.QScintilla.Editor.html	Wed Jan 03 16:29:32 2024 +0100
@@ -24,6 +24,10 @@
 <td><a href="#Editor">Editor</a></td>
 <td>Class implementing the editor component of the eric IDE.</td>
 </tr>
+<tr>
+<td><a href="#EditorIconId">EditorIconId</a></td>
+<td>Class defining the completion icon IDs.</td>
+</tr>
 </table>
 <h3>Functions</h3>
 
@@ -167,7 +171,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>AttributeID</td></tr><tr><td>AttributePrivateID</td></tr><tr><td>AttributeProtectedID</td></tr><tr><td>CancelEditToken</td></tr><tr><td>ClassID</td></tr><tr><td>ClassPrivateID</td></tr><tr><td>ClassProtectedID</td></tr><tr><td>EncloseChars</td></tr><tr><td>EndEditToken</td></tr><tr><td>EnumID</td></tr><tr><td>FromDocumentID</td></tr><tr><td>KeywordsID</td></tr><tr><td>MethodID</td></tr><tr><td>MethodPrivateID</td></tr><tr><td>MethodProtectedID</td></tr><tr><td>ModuleID</td></tr><tr><td>RequestSyncToken</td></tr><tr><td>Separator</td></tr><tr><td>StartEditToken</td></tr><tr><td>SyncToken</td></tr><tr><td>TemplateImageID</td></tr><tr><td>VcsConflictMarkerLineRegExpList</td></tr><tr><td>WarningCode</td></tr><tr><td>WarningError</td></tr><tr><td>WarningInfo</td></tr><tr><td>WarningPython</td></tr><tr><td>WarningStyle</td></tr>
+<tr><td>CancelEditToken</td></tr><tr><td>EncloseChars</td></tr><tr><td>EndEditToken</td></tr><tr><td>RequestSyncToken</td></tr><tr><td>Separator</td></tr><tr><td>StartEditToken</td></tr><tr><td>SyncToken</td></tr><tr><td>VcsConflictMarkerLineRegExpList</td></tr><tr><td>WarningCode</td></tr><tr><td>WarningError</td></tr><tr><td>WarningInfo</td></tr><tr><td>WarningPython</td></tr><tr><td>WarningStyle</td></tr>
 </table>
 <h3>Class Methods</h3>
 
@@ -7762,4 +7766,36 @@
 </dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr />
+<hr />
+<a NAME="EditorIconId" ID="EditorIconId"></a>
+<h2>EditorIconId</h2>
+
+<p>
+    Class defining the completion icon IDs.
+</p>
+<h3>Derived from</h3>
+enum.IntEnum
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>Attribute</td></tr><tr><td>AttributePrivate</td></tr><tr><td>AttributeProtected</td></tr><tr><td>Class</td></tr><tr><td>ClassPrivate</td></tr><tr><td>ClassProtected</td></tr><tr><td>Enum</td></tr><tr><td>FromDocument</td></tr><tr><td>Keywords</td></tr><tr><td>Method</td></tr><tr><td>MethodPrivate</td></tr><tr><td>MethodProtected</td></tr><tr><td>Module</td></tr><tr><td>TemplateImage</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr />
 </body></html>
\ No newline at end of file
--- a/src/eric7/DocumentationTools/APIGenerator.py	Wed Jan 03 12:12:44 2024 +0100
+++ b/src/eric7/DocumentationTools/APIGenerator.py	Wed Jan 03 16:29:32 2024 +0100
@@ -85,18 +85,18 @@
         """
         Private method to generate the api section for global variables.
         """
-        from eric7.QScintilla.Editor import Editor
+        from eric7.QScintilla.Editor import EditorIconId
 
         moduleNameStr = "{0}".format(self.moduleName)
 
         for globalName in sorted(self.module.globals):
             if not self.__isPrivate(self.module.globals[globalName]):
                 if self.module.globals[globalName].isPublic():
-                    iconId = Editor.AttributeID
+                    iconId = EditorIconId.Attribute
                 elif self.module.globals[globalName].isProtected():
-                    iconId = Editor.AttributeProtectedID
+                    iconId = EditorIconId.AttributeProtected
                 else:
-                    iconId = Editor.AttributePrivateID
+                    iconId = EditorIconId.AttributePrivate
                 self.api.append(
                     "{0}{1}?{2:d}".format(moduleNameStr, globalName, iconId)
                 )
@@ -118,18 +118,18 @@
         @param className name of the class containing the method
         @type str
         """
-        from eric7.QScintilla.Editor import Editor
+        from eric7.QScintilla.Editor import EditorIconId
 
         _class = self.module.classes[className]
         methods = sorted(_class.methods)
         if "__init__" in methods:
             methods.remove("__init__")
             if _class.isPublic():
-                iconId = Editor.ClassID
+                iconId = EditorIconId.Class
             elif _class.isProtected():
-                iconId = Editor.ClassProtectedID
+                iconId = EditorIconId.ClassProtected
             else:
-                iconId = Editor.ClassPrivateID
+                iconId = EditorIconId.ClassPrivate
             self.api.append(
                 "{0}{1}?{2:d}({3})".format(
                     self.moduleName,
@@ -143,11 +143,11 @@
         for method in methods:
             if not self.__isPrivate(_class.methods[method]):
                 if _class.methods[method].isPublic():
-                    iconId = Editor.MethodID
+                    iconId = EditorIconId.Method
                 elif _class.methods[method].isProtected():
-                    iconId = Editor.MethodProtectedID
+                    iconId = EditorIconId.MethodProtected
                 else:
-                    iconId = Editor.MethodPrivateID
+                    iconId = EditorIconId.MethodPrivate
                 self.api.append(
                     "{0}{1}?{2:d}({3})".format(
                         classNameStr,
@@ -164,35 +164,35 @@
         @param className name of the class containing the class variables
         @type str
         """
-        from eric7.QScintilla.Editor import Editor
+        from eric7.QScintilla.Editor import EditorIconId
 
         _class = self.module.classes[className]
         classNameStr = "{0}{1}.".format(self.moduleName, className)
         for variable in sorted(_class.globals):
             if not self.__isPrivate(_class.globals[variable]):
                 if _class.globals[variable].isPublic():
-                    iconId = Editor.AttributeID
+                    iconId = EditorIconId.Attribute
                 elif _class.globals[variable].isProtected():
-                    iconId = Editor.AttributeProtectedID
+                    iconId = EditorIconId.AttributeProtected
                 else:
-                    iconId = Editor.AttributePrivateID
+                    iconId = EditorIconId.AttributePrivate
                 self.api.append("{0}{1}?{2:d}".format(classNameStr, variable, iconId))
 
     def __addFunctionsAPI(self):
         """
         Private method to generate the api section for functions.
         """
-        from eric7.QScintilla.Editor import Editor
+        from eric7.QScintilla.Editor import EditorIconId
 
         funcNames = sorted(self.module.functions)
         for funcName in funcNames:
             if not self.__isPrivate(self.module.functions[funcName]):
                 if self.module.functions[funcName].isPublic():
-                    iconId = Editor.MethodID
+                    iconId = EditorIconId.Method
                 elif self.module.functions[funcName].isProtected():
-                    iconId = Editor.MethodProtectedID
+                    iconId = EditorIconId.MethodProtected
                 else:
-                    iconId = Editor.MethodPrivateID
+                    iconId = EditorIconId.MethodPrivate
                 self.api.append(
                     "{0}{1}?{2:d}({3})".format(
                         self.moduleName,
--- a/src/eric7/JediInterface/JediServer.py	Wed Jan 03 12:12:44 2024 +0100
+++ b/src/eric7/JediInterface/JediServer.py	Wed Jan 03 16:29:32 2024 +0100
@@ -18,7 +18,7 @@
 from eric7.EricNetwork.EricJsonServer import EricJsonServer
 from eric7.EricWidgets import EricMessageBox
 from eric7.EricWidgets.EricApplication import ericApp
-from eric7.QScintilla.Editor import Editor, ReferenceItem
+from eric7.QScintilla.Editor import EditorIconId, ReferenceItem
 from eric7.SystemUtilities import PythonUtilities
 
 from .RefactoringPreviewDialog import RefactoringPreviewDialog
@@ -32,24 +32,24 @@
     IdProject = "Project"
 
     PictureIDs = {
-        "class": "?{0}".format(Editor.ClassID),
-        "_class": "?{0}".format(Editor.ClassProtectedID),
-        "__class": "?{0}".format(Editor.ClassPrivateID),
-        "instance": "?{0}".format(Editor.ClassID),
-        "_instance": "?{0}".format(Editor.ClassProtectedID),
-        "__instance": "?{0}".format(Editor.ClassPrivateID),
-        "function": "?{0}".format(Editor.MethodID),
-        "_function": "?{0}".format(Editor.MethodProtectedID),
-        "__function": "?{0}".format(Editor.MethodPrivateID),
-        "module": "?{0}".format(Editor.ModuleID),
-        "_module": "?{0}".format(Editor.ModuleID),
-        "__module": "?{0}".format(Editor.ModuleID),
-        "param": "?{0}".format(Editor.AttributeID),
-        "_param": "?{0}".format(Editor.AttributeProtectedID),
-        "__param": "?{0}".format(Editor.AttributePrivateID),
-        "statement": "?{0}".format(Editor.AttributeID),
-        "_statement": "?{0}".format(Editor.AttributeProtectedID),
-        "__statement": "?{0}".format(Editor.AttributePrivateID),
+        "class": "?{0}".format(EditorIconId.Class),
+        "_class": "?{0}".format(EditorIconId.ClassProtected),
+        "__class": "?{0}".format(EditorIconId.ClassPrivate),
+        "instance": "?{0}".format(EditorIconId.Class),
+        "_instance": "?{0}".format(EditorIconId.ClassProtected),
+        "__instance": "?{0}".format(EditorIconId.ClassPrivate),
+        "function": "?{0}".format(EditorIconId.Method),
+        "_function": "?{0}".format(EditorIconId.MethodProtected),
+        "__function": "?{0}".format(EditorIconId.MethodPrivate),
+        "module": "?{0}".format(EditorIconId.Module),
+        "_module": "?{0}".format(EditorIconId.Module),
+        "__module": "?{0}".format(EditorIconId.Module),
+        "param": "?{0}".format(EditorIconId.Attribute),
+        "_param": "?{0}".format(EditorIconId.AttributeProtected),
+        "__param": "?{0}".format(EditorIconId.AttributePrivate),
+        "statement": "?{0}".format(EditorIconId.Attribute),
+        "_statement": "?{0}".format(EditorIconId.AttributeProtected),
+        "__statement": "?{0}".format(EditorIconId.AttributePrivate),
         "import": "",
         "None": "",
     }
--- a/src/eric7/QScintilla/Editor.py	Wed Jan 03 12:12:44 2024 +0100
+++ b/src/eric7/QScintilla/Editor.py	Wed Jan 03 16:29:32 2024 +0100
@@ -11,6 +11,7 @@
 import collections
 import contextlib
 import difflib
+import enum
 import os
 import pathlib
 import re
@@ -69,6 +70,28 @@
 )
 
 
+class EditorIconId(enum.IntEnum):
+    """
+    Class defining the completion icon IDs.
+    """
+
+    Class = 1
+    ClassProtected = 2
+    ClassPrivate = 3
+    Method = 4
+    MethodProtected = 5
+    MethodPrivate = 6
+    Attribute = 7
+    AttributeProtected = 8
+    AttributePrivate = 9
+    Enum = 10
+    Keywords = 11
+    Module = 12
+
+    FromDocument = 99
+    TemplateImage = 100
+
+
 class Editor(QsciScintillaCompat):
     """
     Class implementing the editor component of the eric IDE.
@@ -153,25 +176,6 @@
     WarningInfo = 4
     WarningError = 5
 
-    # TODO: convert to an enum.IntEnum (also in Assistant plugin)
-    # Autocompletion icon definitions
-    ClassID = 1
-    ClassProtectedID = 2
-    ClassPrivateID = 3
-    MethodID = 4
-    MethodProtectedID = 5
-    MethodPrivateID = 6
-    AttributeID = 7
-    AttributeProtectedID = 8
-    AttributePrivateID = 9
-    EnumID = 10
-    KeywordsID = 11
-    ModuleID = 12
-
-    FromDocumentID = 99
-
-    TemplateImageID = 100
-
     # Cooperation related definitions
     Separator = "@@@"
 
@@ -657,49 +661,63 @@
         # finale size of the completion images
         imageSize = QSize(22, 22)
 
-        self.registerImage(self.ClassID, EricPixmapCache.getPixmap("class", imageSize))
         self.registerImage(
-            self.ClassProtectedID,
+            EditorIconId.Class,
+            EricPixmapCache.getPixmap("class", imageSize),
+        )
+        self.registerImage(
+            EditorIconId.ClassProtected,
             EricPixmapCache.getPixmap("class_protected", imageSize),
         )
         self.registerImage(
-            self.ClassPrivateID, EricPixmapCache.getPixmap("class_private", imageSize)
+            EditorIconId.ClassPrivate,
+            EricPixmapCache.getPixmap("class_private", imageSize),
         )
         self.registerImage(
-            self.MethodID, EricPixmapCache.getPixmap("method", imageSize)
+            EditorIconId.Method,
+            EricPixmapCache.getPixmap("method", imageSize),
         )
         self.registerImage(
-            self.MethodProtectedID,
+            EditorIconId.MethodProtected,
             EricPixmapCache.getPixmap("method_protected", imageSize),
         )
         self.registerImage(
-            self.MethodPrivateID, EricPixmapCache.getPixmap("method_private", imageSize)
+            EditorIconId.MethodPrivate,
+            EricPixmapCache.getPixmap("method_private", imageSize),
         )
         self.registerImage(
-            self.AttributeID, EricPixmapCache.getPixmap("attribute", imageSize)
+            EditorIconId.Attribute,
+            EricPixmapCache.getPixmap("attribute", imageSize),
         )
         self.registerImage(
-            self.AttributeProtectedID,
+            EditorIconId.AttributeProtected,
             EricPixmapCache.getPixmap("attribute_protected", imageSize),
         )
         self.registerImage(
-            self.AttributePrivateID,
+            EditorIconId.AttributePrivate,
             EricPixmapCache.getPixmap("attribute_private", imageSize),
         )
-        self.registerImage(self.EnumID, EricPixmapCache.getPixmap("enum", imageSize))
-        self.registerImage(
-            self.KeywordsID, EricPixmapCache.getPixmap("keywords", imageSize)
-        )
         self.registerImage(
-            self.ModuleID, EricPixmapCache.getPixmap("module", imageSize)
+            EditorIconId.Enum,
+            EricPixmapCache.getPixmap("enum", imageSize),
+        )
+        self.registerImage(
+            EditorIconId.Keywords,
+            EricPixmapCache.getPixmap("keywords", imageSize),
+        )
+        self.registerImage(
+            EditorIconId.Module,
+            EricPixmapCache.getPixmap("module", imageSize),
         )
 
         self.registerImage(
-            self.FromDocumentID, EricPixmapCache.getPixmap("editor", imageSize)
+            EditorIconId.FromDocument,
+            EricPixmapCache.getPixmap("editor", imageSize),
         )
 
         self.registerImage(
-            self.TemplateImageID, EricPixmapCache.getPixmap("templateViewer", imageSize)
+            EditorIconId.TemplateImage,
+            EricPixmapCache.getPixmap("templateViewer", imageSize),
         )
 
     def addClone(self, editor):
@@ -8604,7 +8622,7 @@
                             self.showUserList(
                                 TemplateCompletionListID,
                                 [
-                                    "{0}?{1:d}".format(t, self.TemplateImageID)
+                                    "{0}?{1:d}".format(t, EditorIconId.TemplateImage)
                                     for t in templateNames
                                 ],
                             )

eric ide

mercurial