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

.. highlight:: python



.. _wx.lib.pubsub.utils.topictreeprinter.TopicTreePrinter:

==========================================================================================================================================
|phoenix_title|  **wx.lib.pubsub.utils.topictreeprinter.TopicTreePrinter**
==========================================================================================================================================

Example topic tree visitor that prints a prettified representation
of topic tree by doing a depth-first traversal of topic tree and
print information at each (topic) node of tree. Extra info to be
printed is specified via the 'extra' kwarg. Its value must be a
list of characters, the order determines output order:
- D: print description of topic
- a: print kwarg names only
- A: print topic kwargs and their description
- L: print listeners currently subscribed to topic

E.g. TopicTreePrinter(extra='LaDA') would print, for each topic,
the list of subscribed listeners, the topic's list of kwargs, the
topic description, and the description for each kwarg,

    >>> Topic "delTopic"
       >> Listeners:
          > listener1_2880 (from yourModule)
          > listener2_3450 (from yourModule)
       >> Names of Message arguments:
          > arg1
          > arg2
       >> Description: whenever a topic is deleted
       >> Descriptions of Message arguments:
          > arg1: (required) its description
          > arg2: some other description



|

|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>TopicTreePrinter</strong>:</label>
      <div class="collapsible-content">
         <p class="graphviz">
            <center><img src="_static/images/inheritance/wx.lib.pubsub.utils.topictreeprinter.TopicTreePrinter_inheritance.svg" alt="Inheritance diagram of TopicTreePrinter" usemap="#dummy" class="inheritance invert-in-dark-mode"/></center>
            <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.lib.pubsub.utils.topictreeprinter.TopicTreePrinter.html" title="Example topic tree visitor that prints a prettified representation" alt="" coords="15,82,405,111"/> <area shape="rect" id="node2" href="wx.lib.pubsub.core.topictreetraverser.ITopicTreeVisitor.html" title="Derive from ITopicTreeVisitor and override one or more of the" alt="" coords="5,5,415,34"/> </map> 
         </p>
      </div>
   </div>
   <script type="text/javascript" src="_static/inheritancetoggle.js"></script>



|


|super_classes| Known Superclasses
==================================

:class:`wx.lib.pubsub.core.topictreetraverser.ITopicTreeVisitor`

|


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

================================================================================ ================================================================================
:meth:`~wx.lib.pubsub.utils.topictreeprinter.TopicTreePrinter.__init__`          Topic tree printer will print listeners for each topic only
:meth:`~wx.lib.pubsub.utils.topictreeprinter.TopicTreePrinter.getOutput`         
================================================================================ ================================================================================


|


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


.. class:: TopicTreePrinter(ITopicTreeVisitor)

   Example topic tree visitor that prints a prettified representation
   of topic tree by doing a depth-first traversal of topic tree and
   print information at each (topic) node of tree. Extra info to be
   printed is specified via the 'extra' kwarg. Its value must be a
   list of characters, the order determines output order:
   - D: print description of topic
   - a: print kwarg names only
   - A: print topic kwargs and their description
   - L: print listeners currently subscribed to topic
   
   E.g. TopicTreePrinter(extra='LaDA') would print, for each topic,
   the list of subscribed listeners, the topic's list of kwargs, the
   topic description, and the description for each kwarg,
   
       >>> Topic "delTopic"
          >> Listeners:
             > listener1_2880 (from yourModule)
             > listener2_3450 (from yourModule)
          >> Names of Message arguments:
             > arg1
             > arg2
          >> Description: whenever a topic is deleted
          >> Descriptions of Message arguments:
             > arg1: (required) its description
             > arg2: some other description

   .. method:: __init__(self, extra=None, width=70, indentStep=4, bulletTopic='\\--', bulletTopicItem='|==', bulletTopicArg='-', fileObj=None)

      Topic tree printer will print listeners for each topic only
      if printListeners is True. The width will be used to limit
      the width of text output, while indentStep is the number of
      spaces added each time the text is indented further. The
      three bullet parameters define the strings used for each
      item (topic, topic items, and kwargs). 


   .. method:: getOutput(self)


