Mercurial > code > home > repos > light9
comparison Op.py @ 0:45b12307c695
Initial revision
author | drewp |
---|---|
date | Wed, 03 Jul 2002 09:37:57 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:45b12307c695 |
---|---|
1 """each node type has an Op within it""" | |
2 | |
3 class Op: | |
4 """nodes can have several versions of their operation function. | |
5 | |
6 ops don't return anything! | |
7 """ | |
8 def __init__(self): | |
9 """This should not be overridden without being called.""" | |
10 pass | |
11 | |
12 def inputschanged(self, input, output, stateaccess): | |
13 """If you only define one op function body, make it this one. """ | |
14 pass | |
15 | |
16 def created(self, input, output, stateaccess): | |
17 """This is called one time when the node is newly created. It's | |
18 not called when the node instance is pickled/unpickled. Use this | |
19 version to initialize state.""" | |
20 # an extra call to changed() should help the outputs get set | |
21 # correctly before any real inputs-changed events come around | |
22 # (assuming this method doesn't get overridden with a | |
23 # specialized version) | |
24 self.inputschanged(input, output, stateaccess) | |
25 | |
26 def statechanged(self, input, output, stateaccess): | |
27 '''State might have been changed by a user dragging a parameter or by | |
28 a state being hcanged otherwise.''' | |
29 self.inputschanged(input, output, stateaccess) | |
30 | |
31 def clocked(self, input, output, stateaccess): | |
32 self.inputschanged(input, output, stateaccess) |