Wed, 03 Jan 2024 16:49:39 +0100
Adjusted some code for eric7 24.2 and newer.
--- a/AssistantEric/APIsManager.py Sat Dec 23 16:00:18 2023 +0100 +++ b/AssistantEric/APIsManager.py Wed Jan 03 16:49:39 2024 +0100 @@ -19,9 +19,22 @@ from eric7.DocumentationTools.APIGenerator import APIGenerator from eric7.EricWidgets.EricApplication import ericApp from eric7.QScintilla import Lexers -from eric7.QScintilla.Editor import Editor from eric7.Utilities import ModuleParser +try: + from eric7.QScintilla.Editor import EditorIconId + + AttributeID = EditorIconId.Attribute + AttributeProtectedID = EditorIconId.AttributeProtected + AttributePrivateID = EditorIconId.AttributePrivate +except ImportError: + # backward compatibility for eric < 24.2 + from eric7.QScintilla.Editor import Editor + + AttributeID = Editor.AttributeID + AttributeProtectedID = Editor.AttributeProtectedID + AttributePrivateID = Editor.AttributePrivateID + WorkerStatusStarted = 2001 WorkerStatusFinished = 2002 WorkerStatusAborted = 2003 @@ -216,11 +229,11 @@ for variable in sorted(_class.attributes.keys()): if not _class.attributes[variable].isPrivate(): if _class.attributes[variable].isPublic(): - iconId = Editor.AttributeID + iconId = AttributeID elif _class.attributes[variable].isProtected(): - iconId = Editor.AttributeProtectedID + iconId = AttributeProtectedID else: - iconId = Editor.AttributePrivateID + iconId = AttributePrivateID api.append("{0}{1}?{2:d}".format(classNameStr, variable, iconId)) return api
--- a/AssistantEric/Assistant.py Sat Dec 23 16:00:18 2023 +0100 +++ b/AssistantEric/Assistant.py Wed Jan 03 16:49:39 2024 +0100 @@ -13,11 +13,32 @@ from PyQt6.QtCore import QObject from eric7.EricWidgets.EricApplication import ericApp -from eric7.QScintilla.Editor import Editor from eric7.Utilities.ModuleParser import PY_SOURCE, Module from .APIsManager import APIsManager, ApisNameProject +try: + from eric7.QScintilla.Editor import EditorIconId + + AttributeID = EditorIconId.Attribute + AttributeProtectedID = EditorIconId.AttributeProtected + AttributePrivateID = EditorIconId.AttributePrivate + FromDocumentID = EditorIconId.FromDocument + MethodID = EditorIconId.Method + MethodProtectedID = EditorIconId.MethodProtected + MethodPrivateID = EditorIconId.MethodPrivate +except ImportError: + # backward compatibility for eric < 24.2 + from eric7.QScintilla.Editor import Editor + + AttributeID = Editor.AttributeID + AttributeProtectedID = Editor.AttributeProtectedID + AttributePrivateID = Editor.AttributePrivateID + FromDocumentID = Editor.FromDocumentID + MethodID = Editor.MethodID + MethodProtectedID = Editor.MethodProtectedID + MethodPrivateID = Editor.MethodPrivateID + AcsAPIs = 0x0001 AcsDocument = 0x0002 AcsProject = 0x0004 @@ -51,8 +72,6 @@ self.__lastContext = None self.__lastFullContext = None - self.__fromDocumentID = Editor.FromDocumentID - def activate(self): """ Public method to perform actions upon activation. @@ -584,11 +603,11 @@ continue # determine icon type if method.isPrivate(): - iconID = Editor.MethodPrivateID + iconID = MethodPrivateID elif method.isProtected(): - iconID = Editor.MethodProtectedID + iconID = MethodProtectedID else: - iconID = Editor.MethodID + iconID = MethodID if ( prefix == "cls" and method.modifier == method.Class ) or prefix == "self": @@ -597,20 +616,20 @@ for attribute in cl.attributes.values(): # determine icon type if attribute.isPrivate(): - iconID = Editor.AttributePrivateID + iconID = AttributePrivateID elif attribute.isProtected(): - iconID = Editor.AttributeProtectedID + iconID = AttributeProtectedID else: - iconID = Editor.AttributeID + iconID = AttributeID comps.append((attribute.name, cl.name, iconID)) for attribute in cl.globals.values(): # determine icon type if attribute.isPrivate(): - iconID = Editor.AttributePrivateID + iconID = AttributePrivateID elif attribute.isProtected(): - iconID = Editor.AttributeProtectedID + iconID = AttributeProtectedID else: - iconID = Editor.AttributeID + iconID = AttributeID comps.append((attribute.name, cl.name, iconID)) if word != prefix: @@ -665,20 +684,20 @@ if method.isPrivate(): if doHierarchy: continue - iconID = Editor.MethodPrivateID + iconID = MethodPrivateID elif method.isProtected(): - iconID = Editor.MethodProtectedID + iconID = MethodProtectedID else: - iconID = Editor.MethodID + iconID = MethodID comps.append((method.name, cl.name, iconID)) for attribute in cl.globals.values(): # determine icon type if attribute.isPrivate(): - iconID = Editor.AttributePrivateID + iconID = AttributePrivateID elif attribute.isProtected(): - iconID = Editor.AttributeProtectedID + iconID = AttributeProtectedID else: - iconID = Editor.AttributeID + iconID = AttributeID comps.append((attribute.name, cl.name, iconID)) if word != prefix: @@ -747,7 +766,7 @@ and completion != word ): completionsList.append( - "{0}?{1}".format(completion, self.__fromDocumentID) + "{0}?{1}".format(completion, FromDocumentID) ) res = editor.findNextTarget()
--- a/ChangeLog Sat Dec 23 16:00:18 2023 +0100 +++ b/ChangeLog Wed Jan 03 16:49:39 2024 +0100 @@ -1,5 +1,9 @@ ChangeLog --------- +Version 10.4.0: +- bug fixes +- adjusted some code for eric7 24.2 and newer + Version 10.3.1: - bug fixes
--- a/PluginAssistantEric.py Sat Dec 23 16:00:18 2023 +0100 +++ b/PluginAssistantEric.py Wed Jan 03 16:49:39 2024 +0100 @@ -20,7 +20,7 @@ author = "Detlev Offenbach <detlev@die-offenbachs.de>" autoactivate = True deactivateable = True -version = "10.3.1" +version = "10.4.0" className = "AssistantEricPlugin" packageName = "AssistantEric" shortDescription = "Alternative autocompletion and calltips provider."