--- a/E4Gui/E4Application.py Tue Jan 12 18:39:15 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,115 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2009 - 2010 Detlev Offenbach <detlev@die-offenbachs.de> -# - -""" -Class implementing a specialized application class. -""" - -from PyQt4.QtCore import QCoreApplication -from PyQt4.QtGui import QApplication - -class E4Application(QApplication): - """ - Eric application class with an object registry. - """ - def __init__(self, argv): - """ - Constructor - - @param argv command line arguments - """ - QApplication.__init__(self, argv) - - self.__objectRegistry = {} - self.__pluginObjectRegistry = {} - - def registerObject(self, name, object): - """ - Public method to register an object in the object registry. - - @param name name of the object (string) - @param object reference to the object - @exception KeyError raised when the given name is already in use - """ - if name in self.__objectRegistry: - raise KeyError('Object "%s" already registered.' % name) - else: - self.__objectRegistry[name] = object - - def getObject(self, name): - """ - Public method to get a reference to a registered object. - - @param name name of the object (string) - @return reference to the registered object - @exception KeyError raised when the given name is not known - """ - if name in self.__objectRegistry: - return self.__objectRegistry[name] - else: - raise KeyError('Object "%s" is not registered.' % name) - - def registerPluginObject(self, name, object, pluginType = None): - """ - Public method to register a plugin object in the object registry. - - @param name name of the plugin object (string) - @param object reference to the plugin object - @keyparam pluginType type of the plugin object (string) - @exception KeyError raised when the given name is already in use - """ - if name in self.__pluginObjectRegistry: - raise KeyError('Pluginobject "%s" already registered.' % name) - else: - self.__pluginObjectRegistry[name] = (object, pluginType) - - def unregisterPluginObject(self, name): - """ - Public method to unregister a plugin object in the object registry. - - @param name name of the plugin object (string) - """ - 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 (string) - @return reference to the registered plugin object - @exception KeyError raised when the given name is not known - """ - if name in self.__pluginObjectRegistry: - return self.__pluginObjectRegistry[name][0] - else: - raise KeyError('Pluginobject "%s" is not registered.' % name) - - def getPluginObjects(self): - """ - Public method to get a list of (name, reference) pairs of all - registered plugin objects. - - @return list of (name, reference) pairs - """ - 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 (string) - @return type of the plugin object (string) - @exception KeyError raised when the given name is not known - """ - if name in self.__pluginObjectRegistry: - return self.__pluginObjectRegistry[name][1] - else: - raise KeyError('Pluginobject "%s" is not registered.' % name) - -e5App = QCoreApplication.instance \ No newline at end of file