File: wx.lib.pubsub.utils.notification.NotifyByPubsubMessage.txt

package info (click to toggle)
wxpython4.0 4.2.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 232,540 kB
  • sloc: cpp: 958,937; python: 233,059; ansic: 150,441; makefile: 51,662; sh: 8,687; perl: 1,563; javascript: 584; php: 326; xml: 200
file content (168 lines) | stat: -rw-r--r-- 7,025 bytes parent folder | download
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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
.. 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.