Skip to content

Commit

Permalink
fix test_widget_disabled_when_quib_deleted
Browse files Browse the repository at this point in the history
  • Loading branch information
rkishony committed Jan 13, 2025
1 parent 80c9ac7 commit 7363760
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 4 deletions.
11 changes: 9 additions & 2 deletions pyquibbler/pyquibbler/ipywidget_viewer/quib_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,7 @@ def _refresh_save_load_button_disable_state(self):
def refresh(self):
self._refresh_assignments()
self._refresh_save_load_button_disable_state()
self.refresh_name()

def _on_delete_assignment(self, assignment_index: int):
if assignment_index >= len(self.quib.handler.overrider):
Expand Down Expand Up @@ -222,7 +223,7 @@ def build_widget(self):

self._main_box = widgets.VBox([])

self._name_label = widgets.Label(value=self.quib.get_quiby_name(as_repr=True))
self._name_label = widgets.Label("")

self._props_button = _create_button(label='Props', callback=self.show_quib_properties_as_pop_up,
tooltip="Show quib's properties")
Expand All @@ -235,7 +236,13 @@ def build_widget(self):
tooltip="Show list of overriding assignments")
self._assignments_button.value = True
else:
self._refresh_items_in_widget()
self._assignments_button = None

self._refresh_items_in_widget()
self.refresh()

def refresh_name(self):
self._name_label.value = self.quib.pretty_repr

def _refresh_items_in_widget(self):
buttons = widgets.HBox(
Expand Down
3 changes: 2 additions & 1 deletion pyquibbler/pyquibbler/quib/quib.py
Original file line number Diff line number Diff line change
Expand Up @@ -590,6 +590,8 @@ def on_name_change(self, assigned_name_changed: bool = True):
from pyquibbler.function_overriding.quib_overrides.quib_methods import ORIGINAL_GET_QUIBY_NAME

has_name_changed = assigned_name_changed or self.assigned_name is None
if self._widget:
self._widget.refresh_name()
for child in self.children:
if child.handler.func_args_kwargs.func is ORIGINAL_GET_QUIBY_NAME:
child.handler.invalidate_self([])
Expand All @@ -614,7 +616,6 @@ def display_widget(self):
from pyquibbler.ipywidget_viewer.quib_widget import QuibWidget
widget = QuibWidget(self._quib_ref)
widget.build_widget()
widget.refresh()
self._widget = widget

display(self._widget.get_widget())
Expand Down
1 change: 0 additions & 1 deletion tests/functional/quib/quib_widget/test_quib_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@ def test_widget_names_refresh_when_quib_name_changes(quib, quib_widget, child, c
assert child_widget._name_label.value == 'child = new_quib + 2'


@pytest.mark.skip
def test_widget_disabled_when_quib_deleted():
a = iquib(1)
a._repr_html_()
Expand Down

0 comments on commit 7363760

Please sign in to comment.