diff --git a/Orange/widgets/visualize/owscatterplot.py b/Orange/widgets/visualize/owscatterplot.py index 7a88a8d993e..0a29ee556fd 100644 --- a/Orange/widgets/visualize/owscatterplot.py +++ b/Orange/widgets/visualize/owscatterplot.py @@ -425,7 +425,7 @@ def update_graph(self, reset_view=True, **_): self.graph.update_data(self.attr_x, self.attr_y, reset_view) def selection_changed(self): - self.send_data() + self.commit() def send_data(self): selected = None diff --git a/Orange/widgets/visualize/tests/test_owscatterplot.py b/Orange/widgets/visualize/tests/test_owscatterplot.py index 0fc3564bb80..895949c3c79 100644 --- a/Orange/widgets/visualize/tests/test_owscatterplot.py +++ b/Orange/widgets/visualize/tests/test_owscatterplot.py @@ -339,6 +339,21 @@ def test_vizrank(self): states = [state for state in vizrank.iterate_states(None)] self.assertIsNotNone(vizrank.compute_score(states[0])) + def test_auto_send_selection(self): + """ + Scatter Plot automatically sends selection only when the checkbox Send automatically + is checked. + GH-2649 + GH-2646 + """ + data = Table("iris") + self.send_signal(self.widget.Inputs.data, data) + self.widget.controls.auto_send_selection.setChecked(False) + self.assertEqual(False, self.widget.controls.auto_send_selection.isChecked()) + self._select_data() + self.assertIsNone(self.get_output(self.widget.Outputs.selected_data)) + self.widget.controls.auto_send_selection.setChecked(True) + self.assertIsInstance(self.get_output(self.widget.Outputs.selected_data), Table) if __name__ == "__main__":