Wed, 03 Jan 2024 16:29:32 +0100
Editor
- Changed the completion list icon IDs to an enum.IntEnum.
--- 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
--- 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 ], )