Mercurial > code > home > repos > light9
view Op.py @ 143:79aabb5db3ce
new subs from today's show
author | drewp |
---|---|
date | Sun, 15 Jun 2003 15:20:53 +0000 |
parents | 45b12307c695 |
children |
line wrap: on
line source
"""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)