1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
|
.. 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
<div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
<img id="toggleBlock-trigger" src="_static/images/closed.png"/>
Inheritance diagram for class <strong>TopicDefnProvider</strong>:
</div>
<div id="toggleBlock-summary" style="display:block;"></div>
<div id="toggleBlock-content" style="display:none;">
<p class="graphviz">
<center><img src="_static/images/inheritance/wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider_inheritance.png" alt="Inheritance diagram of TopicDefnProvider" usemap="#dummy" class="inheritance"/></center>
<script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
<map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider.html" title="wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider" alt="" coords="7,83,391,112"/> <area shape="rect" id="node2" href="wx.lib.pubsub.core.topicdefnprovider.ITopicDefnProvider.html" title="wx.lib.pubsub.core.topicdefnprovider.ITopicDefnProvider" alt="" coords="5,5,393,35"/> </map>
</p>
</div>
|
|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().
|