Skip to content

Commit 463369a

Browse files
committed
Improve the flow of several learning widgets
1 parent a08cf60 commit 463369a

File tree

4 files changed

+9
-9
lines changed

4 files changed

+9
-9
lines changed

Orange/widgets/model/owadaboost.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,7 @@ def set_base_learner(self, learner):
102102
self.base_estimator = learner or self.DEFAULT_BASE_ESTIMATOR
103103
self.base_label.setText(
104104
"Base estimator: %s" % self.base_estimator.name.title())
105-
if self.auto_apply:
106-
self.apply()
105+
self.learner = self.model = None
107106

108107
def get_learner_parameters(self):
109108
return (("Base estimator", self.base_estimator),

Orange/widgets/model/owcalibratedlearner.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ def add_main_layout(self):
6262
def set_learner(self, learner):
6363
self.base_learner = learner
6464
self._set_default_name()
65-
self.unconditional_apply()
65+
self.learner = self.model = None
6666

6767
def _set_default_name(self):
6868

Orange/widgets/model/owlinearregression.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,6 @@ def add_main_layout(self):
9494
self.controls.alpha_index.setEnabled(self.reg_type != self.OLS)
9595
self.l2_ratio_slider.setEnabled(self.reg_type == self.Elastic)
9696

97-
def handleNewSignals(self):
98-
self.apply()
99-
10097
def _intercept_changed(self):
10198
self.apply()
10299

Orange/widgets/model/owstack.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,22 +33,26 @@ def add_main_layout(self):
3333
@Inputs.learners
3434
def set_learner(self, index: int, learner: Learner):
3535
self.learners[index] = learner
36+
self._invalidate()
3637

3738
@Inputs.learners.insert
3839
def insert_learner(self, index, learner):
3940
self.learners.insert(index, learner)
41+
self._invalidate()
4042

4143
@Inputs.learners.remove
4244
def remove_learner(self, index):
4345
self.learners.pop(index)
46+
self._invalidate()
4447

4548
@Inputs.aggregate
4649
def set_aggregate(self, aggregate):
4750
self.aggregate = aggregate
51+
self._invalidate()
4852

49-
def handleNewSignals(self):
50-
super().handleNewSignals()
51-
self.apply()
53+
def _invalidate(self):
54+
self.learner = self.model = None
55+
# ... and handleNewSignals will do the rest
5256

5357
def create_learner(self):
5458
if not self.learners:

0 commit comments

Comments
 (0)