diff -r a081458cc57b -r 144a6b854f70 eric7/E5Gui/EricApplication.py --- a/eric7/E5Gui/EricApplication.py Sat May 22 19:52:34 2021 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,152 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2009 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> -# - -""" -Class implementing a specialized application class. -""" - -from PyQt6.QtCore import Qt, QCoreApplication -from PyQt6.QtGui import QPalette -from PyQt6.QtWidgets import QApplication - -QCoreApplication.setAttribute( - Qt.ApplicationAttribute.AA_ShareOpenGLContexts, True) - - -class EricApplication(QApplication): - """ - Eric application class with an object registry. - """ - def __init__(self, argv): - """ - Constructor - - @param argv command line arguments - @type list - """ - super().__init__(argv) - - QCoreApplication.setAttribute( - Qt.ApplicationAttribute.AA_DontCreateNativeWidgetSiblings, True) - - self.__objectRegistry = {} - self.__pluginObjectRegistry = {} - - def registerObject(self, name, objectRef): - """ - Public method to register an object in the object registry. - - @param name name of the object - @type str - @param objectRef reference to the object - @type any - @exception KeyError raised when the given name is already in use - """ - if name in self.__objectRegistry: - raise KeyError('Object "{0}" already registered.'.format(name)) - else: - self.__objectRegistry[name] = objectRef - - def getObject(self, name): - """ - Public method to get a reference to a registered object. - - @param name name of the object - @type str - @return reference to the registered object - @rtype any - @exception KeyError raised when the given name is not known - """ - if name not in self.__objectRegistry: - raise KeyError('Object "{0}" is not registered.'.format(name)) - - return self.__objectRegistry[name] - - def registerPluginObject(self, name, objectRef, pluginType=None): - """ - Public method to register a plugin object in the object registry. - - @param name name of the plugin object - @type str - @param objectRef reference to the plugin object - @type any - @param pluginType type of the plugin object - @type str - @exception KeyError raised when the given name is already in use - """ - if name in self.__pluginObjectRegistry: - raise KeyError( - 'Pluginobject "{0}" already registered.'.format(name)) - else: - self.__pluginObjectRegistry[name] = (objectRef, pluginType) - - def unregisterPluginObject(self, name): - """ - Public method to unregister a plugin object in the object registry. - - @param name name of the plugin object - @type str - """ - if name in self.__pluginObjectRegistry: - del self.__pluginObjectRegistry[name] - - def getPluginObject(self, name): - """ - Public method to get a reference to a registered plugin object. - - @param name name of the plugin object - @type str - @return reference to the registered plugin object - @rtype any - @exception KeyError raised when the given name is not known - """ - if name not in self.__pluginObjectRegistry: - raise KeyError( - 'Pluginobject "{0}" is not registered.'.format(name)) - - return self.__pluginObjectRegistry[name][0] - - def getPluginObjects(self): - """ - Public method to get a list of (name, reference) pairs of all - registered plugin objects. - - @return list of (name, reference) pairs - @rtype list of (str, any) - """ - objects = [] - for name in self.__pluginObjectRegistry: - objects.append((name, self.__pluginObjectRegistry[name][0])) - return objects - - def getPluginObjectType(self, name): - """ - Public method to get the type of a registered plugin object. - - @param name name of the plugin object - @type str - @return type of the plugin object - @rtype str - @exception KeyError raised when the given name is not known - """ - if name not in self.__pluginObjectRegistry: - raise KeyError( - 'Pluginobject "{0}" is not registered.'.format(name)) - - return self.__pluginObjectRegistry[name][1] - - def usesDarkPalette(self): - """ - Public method to check, if the application uses a palette with a dark - background. - - @return flag indicating the use of a palette with a dark background - @rtype bool - """ - palette = self.palette() - lightness = palette.color(QPalette.ColorRole.Window).lightness() - return lightness <= 128 - -ericApp = QCoreApplication.instance