.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2025 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc

.. currentmodule:: wx.lib.pubsub.core.topicdefnprovider

.. highlight:: python



.. _wx.lib.pubsub.core.topicdefnprovider.ITopicDefnProvider:

==========================================================================================================================================
|phoenix_title|  **wx.lib.pubsub.core.topicdefnprovider.ITopicDefnProvider**
==========================================================================================================================================

All topic definition providers added via pub.addTopicDefnProvider()
must have this interface. Derived classes must override the getDefn(),
getTreeDoc() and topicNames() methods.



|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div class="collabsible-wrapper">
      <input id="collapsible-inheritance" class="collapsible-checkbox" type="checkbox">
      <label for="collapsible-inheritance" tabindex="0" title="Show inheritance diagram" class="collapsible-label">Inheritance diagram for class <strong>ITopicDefnProvider</strong>:</label>
      <div class="collapsible-content">
         <p class="graphviz">
            <center><img src="_static/images/inheritance/wx.lib.pubsub.core.topicdefnprovider.ITopicDefnProvider_inheritance.svg" alt="Inheritance diagram of ITopicDefnProvider" usemap="#dummy" class="inheritance invert-in-dark-mode"/></center>
            <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.lib.pubsub.core.topicdefnprovider.ITopicDefnProvider.html" title="All topic definition providers added via pub.addTopicDefnProvider()" alt="" coords="5,5,433,34"/> </map> 
         </p>
      </div>
   </div>
   <script type="text/javascript" src="_static/inheritancetoggle.js"></script>



|


|sub_classes| Known Subclasses
==============================

:class:`wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider`

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.lib.pubsub.core.topicdefnprovider.ITopicDefnProvider.getDefn`         Must return a pair (string, ArgSpecGiven) for given topic.
:meth:`~wx.lib.pubsub.core.topicdefnprovider.ITopicDefnProvider.getTreeDoc`      Get the docstring for the topic tree.
:meth:`~wx.lib.pubsub.core.topicdefnprovider.ITopicDefnProvider.topicNames`      Return an iterator over topic names available from this provider.
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: ITopicDefnProvider

   All topic definition providers added via pub.addTopicDefnProvider()
   must have this interface. Derived classes must override the getDefn(),
   getTreeDoc() and topicNames() methods.

   .. 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.


   .. 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().


