.. wxPython Phoenix documentation This file was generated by Phoenix's sphinx generator and associated tools, do not edit by hand. Copyright: (c) 2011-2018 by Total Control Software License: wxWindows License .. include:: headings.inc .. currentmodule:: wx.lib.pubsub.core.topicdefnprovider .. highlight:: python .. _wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider: ========================================================================================================================================== |phoenix_title| **wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider** ========================================================================================================================================== Default implementation of the ITopicDefnProvider API. This implementation accepts several formats for the topic tree source data and delegates to a registered ITopicDefnDeserializer that converts source data into topic definitions. This provider is instantiated automatically by ``pub.addTopicDefnProvider(source, format)`` when source is *not* an ITopicDefnProvider. Additional de-serializers can be registered via registerTypeForImport(). | |class_hierarchy| Class Hierarchy ================================= .. raw:: html
Inheritance diagram for class TopicDefnProvider:

| |super_classes| Known Superclasses ================================== :class:`wx.lib.pubsub.core.topicdefnprovider.ITopicDefnProvider` | |method_summary| Methods Summary ================================ ===================================================================================== ================================================================================ :meth:`~wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider.__init__` Find the correct de-serializer class from registry for the given :meth:`~wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider.getDefn` :meth:`~wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider.getTreeDoc` :meth:`~wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider.initTypeRegistry` :meth:`~wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider.registerTypeForImport` If a new type of importer is defined for topic definitions, it :meth:`~wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider.topicNames` ===================================================================================== ================================================================================ | |api| Class API =============== .. class:: TopicDefnProvider(ITopicDefnProvider) Default implementation of the ITopicDefnProvider API. This implementation accepts several formats for the topic tree source data and delegates to a registered ITopicDefnDeserializer that converts source data into topic definitions. This provider is instantiated automatically by ``pub.addTopicDefnProvider(source, format)`` when source is *not* an ITopicDefnProvider. Additional de-serializers can be registered via registerTypeForImport(). .. method:: __init__(self, source, format, \*\*providerKwargs) Find the correct de-serializer class from registry for the given format; instantiate it with given source and providerKwargs; get all available topic definitions. .. method:: getDefn(self, topicNameTuple) .. method:: getTreeDoc(self) .. classmethod:: initTypeRegistry(cls) .. classmethod:: registerTypeForImport(cls, typeName, providerClassObj) If a new type of importer is defined for topic definitions, it can be registered with pubsub by providing a name for the new importer (typeName), and the class to instantiate when pub.addTopicDefnProvider(obj, typeName) is called. For instance, :: from pubsub.core.topicdefnprovider import ITopicDefnDeserializer class SomeNewImporter(ITopicDefnDeserializer): ... TopicDefnProvider.registerTypeForImport('some name', SomeNewImporter) # will instantiate SomeNewImporter(source) pub.addTopicDefnProvider(source, 'some name') .. method:: topicNames(self)