@@ -35,7 +35,7 @@ class MethodDesc(NamedTuple):
3535
3636DefaultKey = ""
3737DefaultId = 99
38-
38+ BackCompatClass = object ()
3939
4040Continuize = SimpleNamespace (
4141 Default = DefaultId ,
@@ -460,7 +460,7 @@ def _on_radio_clicked(self, method_id: int):
460460
461461 @Inputs .data
462462 @check_sql_input
463- def setData (self , data ):
463+ def set_data (self , data ):
464464 self .data = data
465465 self ._var_cache .clear ()
466466 domain = data .domain if data else None
@@ -473,6 +473,14 @@ def setData(self, data):
473473
474474 def _set_hints (self ):
475475 assert self .data
476+
477+ # Backward compatibility for settings < 3
478+ class_treatment = self .disc_var_hints .get (BackCompatClass , None )
479+ if class_treatment is not None \
480+ and self .data .domain .class_var is not None :
481+ self .disc_var_hints [self .data .domain .class_var .name ] \
482+ = class_treatment
483+
476484 for hints , model , options in (
477485 (self .cont_var_hints , self .cont_view .model (), ContinuousOptions ),
478486 (self .disc_var_hints , self .disc_view .model (), DiscreteOptions )):
@@ -728,6 +736,9 @@ def migrate_settings(cls, settings, version):
728736 settings ["disc_var_hints" ] = \
729737 {DefaultKey :
730738 settings .pop ("multinomial_treatment" , Continuize .FirstAsBase )}
739+ class_treatment = settings .pop ("class_treatment" , Continuize .Leave )
740+ if class_treatment != Continuize .Leave :
741+ settings ["disc_var_hints" ][BackCompatClass ] = class_treatment
731742
732743
733744# Backward compatibility for unpickling settings
0 commit comments