From 779379355cb6838a62dcc1eceb94fc8aefb9fe74 Mon Sep 17 00:00:00 2001 From: Krzysztof Klapyta <33362868+krystofair@users.noreply.github.com> Date: Fri, 18 Sep 2026 10:04:05 +0200 Subject: [PATCH] Use API to make row selection in disjunction mode. This API was already there, but not used. Add setting for it in widget and attach to callback `conditions_changed`. Set it as True by default as it was on the beginnig. --- Orange/widgets/data/owselectrows.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Orange/widgets/data/owselectrows.py b/Orange/widgets/data/owselectrows.py index a5f28c48f14..1f9aa6f29ff 100644 --- a/Orange/widgets/data/owselectrows.py +++ b/Orange/widgets/data/owselectrows.py @@ -153,6 +153,7 @@ class Outputs: purge_attributes = Setting(False, schema_only=True) purge_classes = Setting(False, schema_only=True) auto_commit = Setting(True) + cond_mode_conjunction = Setting(True) settings_version = 2 @@ -250,6 +251,9 @@ def __init__(self): gui.rubber(box2) box_setting = gui.vBox(self.buttonsArea) + gui.checkBox(box_setting, self, "cond_mode_conjunction", + "Conjunction mode", + callback=self.conditions_changed) self.cb_pa = gui.checkBox( box_setting, self, "purge_attributes", "Remove unused values and constant features", @@ -651,7 +655,8 @@ def commit(self): conditions.append(filt) if conditions: - filters = data_filter.Values(conditions) + filters = data_filter.Values( + conditions, conjunction=self.cond_mode_conjunction) matching_output = filters(self.data) filters.negate = True non_matching_output = filters(self.data)