wxWidgets/wxPython/contrib/xrc/_xrc_ex.py

37 lines
1.1 KiB
Python
Raw Normal View History

#----------------------------------------------------------------------------
# The global was removed in favor of static accessor functions. This is for
# backwards compatibility:
TheXmlResource = XmlResource_Get()
#----------------------------------------------------------------------------
# Create a factory for handling the subclass property of the object tag.
def _my_import(name):
mod = __import__(name)
components = name.split('.')
for comp in components[1:]:
mod = getattr(mod, comp)
return mod
class XmlSubclassFactory_Python(XmlSubclassFactory):
def __init__(self):
XmlSubclassFactory.__init__(self)
def Create(self, className):
assert className.find('.') != -1, "Module name must be specified!"
mname = className[:className.rfind('.')]
cname = className[className.rfind('.')+1:]
module = _my_import(mname)
klass = getattr(module, cname)
inst = klass()
return inst
XmlResource_AddSubclassFactory(XmlSubclassFactory_Python())
#----------------------------------------------------------------------------