Files @ 001646cd5349
Branch filter:

Location: light9/Op.py

drewp
all mousewheel events everywhere will now pass up the tree to be caught by
all mousewheel events everywhere will now pass up the tree to be caught by
higher widgets. if things get slow, this might be the problem
"""each node type has an Op within it"""

class Op:
    """nodes can have several versions of their operation function.

    ops don't return anything! 
    """
    def __init__(self):
        """This should not be overridden without being called."""
        pass

    def inputschanged(self, input, output, stateaccess):
        """If you only define one op function body, make it this one. """
        pass
    
    def created(self, input, output, stateaccess):
        """This is called one time when the node is newly created. It's
        not called when the node instance is pickled/unpickled. Use this
        version to initialize state."""
        # an extra call to changed() should help the outputs get set
        # correctly before any real inputs-changed events come around
        # (assuming this method doesn't get overridden with a
        # specialized version)
        self.inputschanged(input, output, stateaccess)        

    def statechanged(self, input, output, stateaccess):
        '''State might have been changed by a user dragging a parameter or by
        a state being hcanged otherwise.'''
        self.inputschanged(input, output, stateaccess)        

    def clocked(self, input, output, stateaccess):
        self.inputschanged(input, output, stateaccess)