@@ -158,7 +158,6 @@ def __init__(self):
158158 #: Input data table
159159 self .signal_data = None
160160
161- self .__invalidated = True
162161 self .embedding = None
163162 self .effective_matrix = None
164163
@@ -243,7 +242,7 @@ def clear(self):
243242 def _initialize (self ):
244243 matrix_existed = self .effective_matrix is not None
245244 effective_matrix = self .effective_matrix
246- self .__invalidated = True
245+ self ._invalidated = True
247246 self .data = None
248247 self .effective_matrix = None
249248 self .closeContext ()
@@ -285,11 +284,11 @@ def _initialize(self):
285284
286285 self .init_attr_values ()
287286 self .openContext (self .data )
288- self .__invalidated = not (matrix_existed and
289- self .effective_matrix is not None and
290- np .array_equal (effective_matrix ,
291- self .effective_matrix ))
292- if self .__invalidated :
287+ self ._invalidated = not (matrix_existed and
288+ self .effective_matrix is not None and
289+ np .array_equal (effective_matrix ,
290+ self .effective_matrix ))
291+ if self ._invalidated :
293292 self .clear ()
294293 self .graph .set_effective_matrix (self .effective_matrix )
295294
@@ -444,12 +443,15 @@ def __next_step(self):
444443
445444 def do_PCA (self ):
446445 self .__invalidate_embedding (self .PCA )
446+ self .setup_plot ()
447447
448448 def do_random (self ):
449449 self .__invalidate_embedding (self .Random )
450+ self .setup_plot ()
450451
451452 def do_jitter (self ):
452453 self .__invalidate_embedding (self .Jitter )
454+ self .setup_plot ()
453455
454456 def __invalidate_embedding (self , initialization = PCA ):
455457 def jitter_coord (part ):
@@ -476,8 +478,6 @@ def jitter_coord(part):
476478 jitter_coord (self .embedding [:, 0 ])
477479 jitter_coord (self .embedding [:, 1 ])
478480
479- self .setup_plot ()
480-
481481 # restart the optimization if it was interrupted.
482482 if state == OWMDS .Running :
483483 self .__start ()
@@ -496,15 +496,12 @@ def __invalidate_refresh(self):
496496
497497 def handleNewSignals (self ):
498498 self ._initialize ()
499- if self .__invalidated :
499+ if self ._invalidated :
500500 self .graph .pause_drawing_pairs ()
501- self .__invalidated = False
502501 self .__invalidate_embedding ()
503- self .cb_class_density . setEnabled ( self . can_draw_density () )
502+ self .enable_controls ( )
504503 self .start ()
505- else :
506- self .graph .update_point_props ()
507- self .commit ()
504+ super ().handleNewSignals ()
508505
509506 def _invalidate_output (self ):
510507 self .commit ()
0 commit comments