@@ -34,15 +34,15 @@ class AutoNode(BaseNode, QtCore.QObject):
3434 def __init__ (self , defaultInputType = None , defaultOutputType = None ):
3535 super (AutoNode , self ).__init__ ()
3636 QtCore .QObject .__init__ (self )
37- self .needCook = True
38- self ._autoCook = True
37+ self ._needCook = True
3938 self ._error = False
4039 self .matchTypes = [['float' , 'int' ]]
4140 self .errorColor = (200 , 50 , 50 )
4241 self .stopCookColor = (200 , 200 , 200 )
4342 self ._cryptoColors = CryptoColors ()
4443
45- self .defaultColor = self .get_property ("color" )
44+ self .create_property ('autoCook' , True )
45+ self .create_property ('default_color' , self .get_property ('color' ))
4646 self .defaultValue = None
4747 self .defaultInputType = defaultInputType
4848 self .defaultOutputType = defaultOutputType
@@ -56,7 +56,7 @@ def autoCook(self):
5656 Returns whether the node can update stream automatically.
5757 """
5858
59- return self ._autoCook
59+ return self .get_property ( 'autoCook' )
6060
6161 @autoCook .setter
6262 def autoCook (self , mode ):
@@ -67,14 +67,15 @@ def autoCook(self, mode):
6767 mode(bool).
6868 """
6969
70- if mode is self ._autoCook :
70+ if mode is self .autoCook :
7171 return
7272
73- self ._autoCook = mode
73+ self .model . set_property ( 'autoCook' , mode )
7474 if mode :
75- self .set_property ('color' , self .defaultColor )
75+ self .set_property ('color' , self .get_property ( 'default_color' ) )
7676 else :
77- self .defaultColor = self .get_property ("color" )
77+ if not self .error ():
78+ self .model .set_property ('default_color' , self .get_property ('color' ))
7879 self .set_property ('color' , self .stopCookColor )
7980
8081 @property
@@ -86,15 +87,15 @@ def cookTime(self):
8687 return self ._cookTime
8788
8889 @autoCook .setter
89- def cookTime (self , time ):
90+ def cookTime (self , cook_time ):
9091 """
9192 Set the last cooked time of the node.
9293
9394 Args:
94- time (float).
95+ cook_time (float).
9596 """
9697
97- self ._cookTime = time
98+ self ._cookTime = cook_time
9899 self ._update_tool_tip ()
99100
100101 def update_stream (self , forceCook = False ):
@@ -106,7 +107,7 @@ def update_stream(self, forceCook=False):
106107 """
107108
108109 if not forceCook :
109- if not self ._autoCook or not self .needCook :
110+ if not self .autoCook or not self ._needCook :
110111 return
111112 if self .graph is not None and not self .graph .auto_update :
112113 return
@@ -155,16 +156,16 @@ def when_disabled(self):
155156
156157 num = max (0 , len (self .input_ports ())- 1 )
157158 for index , out_port in enumerate (self .output_ports ()):
158- self .set_property (out_port .name (), self .getInputData (min (index , num )))
159+ self .model . set_property (out_port .name (), self .getInputData (min (index , num )))
159160
160161 def cook (self ):
161162 """
162163 The entry of the node evaluation.
163164 Most time we need to call this method instead of AutoNode.run'.
164165 """
165166
166- _tmp = self ._autoCook
167- self ._autoCook = False
167+ _tmp = self .autoCook
168+ self .model . set_property ( 'autoCook' , False )
168169
169170 if self .error ():
170171 self ._close_error ()
@@ -175,7 +176,7 @@ def cook(self):
175176 except :
176177 self .error (traceback .format_exc ())
177178
178- self ._autoCook = _tmp
179+ self .model . set_property ( 'autoCook' , _tmp )
179180
180181 if self .error ():
181182 return
@@ -195,12 +196,12 @@ def on_input_connected(self, to_port, from_port):
195196 if self .checkPortType (to_port , from_port ):
196197 self .update_stream ()
197198 else :
198- self .needCook = False
199+ self ._needCook = False
199200 to_port .disconnect_from (from_port )
200201
201202 def on_input_disconnected (self , to_port , from_port ):
202- if not self .needCook :
203- self .needCook = True
203+ if not self ._needCook :
204+ self ._needCook = True
204205 return
205206 self .update_stream ()
206207
@@ -294,21 +295,15 @@ def add_output(self, name='output', data_type='None', multi_output=True, display
294295
295296 def set_disabled (self , mode = False ):
296297 super (AutoNode , self ).set_disabled (mode )
297- self ._autoCook = not mode
298- if mode :
299- self .when_disabled ()
300- if self .graph is None or self .graph .auto_update :
301- self .update_stream ()
302- else :
303- self .update_stream ()
298+ self .update_stream ()
304299
305300 def _close_error (self ):
306301 """
307302 Close the node error.
308303 """
309304
310305 self ._error = False
311- self .set_property ('color' , self .defaultColor )
306+ self .set_property ('color' , self .get_property ( 'default_color' ) )
312307 self ._update_tool_tip ()
313308
314309 def _show_error (self , message ):
@@ -321,7 +316,7 @@ def _show_error(self, message):
321316 """
322317
323318 if not self ._error :
324- self .defaultColor = self .get_property (" color" )
319+ self .model . set_property ( 'default_color' , self .get_property (' color' ) )
325320
326321 self ._error = True
327322 self .set_property ('color' , self .errorColor )
@@ -371,8 +366,4 @@ def error(self, message=None):
371366
372367 self ._show_error (message )
373368
374- def update_model (self ):
375- if self .error ():
376- self .set_property ('color' , self .defaultColor )
377- super (AutoNode , self ).update_model ()
378369
0 commit comments