def connect(self, signal, slot, transform=None, condition=None):
if not signal in self.signals:<EOL><INDENT>print("<STR_LIT>".format(self.__class__.__name__,<EOL>str(signal)))<EOL>return<EOL><DEDENT>if not hasattr(self, '<STR_LIT>'):<EOL><INDENT>self.connections = {}<EOL><DEDENT>connection = self.connections.setdefault(signal, {})<EOL>connection = connection.setdefault(condition, {})<EOL>connection[slot] = transform<EOL>
Defines a connection between this objects signal and another objects slot

           signal: the signal this class will emit, to cause the slot method to be called
           receiver: the object containing the slot method to be called
           slot: the slot method to call
           transform: an optional value override to pass into the slot method as the first variable
           condition: only call the slot if the value emitted matches the required value or calling required returns True