.. 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.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 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>TopicTreePrinter</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.utils.topictreeprinter.TopicTreePrinter_inheritance.png" alt="Inheritance diagram of TopicTreePrinter" 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.utils.topictreeprinter.TopicTreePrinter.html" title="wx.lib.pubsub.utils.topictreeprinter.TopicTreePrinter" alt="" coords="15,83,370,112"/> <area shape="rect" id="node2" href="wx.lib.pubsub.core.topictreetraverser.ITopicTreeVisitor.html" title="wx.lib.pubsub.core.topictreetraverser.ITopicTreeVisitor" alt="" coords="5,5,380,35"/> </map> 
   </p>
   </div>

|


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


