Skip to content

Commit

Permalink
fix radio events
Browse files Browse the repository at this point in the history
  • Loading branch information
tlambert03 committed Mar 21, 2021
1 parent 260f63e commit 965cbf4
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 4 deletions.
7 changes: 3 additions & 4 deletions magicgui/backends/_qtpy/widgets.py
Original file line number Diff line number Diff line change
Expand Up @@ -551,10 +551,9 @@ def __init__(self):
self._mgui_set_orientation("vertical")
self._btn_group.buttonToggled.connect(self._emit_data)

def _emit_data(self, btn):
data = self._mgui_get_value()
if data is not None:
self._event_filter.valueChanged.emit(data)
def _emit_data(self, btn, checked):
if checked:
self._event_filter.valueChanged.emit(self._mgui_get_value())

def _mgui_bind_change_callback(self, callback):
self._event_filter.valueChanged.connect(callback)
Expand Down
5 changes: 5 additions & 0 deletions tests/test_widgets.py
Original file line number Diff line number Diff line change
Expand Up @@ -541,10 +541,15 @@ def test_categorical_widgets(Cls):
value=1,
choices=[("first option", 1), ("second option", 2), ("third option", 3)],
)

wdg.changed = MagicMock(wraps=wdg.changed)
assert isinstance(wdg, widgets._bases.CategoricalWidget)
assert wdg.value == 1
assert wdg.current_choice == "first option"
wdg.changed.assert_not_called()
wdg.value = 2
wdg.changed.assert_called_once()
assert wdg.changed.call_args[1].get("value") == 2
assert wdg.value == 2
assert wdg.current_choice == "second option"
assert wdg.choices == (1, 2, 3)
Expand Down

0 comments on commit 965cbf4

Please sign in to comment.