.. wxPython Phoenix documentation This file was generated by Phoenix's sphinx generator and associated tools, do not edit by hand. Copyright: (c) 2011-2020 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` Must return a pair (string, ArgSpecGiven) for given topic. :meth:`~wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider.getTreeDoc` Get the docstring for the topic tree. :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` Return an iterator over topic names available from this provider. ===================================================================================== ================================================================================ | |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) Must return a pair (string, ArgSpecGiven) for given topic. The first item is a description for topic, the second item contains the message data specification (MDS). Note topic name is in tuple format ('a', 'b', 'c') rather than 'a.b.c'. .. method:: getTreeDoc(self) Get the docstring for the topic tree. .. 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) Return an iterator over topic names available from this provider. Note that the topic names should be in tuple rather than dotted-string format so as to be compatible with getDefn().