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

.. highlight:: python



.. _wx.lib.pubsub.utils.notification.NotifyByPubsubMessage:

==========================================================================================================================================
|phoenix_title|  **wx.lib.pubsub.utils.notification.NotifyByPubsubMessage**
==========================================================================================================================================

Handle pubsub notification messages by generating
messages of a 'pubsub.' subtopic. Also provides
an example of how to create a notification handler.  

Use it by calling::

    import pubsub.utils
    pubsub.utils.useNotifyByPubsubMessage()
    ...
    pub.setNotificationFlags(...) # optional
    
E.g. whenever a listener is unsubscribed, a 'pubsub.unsubscribe'
message is generated. If you have subscribed a listener of 
this topic, your listener will be notified of what listener 
unsubscribed from what topic. 



|

|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>NotifyByPubsubMessage</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.notification.NotifyByPubsubMessage_inheritance.png" alt="Inheritance diagram of NotifyByPubsubMessage" 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.notification.NotifyByPubsubMessage.html" title="wx.lib.pubsub.utils.notification.NotifyByPubsubMessage" alt="" coords="5,83,392,112"/> <area shape="rect" id="node2" href="wx.lib.pubsub.core.notificationmgr.INotificationHandler.html" title="wx.lib.pubsub.core.notificationmgr.INotificationHandler" alt="" coords="9,5,389,35"/> </map> 
   </p>
   </div>

|


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

:class:`wx.lib.pubsub.core.notificationmgr.INotificationHandler`

|


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

======================================================================================== ================================================================================
:meth:`~wx.lib.pubsub.utils.notification.NotifyByPubsubMessage.__init__`                 Initialize self.  See help(type(self)) for accurate signature.
:meth:`~wx.lib.pubsub.utils.notification.NotifyByPubsubMessage.createNotificationTopics` Create the notification topics. The root of the topics created
:meth:`~wx.lib.pubsub.utils.notification.NotifyByPubsubMessage.notifyDeadListener`       Called when a listener has been garbage collected.
:meth:`~wx.lib.pubsub.utils.notification.NotifyByPubsubMessage.notifyDelTopic`           Called whenever a topic is removed from topic tree.
:meth:`~wx.lib.pubsub.utils.notification.NotifyByPubsubMessage.notifyNewTopic`           Called whenever a new topic is added to the topic tree.
:meth:`~wx.lib.pubsub.utils.notification.NotifyByPubsubMessage.notifySend`               Stage must be 'pre' or 'post'. Note that any pubsub sendMessage
:meth:`~wx.lib.pubsub.utils.notification.NotifyByPubsubMessage.notifySubscribe`          Called when a listener is subscribed to a topic.
:meth:`~wx.lib.pubsub.utils.notification.NotifyByPubsubMessage.notifyUnsubscribe`        Called when a listener is unsubscribed from given topic.
======================================================================================== ================================================================================


|


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


.. class:: NotifyByPubsubMessage(INotificationHandler)

   Handle pubsub notification messages by generating
   messages of a 'pubsub.' subtopic. Also provides
   an example of how to create a notification handler.  
   
   Use it by calling::
   
       import pubsub.utils
       pubsub.utils.useNotifyByPubsubMessage()
       ...
       pub.setNotificationFlags(...) # optional
       
   E.g. whenever a listener is unsubscribed, a 'pubsub.unsubscribe'
   message is generated. If you have subscribed a listener of 
   this topic, your listener will be notified of what listener 
   unsubscribed from what topic. 

   .. method:: __init__(self, topicMgr=None)

      Initialize self.  See help(type(self)) for accurate signature.


   .. method:: createNotificationTopics(self, topicMgr)

      Create the notification topics. The root of the topics created
      is self.topicRoot. The topicMgr is (usually) pub.topicMgr.


   .. method:: notifyDeadListener(self, pubListener, topicObj)

      Called when a listener has been garbage collected.
      :param pubListener: the pubsub.core.Listener that wraps GC'd listener.
      :param topicObj: the pubsub.core.Topic object it was subscribed to.


   .. method:: notifyDelTopic(self, topicName)

      Called whenever a topic is removed from topic tree.
      :param topicName: name of topic removed.


   .. method:: notifyNewTopic(self, topicObj, desc, required, argsDocs)

      Called whenever a new topic is added to the topic tree.
      :param topicObj: the Topic object for the message.
      :param description: docstring for the topic.
      :param required: list of message data names (keys in argsDocs) that are required.
      :param argsDocs: dictionary of all message data names, with the 
      corresponding docstring. 


   .. method:: notifySend(self, stage, topicObj, pubListener=None)

      Stage must be 'pre' or 'post'. Note that any pubsub sendMessage
      operation resulting from this notification (which sends a message; 
      listener could handle by sending another message!) will NOT themselves
      lead to a send notification. 


   .. method:: notifySubscribe(self, pubListener, topicObj, newSub)

      Called when a listener is subscribed to a topic.
      :param pubListener: the pubsub.core.Listener that wraps subscribed listener.
      :param topicObj: the pubsub.core.Topic object subscribed to.
      :param newSub: false if pubListener was already subscribed. 


   .. method:: notifyUnsubscribe(self, pubListener, topicObj)

      Called when a listener is unsubscribed from given topic.
      :param pubListener: the pubsub.core.Listener that wraps unsubscribed listener.
      :param topicObj: the pubsub.core.Topic object unsubscribed from.


