0001"""Signal class.
0002
0003This class is provided as a way to consistently define and document
0004signal types. Signal classes also have a useful string
0005representation.
0006
0007Louie does not require you to use a subclass of Signal for signals.
0008"""
0009
0010
0011class _SIGNAL(type):
0012 """Base metaclass for signal classes."""
0013
0014 def __str__(cls):
0015 return '<Signal: %s>' % (cls.__name__, )
0016
0017
0018class Signal(object):
0019
0020 __metaclass__ = _SIGNAL
0021
0022
0023class All(Signal):
0024 """Used to represent 'all signals'.
0025
0026 The All class can be used with connect, disconnect, send, or
0027 sendExact to denote that the signal should react to all signals,
0028 not just a particular signal.
0029 """