You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

24 lines
504 B

import wx
from collections import defaultdict
__ALL__ = ['pub']
class PubSub(object):
'''
A super simplified clone of Wx.lib.pubsub since it doesn't exist on linux
'''
def __init__(self):
self.registry = defaultdict(list)
def subscribe(self, event, handler):
self.registry[event].append(handler)
def send_message(self, event, **kwargs):
for event_handler in self.registry.get(event, []):
wx.CallAfter(event_handler, **kwargs)
pub = PubSub()