Example #1
0
def on_change(instance, traits, function, weak=None):
    """
    Register a listener to an object.
    
    :param traits: either a `string`, `traity.events.listenable`, or a tuple of strings and listenables.  
    :param function: function to call when event with target `target` is triggered. 
    :param instance: The object to listen to events for.
    """
    target = concat_targets(traits, "changed")
    events(instance).listen(target, function, weak=weak)
Example #2
0
def on_change(instance, traits, function, weak=None):
    '''
    Register a listener to an object.
    
    :param traits: either a `string`, `traity.events.listenable`, or a tuple of strings and listenables.  
    :param function: function to call when event with target `target` is triggered. 
    :param instance: The object to listen to events for.
    '''
    target = concat_targets(traits, 'changed')
    events(instance).listen(target, function, weak=weak)
Example #3
0
    def test_concat_targets(self):
        self.assertEqual(concat_targets('a', 'b'), ('a', 'b'))
        self.assertEqual(concat_targets(('a',), 'b'), ('a', 'b'))
        self.assertEqual(concat_targets('a', ('b',)), ('a', 'b'))

        self.assertEqual(concat_targets(('a', 'b'), None), ('a', 'b'))
        self.assertEqual(concat_targets(None, ('a', 'b')), ('a', 'b'))

        self.assertEqual(concat_targets(('c'), ('a', 'b')), ('c', 'a', 'b'))
        self.assertEqual(concat_targets(('c','a'), ('b')), ('c', 'a', 'b'))

        self.assertEqual(concat_targets(None, None), None)
Example #4
0
def on_trait_change(traits):
    """
    Statically Register a listener to a class::
    
        @on_trait_change('attr')
        def attr_changed(self, event):
            print 'hello!'
    
    .
    """

    target = concat_targets(traits, "changed")

    def decorator(func):
        if not isinstance(func, StaticListener):
            func = StaticListener(func)

        func.add_listener(target, func.function)

        return func

    return decorator
Example #5
0
def on_trait_change(traits):
    '''
    Statically Register a listener to a class::
    
        @on_trait_change('attr')
        def attr_changed(self, event):
            print 'hello!'
    
    .
    '''

    target = concat_targets(traits, 'changed')

    def decorator(func):
        if not isinstance(func, StaticListener):
            func = StaticListener(func)

        func.add_listener(target, func.function)

        return func

    return decorator
Example #6
0
 def decorator(listener):
     target = concat_targets(self.target, "error")
     self.add_listener(target, listener)
     return listener
Example #7
0
 def decorator(listener):
     target = concat_targets(self.target, 'error')
     self.add_listener(target, listener)
     return listener